Fargate에 대한 Amazon ECS 태스크 네트워킹 옵션 - Amazon Elastic Container Service

Fargate에 대한 Amazon ECS 태스크 네트워킹 옵션

기본적으로 Fargate의 모든 Amazon ECS 태스크에는 기본 프라이빗 IP 주소와 함께 탄력적 네트워크 인터페이스(ENI)가 제공됩니다. 퍼블릭 서브넷을 사용할 때 필요에 따라 태스크의 ENI에 퍼블릭 IP 주소를 할당할 수도 있습니다. VPC가 듀얼 스택 모드를 사용하도록 구성되어 있고 IPv6 CIDR 블록과 함께 서브넷을 사용하는 경우 작업의 ENI도 IPv6 주소를 수신합니다. 한 태스크에는 한 번에 하나의 ENI만 연결할 수 있습니다. 또한 같은 태스크에 속한 컨테이너는 localhost 인터페이스로 통신할 수 있습니다. VPC와 서브넷에 대한 자세한 내용은 Amazon VPC 사용 설명서Amazon VPC 작동 방식을 참조하세요.

Fargate의 태스크가 컨테이너 이미지를 풀링하려면 해당 태스크에 인터넷으로 연결되는 경로가 있어야 합니다. 태스크에 인터넷이 연결되는 경로가 있는지 확인하는 방법은 다음과 같습니다.

  • 퍼블릭 서브넷을 사용할 때 태스크의 ENI에 퍼블릭 IP 주소를 할당할 수 있습니다.

  • 프라이빗 서브넷을 사용할 때 서브넷은 NAT 게이트웨이를 연결할 수 있습니다.

  • Amazon ECR에서 호스팅되는 컨테이너 이미지를 사용하는 경우 인터페이스 VPC 엔드포인트를 사용하도록 Amazon ECR을 구성할 수 있습니다. 그러면 태스크의 프라이빗 IPv4 주소를 통해 이미지 가져오기가 실행됩니다. 자세한 정보는 Amazon Elastic Container Registry 사용 설명서Amazon ECR 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요.

각 태스크는 고유한 ENI를 받으므로 VPC 흐름 로그와 같은 네트워킹 기능을 활용하여 태스크에서 주고받는 트래픽을 모니터링할 수도 있습니다. 자세한 정보는 Amazon VPC 사용 설명서VPC 흐름 로그를 참조하세요.

AWS PrivateLink를 이용할 수도 있습니다. 프라이빗 IP 주소를 통해 Amazon ECS API에 액세스할 수 있도록 VPC 인터페이스 엔드포인트를 구성할 수 있습니다. AWS PrivateLink는 VPC와 Amazon ECS 간의 모든 네트워크 트래픽을 Amazon 네트워크로 제한합니다. 인터넷 게이트웨이, NAT 디바이스 또는 가상 프라이빗 게이트웨이가 필요 없습니다. 자세한 내용은 Amazon ECS 인터페이스 VPC 엔드포인트(AWS PrivateLink)를 참조하세요.

CloudFormation에서 NetworkConfiguration 리소스를 사용하는 방법의 예는 Amazon ECS용 CloudFormation 템플릿 예제를 참조하세요.

생성된 ENI는 AWS Fargate로 완전 관리됩니다. 또한 Fargate에 대한 권한을 부여하는 데 사용되는 관련 IAM 정책이 있습니다. Fargate 플랫폼 버전 1.4.0 이상을 사용하는 태스크의 경우 태스크는 단일 ENI(태스크 ENI라고 함)를 수신하고 모든 네트워크 트래픽은 VPC 내의 해당 ENI를 통해 흐릅니다. 이 트래픽은 VPC 흐름 로그에 기록됩니다. 버전이 1.3.0 이전인 Fargate 플랫폼을 사용하는 태스크의 경우 태스크 ENI 외에도 VPC 흐름 로그에 표시되지 않는 일부 네트워크 트래픽에 사용되는 별도의 Fargate 소유 ENI를 수신합니다. 다음 표는 네트워크 트래픽 동작과 각 플랫폼 버전에 필요한 IAM 정책에 대해 설명합니다.

