AWS ECS에서 Django를 이동합시다.
웹 시스템을 만든 적은 있지만 웹 프레임 워크를 만지지 않은 자신도 알기 쉽고 좋은 튜토리얼이었습니다.
이야기는 바뀌어 2018년 7월에 AWS Fargate가 도쿄 리전에 나온 영향도 있고,
AWS의 컨테이너 서비스도 다양하게 만져 움직이고 있습니다.
공부가 Django를 Elastic Container Service(ECS)상에서 움직이는 환경을 구축했습니다.
이번에 구축한 AWS 환경은 CloudFormation(CFn)에서 생성하고 있으며 템플릿은 GitHub에서 게시하고 있습니다.
AWS 구성도
이번에 구축하는 AWS의 구성은 이런 느낌입니다.
Elastic Load Balancer를 이전 단계에 두고 동적 포트 매핑을 활용하여 EC2에서 실행되는 ECS 작업에 액세스할 수 있습니다.
Elastic Container Repository(ECR) 만들기
CFn 템플릿( cloudformation/template-for-ecr.yml )을 사용하여 CFn 스택을 생성하여 ECR을 빌드합니다.
CFn 동작이 완료된 후 ECR에 대한 push 명령이 출력됩니다.
AWS의 기본 프로파일을 환경 변수로 설정한 후 ECR 푸시 명령을 실행하여 ECR에 Docker 이미지를 구축할 수 있습니다.
$ export AWS_DEFAULT_PROFILE=<<YOUR PROFILE>>
$ <<PushCommandsForEcrをコピー&ペーストして実行>>
Elastic Container Service(ECS) 만들기
CFn 템플릿( cloudformation/template.yml )을 사용하여 CFn 스택을 생성하여 ECS 외에 필요한 환경을 구축합니다.
CFn 동작 완료 후 ELB URL이 출력됩니다.
URL을 방문하여 장고의 동작을 확인할 수 있습니다.
동작 확인
URL에 액세스하면 장고가 움직이고 있는지 확인할 수 있습니다.
URL 뒤에
admin/
를 추가하여 액세스하면 Django 관리 사이트가 열립니다.사용자 이름과 암호는 다음과 같이 설정합니다.
로그인하고 톱 페이지 오른쪽 상단의
+
버튼을 클릭하면 블로그를 게시할 수 있습니다.게시하면 톱 페이지에 반영되지만 SQLite에서 작동하므로 ECS 작업이 멈추면 게시한 모든 데이터가 사라집니다.
소감
우선 AWS ECS를 사용하여 장고를 이동할 수 있었습니다.
ECS의 개념은 움직여 보지 않으면 모르는 곳이 많다고 느꼈기 때문에, 가시가시 움직여 가고 싶습니다.
프로덕션 운용으로 사용하려면 다음과 같은 것을 아직 생각하지 않으면 안됩니다만, 일단 움직일 수 있는 곳까지 갈 수 있었으므로 만족입니다.
Reference
이 문제에 관하여(AWS ECS에서 Django를 이동합시다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rednes/items/d35d5c74accec97bbddc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)