Amazon EC2 워크로드용 Amazon ECS 클러스터 생성
Amazon EC2 워크로드용 Amazon ECS 클러스터 생성
클러스터는 태스크와 서비스가 실행되는 인프라를 정의하기 위해 만들어요. 시작하기 전에 Set up to use Amazon ECS의 단계를 완료하고 적절한 IAM 권한을 할당했는지 확인하세요. 자세한 내용은 Amazon ECS cluster examples를 참고하세요. Amazon ECS 콘솔은 CloudFormation 스택을 만들어 Amazon ECS 클러스터에 필요한 리소스를 쉽게 만들 수 있는 방법을 제공해요. 클러스터 생성 과정을 최대한 쉽게 하기 위해 콘솔은 다음 섹션들에서 설명하는 많은 선택 항목에 기본값이 있어요. 콘솔의 대부분 섹션에는 추가 맥락을 제공하는 도움말 패널도 있어요.
출처: 문서
본문
클러스터를 만들 때 Amazon EC2 인스턴스를 등록하거나, 클러스터를 만든 후 추가 인스턴스를 등록할 수 있어요. 다음 기본 옵션을 수정할 수 있어요.
- 인스턴스가 실행되는 서브넷을 변경합니다.
- 컨테이너 인스턴스로의 트래픽을 제어하는 데 사용되는 보안 그룹을 변경합니다.
- 클러스터에 네임스페이스를 추가합니다. 네임스페이스를 사용하면 클러스터에서 만든 서비스가 추가 구성 없이 네임스페이스의 다른 서비스에 연결될 수 있어요. 자세한 내용은
Interconnect Amazon ECS services를 참고하세요. - 태스크 상태 변경에 대한 EventBridge 알림을 받도록 태스크 이벤트를 활성화합니다.
- 관리형 스토리지에 AWS KMS 키를 할당합니다. 키를 만드는 방법은 AWS Key Management Service User Guide의
Create a KMS key를 참고하세요. - Fargate 임시 스토리지에 AWS KMS 키를 할당합니다. 키를 만드는 방법은 AWS Key Management Service User Guide의
Create a KMS key를 참고하세요. - ECS Exec의 AWS KMS 키와 로깅을 구성합니다.
- 클러스터를 식별하는 데 도움이 되도록 태그를 추가합니다.
Auto Scaling 그룹 옵션
Amazon EC2 인스턴스를 사용할 때는 태스크와 서비스가 실행되는 인프라를 관리할 Auto Scaling 그룹을 지정해야 해요. 새 Auto Scaling 그룹을 만들기로 선택하면 다음 동작으로 자동 구성돼요.
- Amazon ECS가 Auto Scaling 그룹의 scale-in 및 scale-out 작업을 관리해요.
- Amazon ECS는 scale-in 작업 중에 태스크를 포함하고 Auto Scaling 그룹에 있는 Amazon EC2 인스턴스가 종료되는 것을 막지 않아요. 자세한 내용은 AWS Auto Scaling User Guide의
Instance Protection을 참고하세요.
그룹에 실행할 인스턴스의 유형과 수를 결정하는 다음 Auto Scaling 그룹 속성을 구성해요.
- Amazon ECS-optimized AMI.
- 인스턴스 유형.
- 인스턴스에 연결할 때 신원을 증명하는 SSH 키 페어. SSH 키를 만드는 방법은 Amazon EC2 User Guide의
Amazon EC2 key pairs and Linux instances를 참고하세요. - Auto Scaling 그룹에 실행할 최소 인스턴스 수.
- Auto Scaling 그룹에 시작되는 최대 인스턴스 수. 그룹이 스케일 아웃하려면 최대값이 0보다 커야 해요.
Amazon ECS는 CloudFormation 스택의 일부로 사용자를 대신해 Amazon EC2 Auto Scaling launch template과 Auto Scaling 그룹을 만들어요. AMI, 인스턴스 유형, SSH 키 페어에 지정한 값은 launch template의 일부예요. 템플릿은 EC2ContainerService-<ClusterName> 접두사가 붙어 쉽게 식별할 수 있어요. Auto Scaling 그룹에는 <ClusterName>-ECS-Infra-ECSAutoScalingGroup 접두사가 붙어요. Auto Scaling 그룹을 위해 실행된 인스턴스는 launch template을 사용해요.
네트워킹 옵션
기본적으로 인스턴스는 리전의 기본 서브넷에 실행돼요. 서브넷과 현재 연결되어 컨테이너 인스턴스로의 트래픽을 제어하는 보안 그룹이 사용돼요. 인스턴스의 서브넷과 보안 그룹을 변경할 수 있어요.
기존 서브넷을 선택할 수 있어요. 기존 보안 그룹을 사용하거나 새로 만들 수 있어요. IPv6 전용 구성에서 태스크를 만들려면 IPv6 CIDR 블록만 포함하는 서브넷을 사용하세요.
새 보안 그룹을 만들 때는 인바운드 규칙을 하나 이상 지정해야 해요. 인바운드 규칙은 컨테이너 인스턴스에 도달할 수 있는 트래픽을 결정하며 다음 속성을 포함해요.
- 허용할 프로토콜
- 허용할 포트 범위
- 인바운드 트래픽(소스)
- 특정 주소 또는 CIDR 블록의 인바운드 트래픽을 허용하려면 Source에
Custom을 사용하고 허용된 CIDR을 지정합니다. - 모든 대상의 인바운드 트래픽을 허용하려면 Source에
Anywhere를 사용합니다. 이는0.0.0.0/0IPv4 CIDR 블록과::/0IPv6 CIDR 블록을 자동으로 추가해요. - 로컬 컴퓨터의 인바운드 트래픽을 허용하려면 Source에
Source group을 사용합니다. 이는 로컬 컴퓨터의 현재 IP 주소를 허용된 소스로 자동 추가해요.
새 클러스터 생성 (Amazon ECS 콘솔)
시작하기 전에 적절한 IAM 권한을 할당하세요. 자세한 내용은 Amazon ECS cluster examples를 참고하세요.
- 콘솔을 https://console.aws.amazon.com/ecs/v2 에서 엽니다.
- 탐색 모음에서 사용할 리전을 선택합니다.
- 탐색 창에서 Clusters를 선택합니다.
- Clusters 페이지에서 Create cluster를 선택합니다.
- Cluster configuration 아래에서 다음을 구성합니다.
- Cluster name에 고유한 이름을 입력합니다. 이름은 최대 255자(대문자와 소문자), 숫자, 하이픈을 포함할 수 있어요.
- (선택 사항) Service Connect에 사용되는 네임스페이스가 클러스터 이름과 다르게 하려면 Service Connect defaults 아래의 Default namespace에서 네임스페이스 이름을 선택하거나 입력합니다. 공유 네임스페이스를 사용하려면 네임스페이스 ARN을 선택하거나 입력합니다.