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 엔드포인트를 참조하세요.

고려 사항

2023년 12월 23일부터 도입된 리전의 엔드포인트에 대한 고려 사항

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

  • 다음과 같은 리전별 VPC 엔드포인트가 있어야 합니다.

    • com.amazonaws.region.ecs-agent

    • com.amazonaws.region.ecs-telemetry

    • com.amazonaws.region.ecs

    예를 들어, 캐나다 서부(캘거리)(ca-west-1) 리전에는 다음 VPC 엔드포인트가 있어야 합니다.

    • com.amazonaws.ca-west-1.ecs-agent

    • com.amazonaws.ca-west-1.ecs-telemetry

    • com.amazonaws.ca-west-1.ecs

  • 템플릿을 사용하여 새 리전에서 AWS 리소스를 생성하고 2023년 12월 23일 이전에 도입된 리전에서 템플릿을 복사한 경우 복사 원본 리전에 따라 다음 작업 중 하나를 수행합니다.

    예를 들어, 복사 원본 리전이 미국 동부(버지니아 북부)(us-east-1)입니다. 복사 대상 리전은 캐나다 서부(캘거리)(ca-west-1)입니다.

    구성 작업

    복사 원본 리전에는 VPC 엔드포인트가 없습니다.

    새 리전에 대해 모두 3개의 VPC 엔드포인트를 생성합니다(예: com.amazonaws.ca-west-1.ecs-agent).

    복사 대상 리전에 리전별 VPC 엔드포인트가 포함됩니다.

    1. 새 리전에 대해 모두 3개의 VPC 엔드포인트를 생성합니다(예: com.amazonaws.ca-west-1.ecs-agent).

    2. 복사 대상 리전에 대해 모두 3개의 VPC 엔드포인트를 삭제합니다(예: com.amazonaws.us-east-1.ecs-agent).

Fargate 시작 유형을 위한 Amazon ECS VPC 엔드포인트에 대한 고려 사항

Fargate 작업이 배포되는 동일한 VPC에서 ecr.dkrecr.api에 대한 VPC 엔드포인트가 있는 경우 해당 VPC 엔드포인트를 사용합니다. VPC 엔드포인트가 없는 경우 Fargate 인터페이스를 사용합니다.

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

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

    • 태스크에서 Amazon ECR의 프라이빗 이미지를 가져오도록 허용하려면 Amazon ECR용 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 Amazon Elastic Container Registry 사용 설명서인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요.

      VPC에 인터넷 게이트웨이가 없는 경우 Amazon S3에 대한 게이트웨이 엔드포인트를 생성해야 합니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서의 Amazon S3 게이트웨이 엔드포인트 생성을 참조하세요. Amazon S3에 대한 인터페이스 엔드포인트는 Amazon ECR과 함께 사용할 수 없습니다.

      중요

      인터페이스 VPC 엔드포인트를 사용하도록 Amazon ECR을 구성하는 경우 특정 VPC 또는 VPC 엔드포인트에 대한 액세스를 제한하는 조건 키를 포함하는 태스크 실행 역할을 생성할 수 있습니다. 자세한 정보는 인터페이스 엔드포인트 권한을 통해 Amazon ECR 이미지를 가져오는 Fargate 작업 섹션을 참조하세요.

    • 태스크에서 Secrets Manager에서 민감한 데이터를 가져오도록 허용하려면 Secrets Manager용 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 AWS Secrets Manager 사용 설명서VPC 엔드포인트와 함께 Secrets Manager 사용을 참조하세요.

    • VPC에 인터넷 게이트웨이가 없고 태스크에서 awslogs 로그 드라이버를 사용하여 로그 정보를 CloudWatch Logs로 전송하는 경우에는 CloudWatch Logs용 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 Amazon CloudWatch Logs 사용 설명서인터페이스 VPC 엔드포인트에서 CloudWatch Logs 사용을 참조하세요.

  • VPC 엔드포인트는 교차 리전 요청을 현재 지원하지 않습니다. API 호출을 Amazon ECS로 발행할 계획인 동일 리전에서 엔드포인트를 생성해야 합니다. 예를 들어 미국 동부(버지니아 북부)에서 작업을 실행하려 한다고 가정해 보겠습니다. 그런 다음 미국 동부(버지니아 북부)에 Amazon ECS VPC 엔드포인트를 생성해야 합니다. 다른 리전에서 생성된 Amazon ECS VPC 엔드포인트는 미국 동부(버지니아 북부)에서 작업을 실행할 수 없습니다.

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

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

  • Envoy 프록시의 서비스 연결 관리에서는 VPC com.amazonaws.region.ecs-agent 엔드포인트를 사용합니다. VPC 엔드포인트를 사용하지 않는 경우 Envoy 프록시의 Service Connect 관리에서는 해당 리전의 ecs-sc 엔드포인트를 사용합니다. 각 리전의 Amazon ECS 엔드포인트 목록은 Amazon ECS endpoints and quotas를 참조하세요.

EC2 시작 유형을 위한 Amazon ECS VPC 엔드포인트에 대한 고려 사항

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

  • EC2 시작 유형을 사용하는 태스크는 시작되는 컨테이너 인스턴스가 Amazon ECS 컨테이너 에이전트의 1.25.1 이상 버전으로 실행되어야 합니다. 자세한 내용은 Amazon ECS Linux 컨테이너 인스턴스 관리 단원을 참조하십시오.

  • 태스크에서 Secrets Manager에서 민감한 데이터를 가져오도록 허용하려면 Secrets Manager용 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 AWS Secrets Manager 사용 설명서VPC 엔드포인트와 함께 Secrets Manager 사용을 참조하세요.

  • VPC에 인터넷 게이트웨이가 없고 태스크에서 awslogs 로그 드라이버를 사용하여 로그 정보를 CloudWatch Logs로 전송하는 경우에는 CloudWatch Logs용 인터페이스 VPC 엔드포인트를 생성해야 합니다. 자세한 정보는 Amazon CloudWatch Logs 사용 설명서인터페이스 VPC 엔드포인트에서 CloudWatch Logs 사용을 참조하세요.

  • VPC 엔드포인트는 교차 리전 요청을 현재 지원하지 않습니다. API 호출을 Amazon ECS로 발행할 계획인 동일 리전에서 엔드포인트를 생성해야 합니다. 예를 들어 미국 동부(버지니아 북부)에서 작업을 실행하려 한다고 가정해 보겠습니다. 그런 다음 미국 동부(버지니아 북부)에 Amazon ECS VPC 엔드포인트를 생성해야 합니다. 다른 리전에서 생성된 Amazon ECS VPC 엔드포인트는 미국 동부(버지니아 북부)에서 작업을 실행할 수 없습니다.

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

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

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 리전의 리전 식별자를 나타냅니다.

ecs-agent 엔드포인트는 ecs:poll API를 사용하고, ecs-telemetry 엔드포인트는 ecs:pollecs:StartTelemetrySession API를 사용합니다.

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

Amazon ECS 컨테이너 에이전트 재시작
  1. SSH를 통해 컨테이너 인스턴스에 로그인합니다.

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

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

    sudo docker start ecs-agent

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

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

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

  • 작업을 수행할 수 있는 보안 주체.

  • 수행할 수 있는 작업.

  • 작업을 수행할 수 있는 리소스.

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

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

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

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