실습 개요
이 실습에서는 Amazon Elastic Container Service를 사용하여 두 가지 지원 API 서비스가 있는 웹사이트로 구성된 간단한 다중 구성 요소 웹 애플리케이션을 호스팅하는 방법을 보여줍니다. 웹사이트에는 명사, 동사 및 형용사에 대한 자리 표시자로 이야기를 작성할 수 있는 양식이 표시됩니다. Submit 버튼을 클릭하면 이야기 텍스트의 모든 자리 표시자를 채우는 데 필요한 단어에 대해 Words API 가 쿼리됩니다. 그런 다음 Save 버튼을 클릭하면 Save API 를 활용하여 생성한 이야기를 Amazon DynamoDB에 보존할 수 있습니다. 이 앱을 Storyizer라고 합니다.
먼저 명령 호스트 에서 웹 애플리케이션의 각 구성 요소에 대해 Docker 컨테이너를 빌드합니다. 그런 다음 ECS 클러스터가 빌드될 때 검색할 수 있도록 Amazon ECR(Elastic Container Repository)로 푸시합니다.
이때 웹 애플리케이션의 세 가지 구성 요소 각각에 대해 정의된 ECS 서비스를 사용하여 ECS 클러스터를 빌드하는 CloudFormation 템플릿을 시작합니다. 각 서비스는 두 개의 실행 중인 작업을 유지하도록 구성됩니다(작업 은 지정된 Docker 컨테이너를 실행하는 정의입니다). 서비스 작업이 비정상 상태가 되는 경우 ECS가 자동으로 새로 시작된 작업으로 이를 대체하므로 가용성이 높은 설계가 됩니다. 또한 ECS는 ALB(Application Load Balancer) 및 각 ECS 태스크를 통해 동적 호스트 포트 매핑을 조정합니다. 이를 통해 포트 충돌 없이 단일 호스트에서 앱 구성 요소의 컨테이너를 둘 이상 실행할 수 있습니다.
다룰 주제
이 실습을 완료하면 다음을 할 수 있게 됩니다.
- Docker 이미지를 빌드하는 데 필요한 단계 이해
- 컨테이너 이미지를 Amazon ECR 리포지토리로 푸시
- 리포지토리에서 Amazon ECS 클러스터에 서비스로 컨테이너를 배포
필수 기술 지식
본 실습에는 다음이 필요합니다.
- Microsoft Windows, Mac OS X 또는 Linux(Ubuntu, SuSE 또는 Red Hat)가 실행되는 Wi-Fi 지원 노트북 사용
- qwikLABS 실습 환경은 iPad 또는 태블릿 디바이스를 사용하여 액세스할 수 없습니다.
- Microsoft Windows 사용자의 경우: 컴퓨터의 관리자 권한
- Chrome, Firefox 또는 IE9 이상 버전과 같은 인터넷 브라우저(IE9 이전 버전은 지원 안 됨)
- Microsoft Windows의 경우 PuTTY와 같은 SSH 클라이언트