Amazon ECS 및 인터페이스 VPC 엔드포인트(AWS PrivateLink) - Amazon Elastic Container Service

Amazon ECS 및 인터페이스 VPC 엔드포인트(AWS PrivateLink)

인터페이스 VPC 엔드포인트를 사용하도록 Amazon ECS를 구성하여 VPC의 보안 상태를 향상시킬 수 있습니다. 인터페이스 엔드포인트는 프라이빗 IP 주소를 사용하여 비공개로 Amazon ECS API에 액세스할 수 있도록 하는 AWS PrivateLink 기술로 구동됩니다. AWS PrivateLink는 VPC와 서비스 간의 모든 네트워크 트래픽을 Amazon ECS 네트워크로 제한합니다. 인터넷 게이트웨이, NAT 디바이스 또는 가상 프라이빗 게이트웨이가 필요 없습니다.

AWS PrivateLink 및 VPC 엔드포인트에 대한 자세한 정보는 Amazon VPC 사용 설명서VPC 엔드포인트를 참조하세요.

Amazon ECS VPC 엔드포인트에 대한 고려 사항

Amazon ECS용 인터페이스 VPC 엔드포인트를 설정하기 전에 다음 사항을 고려하세요.

  • Fargate 시작 유형을 사용하는 태스크는 Amazon ECS용 인터페이스 VPC 엔드포인트가 필요 없지만 다음 포인트에서 설명하는 Amazon ECR, Secrets Manager 또는 Amazon CloudWatch Logs용 인터페이스 VPC 엔드포인트는 필요할 수 있습니다.

  • EC2 시작 유형을 사용하는 태스크는 시작되는 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트의 1.25.1 이상 버전으로 실행되어야 합니다. 자세한 정보는 Amazon ECS Linux 컨테이너 에이전트 버전 섹션을 참조하세요.

  • VPC 엔드포인트는 교차 리전 요청을 현재 지원하지 않습니다. API 호출을 Amazon ECS로 발행할 계획인 동일 리전에서 엔드포인트를 생성해야 합니다.

  • VPC 엔드포인트는 Amazon Route 53을 통해 Amazon이 제공하는 DNS만 지원합니다. 자신의 DNS를 사용하는 경우에는 조건적인 DNS 전송을 사용할 수 있습니다. 자세한 정보는 Amazon VPC 사용 설명서DHCP 옵션 세트를 참조하세요.

  • VPC 엔드포인트에 연결된 보안 그룹은 VPC의 프라이빗 서브넷에서 443 포트로 들어오는 연결을 허용해야 합니다.

Amazon ECS용 VPC 엔드포인트 생성

Amazon ECS 서비스에 대한 VPC 엔드포인트를 생성하려면 Amazon VPC 사용 설명서인터페이스 엔드포인트 생성 절차를 사용하여 다음 엔드포인트를 생성합니다. VPC 내에 기존 컨테이너 인스턴스가 있는 경우에는 표시 순서대로 엔드포인트를 생성해야 합니다. VPC 엔드포인트 생성 후에 컨테이너 인스턴스를 생성할 경우에는 순서가 중요하지 않습니다.

  • com.amazonaws.region.ecs-agent

  • com.amazonaws.region.ecs-telemetry

  • com.amazonaws.region.ecs

참고

리전은 미국 동부(오하이오) 리전의 us-east-2 같이 Amazon ECS가 지원하는 AWS 리전의 리전 식별자를 나타냅니다.

EC2 시작 유형을 사용하는 기존 태스크가 있는 경우에는 VPC 엔드포인트를 생성한 후 각 컨테이너 인스턴스에서 새 구성을 선택해야 합니다. 이를 위해서는 각 컨테이너 인스턴스를 재부팅하거나 각 컨테이너 인스턴스에서 Amazon ECS 컨테이너 에이전트를 다시 시작해야 합니다. 다음과 같이 컨테이어 에이전트를 다시 시작합니다.

Amazon ECS 컨테이너 에이전트 재시작

  1. SSH를 통해 컨테이너 인스턴스에 로그인합니다. 자세한 정보는 클래식 콘솔을 사용하여 컨테이너 인스턴스에 연결 섹션을 참조하세요.

  2. 컨테이너 에이전트를 중지합니다.

    sudo docker stop ecs-agent
  3. 컨테이너 에이전트를 시작합니다.

    sudo docker start ecs-agent

VPC 엔드포인트를 생성하고 각 컨테이너 인스턴스에서 Amazon ECS 컨테이너 에이전트를 다시 시작하면 새로 시작된 모든 태스크에 새 구성이 적용됩니다.

Secrets Manager 및 Systems Manager 엔드포인트 생성

태스크 정의에서 Secrets Manager 암호 또는 Secrets Manager 파라미터 스토어의 파라미터를 참조하여 민감한 데이터를 컨테이너에 주입하는 경우, 이러한 태스크가 해당 서비스에 도달할 수 있도록 Secrets Manager 또는 Systems Manager에 대한 인터페이스 VPC 엔드포인트를 생성해야 합니다. 민감한 데이터가 호스팅되는 특정 서비스에서만 엔드포인트를 생성하면 됩니다. 자세한 정보는 민감한 데이터를 컨테이너에 전달 섹션을 참조하세요.

Secrets Manager VPC 엔드포인트에 대한 자세한 정보는 AWS Secrets Manager 사용 설명서VPC 엔드포인트와 함께 Secrets Manager 사용을 참조하세요.

Systems Manager VPC 엔드포인트에 대한 자세한 정보는 AWS Systems Manager 사용 설명서VPC 엔드포인트로 Systems Manager 사용하기을 참조하세요.

ECS Exec 기능을 사용할 때 Systems Manager Session Manager VPC 엔드포인트 생성

ECS Exec 기능을 사용하는 경우 Systems Manager Session Manager에 대한 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 디버깅에 Amazon ECS Exec 사용 섹션을 참조하세요.

Systems Manager Session Manager VPC 엔드포인트에 대한 자세한 정보는 AWS Systems Manager 사용 설명서AWS PrivateLink를 사용하여 Session Manager에 대한 VPC 엔드포인트 설정을 참조하세요.

Amazon ECS에 대한 VPC 엔드포인트 정책 생성

Amazon ECS에 대한 액세스를 제어하는 VPC 엔드포인트에 엔드포인트 정책을 연결할 수 있습니다. 이 정책은 다음 정보를 지정합니다.

  • 태스크를 수행할 수 있는 보안 주체.

  • 수행할 수 있는 작업입니다.

  • 태스크를 수행할 있는 리소스.

자세한 정보는 Amazon VPC 사용 설명서VPC 엔드포인트를 통해 서비스에 대한 액세스 제어를 참조하세요.

예제: Amazon ECS 작업에 대한 VPC 엔드포인트 정책

다음은 Amazon ECS에 대한 엔드포인트 정책의 예입니다. 엔드포인트에 연결되면 이 정책은 클러스터를 생성하고 나열할 수 있는 권한을 부여합니다. CreateClusterListClusters 작업은 리소스를 허용하지 않으므로 리소스 정의는 모든 리소스에 대해 *로 설정됩니다.

{ "Statement":[ { "Effect": "Allow", "Action": [ "ecs:CreateCluster", "ecs:ListClusters" ], "Resource": [ "*" ] } ] }