Amazon Web Services 한국 블로그

콘테이너를 위한 AWS 플랫폼 기능 추가

콘테이너는 강력한 기능을 제공하지만 관리상에는 도전이 많습니다. 저희 고객 역시 AWS 기반에 마이크로서비스 부터 배치 작업 까지 다양한 클라우드 업무를 위해 콘테이너를 사용하고 있으며, EC2 인스턴사 상 클러스터 관리에 대한 부담과 로드밸런싱 및 확장성, 보안 및 모니터링 등 다양한 요구사항에 대응하기 위해 Amazon EC2 Container Service를 제공하고 있습니다.

Amazon ECS는 고객들이 실제 콘테이너 기반 애플리케이션을 서비스 환경에서 운용 가능하며, 별도의 콘테이너 관리 소프트웨어 없이 서비스로 이용 가능합니다. 클러스터에 필요한 EC2 용량만 추가하고, 콘테이너 이미지만 올리면 Amazon ECS가 나머지 콘테이너 배포, 모니터링, 헬스 체크 등을 알아서 처리합니다. ExpediaRemind 같은 고객사가 ECS를 통해 개발 워크플로와 PaaS 기반의 애플리케이션을 운영하며, PreziShippable 같은 고객 역시 ECS를 통해 콘테이너 운영의 복잡성을 해결하고 애플리케이션 배포에 도움을 받고 있습니다.

Amazon ECS에서는 오늘 공개된 애플리케이션 로드 밸린서, IAM 역할 (7월), and 자동 스케일링 (5월)등의 기능을 추가해서, 콘테이너 관리에 대한 기능 확장을 지속하고 있습니다.

애플리케이션 로드밸런싱
로드밸런싱 및 서비스 디스커버리 서비스는 마이크로 서비스 아키텍처에 필수적입니다. 오늘 제공된 애플리케이션 로드밸런서는 높은 성능을 가진 콘텐츠 기반 라우팅 규칙을 정의할 수 있으며, 콘테이너를 위해 동적 포트 기능을 통해 하나의 로드밸런서로 다중 서비스를 운영할 수 있습니다. 이제 ECS 태스크 정의 시, 동적 포트를 지정하고 이를 ALB에 연동하여 사용할 수 있습니다.

이전에는 ECS 서비스와 로드밸런서가 1:1 맵핑을 해야 했으나 이제 여러개의 서비스를 공유할 수 있게 되었고, 경로 기반의 라우팅을 통해 각 서비스가 각자 URI를 정의하여 트래픽을 분산할 수 있습니다. DNS 명을 환경 변수로 만들면 주식 서비스는 http://example.com/stock로, 날씨 서비스는 http://example.com/weather로 하여 같은 로드밸런서에서 처리 가능합니다.

ECS 태스트에 대한 IAM 역할 지원
Amazon ECS에서 IAM 역할(Role)을 사용할 수 있게 됨에 따라 콘테이너로 부터 API 호출 과정을 단순화 할 수 있습니다. 즉, 여러분의 AWS 크레덴셜(ACCESS ID 및 SECRET KEY) 값을 코드나 설정 화일에 저장하지 않고 보안성을 높일 수 있습니다.

최근 업데이트 된 IAM roles for ECS tasks 기능을 통해 좀 더 안전하게 EC2 콘테이너 인스턴스에 대한 IAM 기반 접근을 가능하게 되었고, 같은 IAM 권한으로 S3나 DynamoDB 테이블 등을 접근할 수도 있습니다.

오토 스케일링 기능 지원
세번째는 서비스 오토 스케일링 지원입니다. Amazon CloudWatch 알림을 통해 ECS 서비스에 대한 확장 정책을 정할 수 있으며, 이를 통해 ECS에 사용되는 EC2 인스턴스를 확장 및 감소할 수 있습니다.

정식 사용 가능
이들 주요 콘테이너 지원 기능들은 현재 Amazon EC2 Container Service가 제공되는 모든 리전에서 오늘 부터 사용 가능합니다.

Jeff;

본 글은 Powerful AWS Platform Features, Now for Containers의 한국어 요약본으로 AWS Summit 뉴욕 행사에서 새로 발표된 소식입니다.