작업 Linux 플랫폼 버전 1.3.0 이하의 트래픽 흐름 Linux 플랫폼 버전 1.4.0의 트래픽 흐름 Windows 플랫폼 버전 1.0.0의 트래픽 흐름 IAM 권한
Amazon ECR 로그인 자격 증명 검색 Fargate 소유 ENI 태스크 ENI 태스크 ENI 태스크 실행 IAM 역할
이미지 가져오기 태스크 ENI 태스크 ENI 태스크 ENI 태스크 실행 IAM 역할
로그 드라이버를 통해 로그 전송 태스크 ENI 태스크 ENI 태스크 ENI 태스크 실행 IAM 역할
Amazon ECS용 FireLens를 통해 로그 전송 태스크 ENI 태스크 ENI 태스크 ENI 태스크 IAM 역할
Secrets Manager 또는 Systems Manager에서 암호 검색 Fargate 소유 ENI 태스크 ENI 태스크 ENI 태스크 실행 IAM 역할
Amazon EFS 파일 시스템 트래픽 사용할 수 없음 태스크 ENI 태스크 ENI 태스크 IAM 역할
애플리케이션 트래픽 태스크 ENI 태스크 ENI 태스크 ENI 태스크 IAM 역할

고려 사항

태스크 네트워킹을 사용할 때는 다음 항목을 고려하세요.

  • Amazon ECS 서비스 연결 역할은 Amazon ECS에 사용자를 대신해서 다른 AWS 서비스를 호출할 수 있는 권한을 제공해야 합니다. 이 역할은 클러스터를 생성하거나 AWS Management 콘솔에서 서비스를 생성 또는 업데이트할 때 생성됩니다. 자세한 정보는 Amazon ECS에 대해 서비스 연결 역할 사용을 참조하세요. 다음 AWS CLI 명령을 사용하여 서비스 연결 역할을 생성할 수도 있습니다.

    aws iam create-service-linked-role --aws-service-name ecs.amazonaws.com
  • Amazon ECS는 enableDnsHostnamesenableDnsSupport 옵션이 모두 VPC에서 사용 설정된 경우 Amazon에서 제공한 DNS 호스트 이름을 함께 사용하여 태스크의 호스트 이름을 채웁니다. 이러한 옵션이 사용 설정되지 않으면 태스크의 DNS 호스트 이름이 임의의 호스트 이름이 설정됩니다. VPC DNS 설정에 대한 자세한 정보는 Amazon VPC 사용 설명서VPC와 함께 DNS 사용을 참조하세요.

  • awsVpcConfiguration에는 최대 16개의 서브넷과 5개의 보안 그룹만 지정할 수 있습니다. 자세한 정보는 Amazon Elastic Container Service API 참조AwsVpcConfiguration을 참조하세요.

  • Fargate에서 생성 및 연결하는 ENI는 수동으로 분리하거나 수정할 수 없습니다. 이는 실행 중인 태스크와 연결된 ENI가 우발적으로 삭제되는 일을 방지하기 위한 것입니다. 태스크에 대한 ENI를 해제하려면 태스크를 중지합니다.

  • VPC 서브넷이 사용하는 DHCP 옵션 세트를 변경하도록 업데이트된 경우, VPC를 사용하는 기존 작업에도 이러한 변경 사항을 적용할 수 없습니다. 새 작업을 시작하면, 새 변경 사항을 테스트하는 동안 원활하게 마이그레이션할 수 있는 새 설정을 수신한 다음 롤백이 필요하지 않은 경우 이전 작업을 중지합니다.

  • 다음은 Linux의 경우 Fargate 플랫폼 버전 1.4.0 이상, Windows의 경우 Fargate 플랫폼 버전 1.0.0에서 실행되는 태스크에 적용됩니다. 듀얼 스택 서브넷에서 시작된 태스크는 IPv4 주소와 IPv6 주소를 받습니다. IPv6 전용 서브넷에서 시작된 태스크는 IPv6 주소만 수신합니다.

  • 플랫폼 버전 1.4.0 이상(Linux) 또는 1.0.0(Windows)을 사용하는 태스크의 경우 태스크 ENI가 점보 프레임을 지원합니다. 네트워크 인터페이스는 단일 프레임 내에 맞는 가장 큰 페이로드 크기인 최대 전송 단위(MTU)로 구성됩니다. MTU가 클수록 단일 프레임 내에 더 많은 애플리케이션 페이로드가 들어갈 수 있으므로 프레임당 오버헤드가 줄어들고 효율성이 향상됩니다. 점보 프레임을 지원하면 태스크와 대상 간의 네트워크 경로가 점보 프레임을 지원할 때 오버헤드가 줄어듭니다.

  • Fargate를 사용하는 태스크의 서비스는 Application Load Balancer 및 Network Load Balancer만 지원합니다. Classic Load Balancer는 지원되지 않습니다. 대상 그룹을 생성할 때 대상 유형을 instance가 아닌 ip로 선택해야 합니다. 자세한 정보는 로드 밸런싱을 사용하여 Amazon ECS 서비스 트래픽 분산을 참조하세요.

