EC2 Container Service 는 Docker 컨테이너를 지원하는 확장 가능한 컨테이너 관리 서비스에서 Amazon Elastic Compute Cloud (EC2) 인스턴스 클러스터에서 응용 프로그램을 실행시킬 쉽게 할 수 있습니다. 우리는 AWS re : Invent 에서 미리보기를 시작 지금까지 많은 훌륭한 피드백을 받고 왔습니다.
Amazon ECS는 많은 고객에게 Docker를 사용하여 응용 프로그램이나 서비스를 캡슐화하고, 하나 일반적으로 여러 응용 프로그램을 EC2 인스턴스들의 클러스터에서 실행하는 데 클러스터 관리에 고민 싶지 않아 라는 말을 받아 만들어졌습니다. 안정 스케일 있고, 이미 이용하고있는 EC2의 고급 기능의 편리함도 누릴 수 같은 서비스가 고객 요구되고있었습니다.
또한 EC2 인스턴스와 컨테이너의 상태를 포함하는 클러스터 관리는 힘들 것 얻고, 특히 환경이 많아지면 그렇지 경향이라는 이야기도 들었습니다. 예를 들어 어떤 인스턴스를 사용할 수 필요한 용량을 가지고 있는가에 대한 상태 정보를 정확하게 적시에 액세스해야, 그것은 수 처음으로 컨테이너의 위치 결정이 가능합니다. 상태 추적은 인스턴스 및 컨테이너의 수가 수천 또는 수만 증가하면 계속적으로 어려워진 것하고 중요도가 더 더해갑니다.
Amazon ECS는 이러한 모든 요구 이상을 충족 있도록 디자인되어 있습니다. 고객 자신에서 클러스터 관리 기반을 설치하거나 운용하거나 스케일 할 필요가 없습니다. 간단한 API 호출뿐만 컨테이너 된 응용 프로그램을 시작하거나 중지 할 수 있으며, 클러스터의 상태도 알 수 있습니다. Amazon EC2와 다른 AWS 서비스를 함께 사용할 수 있으며,Elastic Load Balancing , EBS 볼륨 , EC2 보안 그룹 이나 IAM 역할 등 유명한 기능의 이점을 살릴 수 있습니다.
또한, 컨테이너의 스케줄링에 몇 가지 선택이 다양한 종류의 어플리케이션을 실행하는 것이나, 컨테이너 나 응용 프로그램이나 서비스의 배치와 활용을 관리 할 수 있습니다.
오늘 일반적 가능하게 도쿄 지역에서도 이용이 가능하게
Amazon ECS가 일반 이용 가능하게 된 것에 대해 언급 할 수 매우 기쁘게 생각합니다. 따라 움직이는 유지 응용 프로그램 지원, 새로운 멋진 Amazon ECS 콘솔, 그리고 CloudTrail과의 연계라는 새로운 몇 가지 강력한 기능도 추가했다. 또한 Amazon ECS가 Asia Pacific (도쿄) 지역에서도 사용할 수 있습니다.
그러면 새로운 기능을 하나씩 살펴 보자.
긴 러닝 어플리케이션
지금까지 Amazon ECS는 클러스터의 Docker 컨테이너 일정에 2 개의 수단을 제공했습니다. 하나는 일괄 작업과 같이 한 번 실행하는 것 같은 것이 끝나면 종료합니다. 다른 하나는 Amazon ECS의 API에서 클러스터 상태 정보를 취득하여 타사 및 사용자 정의 스케줄러에 전달할 수 있습니다.
오늘의 릴리스부터 롱 러닝 애플리케이션과 서비스를 관리하기 위해 새로 Amazon ECS 서비스 스케줄러를 사용할 수 있습니다. 서비스 스케줄러는 애플리케이션 가용성 관리를 도와 주시고 용량의 요구에 맞는 것처럼 컨테이너를 시작하거나 중지하고 확장 할 수 있습니다. 다음이 제공하는 기능 목록입니다 :
- 로드 밸런싱 - 서비스 스케줄러에 의해 Elastic Load Balancing을 사용한 컨테이너를 걸친 트래픽 분산이 가능합니다. Amazon ECS는 관련로드 밸런서에 자동으로 등록 · 해제합니다.
사활 관리 - 서비스 스케줄러는 정상 없게되었다 (ELB의 건강 체크가 실패) 컨테이너를 자동으로 부활하거나 중지합니다. 이를 통해 응용 프로그램을 실행시키기 위해 필요한 지정된 수의 정상적인 컨테이너가 유지되는 것을 보장 해줍니다.
스케일 업과 스케일 다운 - 서비스를 실행하는 컨테이너의 수를 변경하여 응용 프로그램을 확장 시키거나 스케일 다운시킬 수 있습니다.
업데이트 관리 - 응용 프로그램의 정의를 바꾸거나 새로운 이미지를 사용하여 응용 프로그램의 업데이트도 할 수 있습니다. 스케줄러는 새로운 정의에 자동으로 컨테이너 그룹을 시작하고 이전 버전이 움직이고있는 컨테이너를 중지합니다. ELB가 사용되고있는 경우에는 ELB의 연결을 드레인시켜 기다려줍니다.
이러한 새로운 기능을 사용하여 기본적인 서비스 검색을 구현할 수 있습니다. 클러스터에서 움직이고있는 서비스를 나열 할 수 있고, ELB를 서비스 엔드 포인트로 사용할 수 있습니다.
Gilt의 말
온라인 소매를 전개하는 Gilt는 고객에게 오늘의 톱 브랜드와 체험에 대한 내부 정보를 제공합니다. 공동 설립자 인 Phong Nguyen 은 이런 말을주었습니다 :
"우리는 Docker 얼리 어댑터이었습니다 .Docker을 사용함으로써 빠른 개발이 수 마이크로 서비스 아키텍처의 종단 간 지속적인 전달을 개선하고 단순화 할 수있었습니다. 우리의 모든 서비스가 Docker 화되어 있기 때문에 배치를 가속화 서비스를 자동화하고 더 효율을 잘 할 수있는 플랫폼을 갖는 것이 중요합니다. 새로운 서비스 스케줄러와 ELB의 연계를 통해 Amazon ECS이 우리의 서비스에 매우 좋은 플랫폼이며, AWS와 우리의 Docker 플랫폼의 파트너십이 매우 기대됩니다. "
Amazon ECS 콘솔
새로운 Amazon ECS 콘솔에서 클러스터를 설치하거나 이동하는 프로세스를 단순화합니다. 여기에 간단한 PHP 응용 프로그램을 배포하는 서비스를 만드는 절차를 소개합니다. 응용 프로그램은 링크 된 컨테이너에서 전달되는 내용 (메시지 및 시간)를 표시합니다.
우선 콘솔을 열고 사용자 지정 작업 정의 (1 개의 EC2 인스턴스에서 함께 운영하고 컨테이너의 집합)을 만드는 쪽을 선택합니다.
그리고 자신의 작업 정의를 만듭니다. 시각적으로 1 컨테이너 씩 만들어 나갈 수 있습니다.
또는 기존의 JSON 정의를 붙여 넣을 수 있습니다 (이것은 문서의 Docker 기본 섹션 에서 그대로오고있다)
Create a service를 클릭하고 다음 단계에서는 모든 기본값을 사용합니다.
이제 서비스가 정의되어 그것을 움직이기위한 클러스터를 만들 수 있습니다 (이 예에서는 3 개의 t2.micro 인스턴스를 사용합니다). Select / Create Roles 버튼을 사용하여 필요한 IAM 역할을 한 번의 클릭으로 설치합니다.
옵션을 검토하고 의도대로임을 확인한 후 Amazon ECS는 표준 클러스터 EC2 인스턴스를 시작합니다. 진행은 콘솔에서 볼 수 있습니다.
몇 분 안에 모든 것이 시작하므로 이들을 보면 수 있습니다. 소개 클러스터 목록 (지금은 1 만)를 살펴 보자.
더 가까이에서 클러스터를보기 위해 확대 봅니다.
거기에서 서비스를 확인하실 수 있습니다.
필요한 경우 변경할 수 있습니다.
물론 이러한 모든 작업이나 정보 취득은 ECS API 와 Command-Line Interface (CLI)를 통해 할 수 있습니다.
CloudTrail 제휴
ECS API 호출을 AWS CloudTrail 에서 기록되게되었습니다.
또 다른 지역
오늘부터 Amazon ECS는 Asia Pacific (도쿄) 지역에서 사용할 수 있습니다. 다른 방법은 US East (Northern Virginia), US West (Oregon) Europe (Ireland) 지역에서 사용할 수 있습니다.
오늘부터 사용할 수 있습니다
만약 컨테이너 기반의 계산기 나 Amazon ECS가 처음이라면, What is Amazon EC2 Container Service 를 읽는 데서 시작 좋다고 생각합니다.
- Jeff; (번역 : 이와 나가)