Amazon ECS 작업을 위한 네트워크 인터페이스 할당
Amazon ECS 작업을 위한 네트워크 인터페이스 할당
awsvpc 네트워크 모드가 제공하는 작업 네트워킹 기능은 Amazon ECS 작업에 Amazon EC2 인스턴스와 동일한 네트워킹 속성을 부여해요. 보안 그룹과 네트워크 모니터링 도구를 더 세밀하게 사용할 수 있게 해줘요.
출처: 문서
본문
awsvpc 네트워크 모드가 제공하는 작업 네트워킹 기능은 Amazon ECS 작업에 Amazon EC2 인스턴스와 동일한 네트워킹 속성을 부여합니다. awsvpc 네트워크 모드를 사용하면 애플리케이션이 서로 및 VPC 내 다른 서비스와 통신하는 방식을 더 잘 제어할 수 있으므로 컨테이너 네트워킹을 단순화합니다. awsvpc 네트워크 모드는 작업 내에서 더 세밀한 수준으로 보안 그룹과 네트워크 모니터링 도구를 사용할 수 있게 해주어 컨테이너에 더 큰 보안을 제공합니다. VPC Flow Logs 같은 다른 Amazon EC2 네트워킹 기능을 사용해 작업으로 들어오고 나가는 트래픽을 모니터링할 수도 있습니다. 또한 같은 작업에 속한 컨테이너는 localhost 인터페이스를 통해 통신할 수 있습니다.
작업 탄력적 네트워크 인터페이스(ENI)는 Amazon ECS의 완전 관리형 기능입니다. Amazon ECS는 ENI를 만들고 지정된 보안 그룹과 함께 호스트 Amazon EC2 인스턴스에 연결합니다. 작업은 Amazon EC2 인스턴스가 기본 네트워크 인터페이스로 하는 것과 같은 방식으로 ENI를 통해 네트워크 트래픽을 보내고 받습니다. 각 작업 ENI에는 기본적으로 프라이빗 IPv4 주소가 할당됩니다. VPC가 이중 스택 모드로 활성화되어 있고 IPv6 CIDR 블록이 있는 서브넷을 사용한다면 작업 ENI도 IPv6 주소를 받습니다.
각 작업은 ENI를 하나만 가질 수 있습니다. 이러한 ENI는 계정의 Amazon EC2 콘솔에서 볼 수 있습니다. 계정은 ENI를 분리하거나 수정할 수 없습니다. 이는 실행 중인 작업과 연결된 ENI의 우발적 삭제를 방지하기 위한 것입니다. 작업의 ENI 연결 정보는 Amazon ECS 콘솔이나 DescribeTasks API 작업으로 볼 수 있습니다. 작업이 중지되거나 서비스가 축소되면 작업 ENI는 분리되고 삭제됩니다.
더 높은 ENI 밀도가 필요하면 awsvpcTrunking 계정 설정을 사용하세요. Amazon ECS는 컨테이너 인스턴스에 대한 "트렁크" 네트워크 인터페이스도 만들고 연결합니다. 트렁크 네트워크는 Amazon ECS가 완전히 관리합니다. 트렁크 ENI는 컨테이너 인스턴스를 종료하거나 Amazon ECS 클러스터에서 등록 취소할 때 삭제됩니다. awsvpcTrunking 계정 설정에 대한 자세한 내용은 Prerequisites를 참고하세요.
작업 정의의 networkMode 매개변수에 awsvpc를 지정하세요. 자세한 내용은 Network mode를 참고하세요. 그런 다음 작업을 실행하거나 서비스를 만들 때, 작업을 배치할 서브넷 하나 이상과 ENI에 연결할 보안 그룹 하나 이상을 포함하는 networkConfiguration 매개변수를 사용하세요. 자세한 내용은 Network configuration을 참고하세요. 작업은 해당 서브넷과 같은 가용 영역에 있는 호환되는 Amazon EC2 인스턴스에 배치되며, 지정된 보안 그룹은 작업에 대해 프로비저닝된 ENI와 연결됩니다.
Linux 고려 사항
Linux 운영 체제를 사용할 때 다음을 고려하세요.
awsvpc모드에서 p5.48xlarge 인스턴스를 사용하면 인스턴스에서 1개 이상의 작업을 실행할 수 없습니다.awsvpc네트워크 모드를 사용하는 작업과 서비스는 Amazon ECS가 사용자를 대신해 다른 AWS 서비스에 호출할 수 있는 권한을 제공하는 Amazon ECS 서비스 연결 역할이 필요합니다. 이 역할은 AWS Management Console에서 클러스터를 만들거나 서비스를 만들거나 업데이트할 때 자동으로 생성됩니다. 자세한 내용은 Using service-linked roles for Amazon ECS를 참고하세요. 다음 AWS CLI 명령으로 서비스 연결 역할을 직접 만들 수도 있습니다.aws iam create-service-linked-role --aws-service-name ecs.amazonaws.comawsvpc네트워크 모드를 사용하는 작업을 실행하려면 Amazon EC2 Linux 인스턴스에 컨테이너 에이전트 1.15.0 이상이 필요합니다. Amazon ECS-optimized AMI를 사용한다면 인스턴스에ecs-init패키지 1.15.0-4 이상도 필요합니다.- VPC에서
enableDnsHostnames와enableDnsSupport옵션이 모두 활성화되어 있으면 Amazon ECS는 작업의 호스트 이름을 Amazon 제공(내부) DNS 호스트 이름으로 채웁니다. 이 옵션이 활성화되지 않으면 작업의 DNS 호스트 이름은 임의의 호스트 이름으로 설정됩니다.