듀얼 스택 모드로 VPC 사용하기

VPC를 듀얼 스택 모드로 사용하는 경우 태스크는 IPv4나 IPv6, 또는 둘 다를 통해 통신할 수 있습니다. IPv4 및 IPv6 주소는 서로 독립적이며 IPv4 및 IPv6에 대해 별도로 VPC의 라우팅 및 보안을 구성해야 합니다. VPC를 듀얼 스택 모드로 구성하는 방법에 대한 자세한 정보는 Amazon VPC 사용 설명서IPv6로 마이그레이션하기를 참조하세요.

다음 조건이 충족되면 Fargate의 Amazon ECS 태스크에 IPv6 주소가 할당됩니다.

  • 작업을 시작하려는 리전에서 IAM 보안 주체가 작업을 시작할 수 있도록 Amazon ECS dualStackIPv6 계정 설정이 켜져 있습니다(enabled). 이 설정은 API 또는 AWS CLI를 사용해서만 수정할 수 있습니다. 계정 기본 설정을 설정하여 계정의 특정 IAM 보안 주체에 대해 이 설정을 켜거나 계정 전체에서 이 설정을 켤 수 있습니다. 자세한 내용은 계정 설정을 사용하여 Amazon ECS 기능에 액세스 섹션을 참조하세요.

  • VPC와 서브넷이 IPv6에 대해 활성화되어 있습니다. VPC를 듀얼 스택 모드로 구성하는 방법에 대한 자세한 정보는 Amazon VPC 사용 설명서IPv6로 마이그레이션하기를 참조하세요.

  • 서브넷에서 IPv6 주소를 자동 할당할 수 있습니다. 서브넷을 구성하는 방법에 대한 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 서브넷의 IPv6 주소 지정 속성 수정을 참조하세요.

  • 작업 또는 서비스가 Fargate 플랫폼 버전 1.4.0 이상(Linux)을 사용합니다.

듀얼 스택 모드일 때 VPC에서 실행되는 Fargate의 Amazon ECS 태스크에는 인터넷 게이트웨이 또는 NAT 게이트웨이로 연결되는 IPv4(0.0.0.0/0) 경로가 필요합니다. 자세한 내용은 Amazon VPC 사용 설명서인터넷 게이트웨이를 참조하세요.

IPv6 전용 모드에서 VPC 사용

IPv6 전용 구성에서 Amazon ECS 태스크는 IPv6에서만 통신합니다. IPv6 전용 구성에 대해 VPC 및 서브넷을 설정하려면 VPC에 IPv6 CIDR 블록을 추가하고 IPv6 CIDR 블록만 포함하는 서브넷을 생성해야 합니다. 자세한 내용은 Amazon VPC 사용 설명서VPC에 대한 IPv6 지원 추가서브넷 생성을 참조하세요. 또한 IPv6 대상으로 라우팅 테이블을 업데이트하고 IPv6 규칙으로 보안 그룹을 구성해야 합니다. 자세한 내용은 Amazon VPC 사용 설명서라우팅 테이블 구성보안 그룹 규칙 구성을 참조하세요.

다음 사항을 고려하세요.

  • IPv6 전용 서브넷을 사용하도록 서비스를 직접 업데이트하거나 병렬 IPv6 전용 서비스를 생성하고 Amazon ECS 블루/그린 배포를 사용해 트래픽을 새 서비스로 이전하여 IPv4 전용 또는 듀얼 스택 Amazon ECS 서비스를 IPv6 전용 구성으로 업데이트할 수 있습니다. Amazon ECS 블루/그린 배포에 대한 자세한 내용은 Amazon ECS 블루/그린 배포 섹션을 참조하세요.

  • IPv6 전용 Amazon ECS 서비스는 IPv6 대상 그룹과 함께 듀얼 스택 로드 밸런서를 사용해야 합니다. Application Load Balancer 또는 Network Load Balancer 뒤에 있는 기존 Amazon ECS 서비스를 마이그레이션하는 경우 새 듀얼 스택 로드 밸런서를 생성하고 이전 로드 밸런서에서 트래픽을 이전하거나 기존 로드 밸런서의 IP 주소 유형을 업데이트할 수 있습니다.

    Network Load Balancer에 대한 자세한 내용은 Network Load Balancer 사용 설명서Create a Network Load BalancerUpdate the IP address types for your Network Load Balancer를 참조하세요. Application Load Balancer에 대한 자세한 내용은 Application Load Balancers 사용 설명서Create an Application Load BalancerUpdate the IP address types for your Application Load Balancer를 참조하세요.

  • IPv6 전용 구성은 Windows에서 지원되지 않습니다.

  • IPv6 전용 구성의 Amazon ECS 태스크가 IPv4 전용 엔드포인트와 통신하도록 하려면 IPv6에서 IPv4로의 네트워크 주소 변환을 위해 DNS64 및 NAT64를 설정할 수 있습니다. 자세한 내용은 Amazon VPC 사용 설명서DNS64 및 NAT64를 참조하십시오.

  • IPv6 전용 구성은 Fargate 플랫폼 버전 1.4.0 이상에서 지원됩니다.

  • IPv6 전용 구성의 Amazon ECS 워크로드는 Amazon ECR에서 이미지를 가져올 때 Amazon ECR 듀얼 스택 이미지 URI 엔드포인트를 사용해야 합니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서Getting started with making requests over IPv6을 참조하세요.

    참고

    Amazon ECR은 IPv6 전용 구성의 태스크가 사용할 수 있는 듀얼 스택 인터페이스 VPC 엔드포인트를 지원하지 않습니다. 자세한 내용은 Amazon Elastic Container Registry 사용 설명서Getting started with making requests over IPv6을 참조하세요.

  • Amazon ECS Exec는 IPv6 전용 구성에서 지원되지 않습니다.

  • Amazon CloudWatch는 FIPS-140 규정 준수를 사용하는 IPv6 전용 구성에서 Amazon ECS 태스크를 모니터링하는 데 사용할 수 있는 듀얼 스택 FIPS 엔드포인트를 지원하지 않습니다. FIPS-140에 대한 자세한 내용은 AWS Fargate Federal Information Processing Standard(FIPS-140) 섹션을 참조하세요.

Amazon ECS에 대한 IPv6 전용 모드를 지원하는 AWS 리전

Amazon ECS를 사용할 수 있는 다음 AWS 리전에서 IPv6 전용 구성으로 태스크를 실행할 수 있습니다.

  • 미국 동부(오하이오)

  • 미국 동부(버지니아 북부)

  • 미국 서부(캘리포니아 북부)

  • 미국 서부(오리건)

  • 아프리카(케이프타운)

  • 아시아 태평양(홍콩)

  • 아시아 태평양(하이데라바드)

  • 아시아 태평양(자카르타)

  • 아시아 태평양(멜버른)

  • 아시아 태평양(뭄바이)

  • 아시아 태평양(오사카)

  • 아시아 태평양(서울)

  • 아시아 태평양(싱가포르)

  • 아시아 태평양(시드니)

  • 아시아 태평양(도쿄)

  • 캐나다(중부)

  • 캐나다 서부(캘거리)

  • 중국(베이징)

  • 중국(닝샤)

  • 유럽(프랑크푸르트)

  • 유럽(런던)

  • 유럽(밀라노)

  • 유럽(파리)

  • 유럽(스페인)

  • 이스라엘(텔아비브)

  • 중동(바레인)

  • 중동(UAE)

  • 남아메리카(상파울루)

  • AWS GovCloud(미국 동부)

  • AWS GovCloud(미국 서부)