클러스터 VPC 고려 사항 - Amazon EKS

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

클러스터 VPC 고려 사항

Amazon EKS 는 Kubernetes가 프라이빗 서브넷에 있는 노드에서 실행되는 포드로 트래픽을 로드 밸런싱하는 퍼블릭 서브넷에 퍼블릭 로드 밸런서를 생성할 수 있도록 퍼블릭 및 프라이빗 서브넷이 있는 VPC에서 클러스터를 실행할 것을 권장합니다. 그러나 이 구성은 필요하지 않습니다. 네트워킹 및 보안 요구 사항에 따라 프라이빗 서브넷만 있거나 퍼블릭 서브넷만 있는 VPC에서 클러스터를 실행할 수 있습니다. 프라이빗 서브넷만 있는 VPC에 배포된 클러스터에 대한 자세한 내용은 단원을 참조하십시오프라이빗 클러스터.

Amazon EKS 클러스터를 생성할 때 에서 탄력적 네트워크 인터페이스를 배치할 Amazon EKS 수 있는 VPC 서브넷을 지정합니다. 는 최소 2개의 에 서브넷을 Amazon EKS 요구가용 영역하며 노드에 대한 제어 플레인 통신을 용이하게 하기 위해 이러한 서브넷에 네트워크 인터페이스를 4개까지 생성합니다. 이 통신 채널은 kubectl execkubectl logs 등의 Kubernetes 기능을 지원합니다. Amazon EKS 생성된 클러스터 보안 그룹 및 클러스터를 생성할 때 지정하는 추가 보안 그룹이 이러한 네트워크 인터페이스에 적용됩니다. Amazon EKS 생성된 각 네트워크 인터페이스에는 설명이 Amazon EKS <cluster name> 있습니다.

클러스터 생성 중에 지정하는 서브넷에 Amazon EKS 생성된 네트워크 인터페이스에 사용 가능한 IP 주소가 충분한지 확인합니다. /28 생성된 네트워크 인터페이스를 위한 작은Amazon EKS() 전용 서브넷을 생성하고 이러한 서브넷을 클러스터 생성의 일부로 지정하는 것이 좋습니다. 노드 및 로드 밸런서와 같은 다른 리소스는 클러스터 생성 중에 지정된 서브넷과는 별도의 서브넷에서 시작해야 합니다.

중요
  • 클러스터 생성 Amazon EKS 중에 에 등록되지 않은 서브넷을 포함하여 클러스터 VPC의 모든 서브넷에서 노드 및 로드 밸런서를 시작할 수 있습니다. 서브넷에는 노드에 대한 태그가 필요하지 않습니다. Kubernetes 로드 밸런싱 자동 검색이 작동하려면 에 설명된 대로 서브넷에 태그를 지정해야 합니다서브넷 태그 지정.

  • 클러스터와 연결된 서브넷은 클러스터 생성 후 변경할 수 없습니다. Amazon EKS 생성된 네트워크 인터페이스가 배치되는 서브넷을 정확하게 제어해야 하는 경우 클러스터 생성 중에 각각 다른 에 있는 두 개의 서브넷만 지정합니다가용 영역.

  • 클러스터가 처음 생성된 후 VPC에 추가된 추가 CIDR 블록에서 서브넷에서 시작된 노드와 에서 통신할 Amazon EKS 수 없는 문제가 알려져 있습니다. 이 문제가 발생하는 경우 지원 티켓을 제출하여 에서 VPC에 추가된 추가 CIDR 블록을 인식하도록 클러스터를 Amazon EKS 수동으로 업데이트합니다.

  • 클러스터를 생성할 때 AWS Outposts AWS Wavelength, 또는 AWS 로컬 영역에서 서브넷을 선택하지 마십시오.

VPC에 DNS 호스트 이름과 DNS 확인이 지원되어야 합니다. 그렇지 않으면 노드가 클러스터에 등록할 수 없습니다. 자세한 내용은 의 Using DNS with Your VPC 단원을 참조하십시오Amazon VPC 사용 설명서.

VPC IP 주소 지정

노드는 제어 플레인 및 기타 AWS 서비스와 통신할 수 있어야 합니다. 노드가 프라이빗 서브넷에 배포된 경우 서브넷은 다음 요구 사항 중 하나를 충족해야 합니다.

  • NAT 게이트웨이에 대한 기본 경로가 있습니다. 노드에 인터넷 액세스를 제공하려면 NAT 게이트웨이에 퍼블릭 IP 주소를 할당해야 합니다.

  • 의 필수 설정 및 요구 사항으로 구성됩니다프라이빗 클러스터.

퍼블릭 서브넷에 자체 관리형 노드를 배포하는 경우 퍼블릭 IP 주소를 자동 할당하도록 서브넷을 구성해야 합니다. 그렇지 않으면 노드 인스턴스가 시작될 때 퍼블릭 IP 주소를 할당해야 합니다. 자세한 내용은 의 인스턴스 시작 중 퍼블릭 IPv4 주소 할당을 참조하십시오Amazon VPC 사용 설명서. 관리형 노드가 퍼블릭 서브넷에 배포된 경우 퍼블릭 IP 주소를 자동 할당하도록 서브넷을 구성해야 합니다. 서브넷이 퍼블릭 IP 주소를 자동 할당하도록 구성되지 않은 경우 노드에 퍼블릭 IP 주소가 할당되지 않습니다. 다음 명령을 사용하여 퍼블릭 서브넷이 퍼블릭 IP 주소를 자동 할당하도록 구성되어 있는지 여부를 확인합니다. 교체 <example values> ( 포함 <>)을 사용자 고유의 값으로 바꿉니다.

aws ec2 describe-subnets \ --filters "Name=vpc-id,Values=<VPC-ID>" | grep 'SubnetId\|MapPublicIpOnLaunch'

출력

"MapPublicIpOnLaunch": <false>,"SubnetId": "<subnet-aaaaaaaaaaaaaaaaa>","MapPublicIpOnLaunch": <false>,"SubnetId": "<subnet-bbbbbbbbbbbbbbbbb>",

MapPublicIpOnLaunchfalse로 설정된 서브넷의 경우 설정을 true로 변경합니다.

aws ec2 modify-subnet-attribute --map-public-ip-on-launch --subnet-id <subnet-aaaaaaaaaaaaaaaaa>
중요

2020년 3월 26일 이전에 Amazon EKS AWS AWS CloudFormation 템플릿을 사용하여 VPC를 배포한 경우 퍼블릭 서브넷에 대한 설정을 변경해야 합니다.

Amazon EKS 클러스터에 사용되는 VPC 내에서 프라이빗(RFC 1918)과 퍼블릭(RFC 1918) CIDR(Classless Inter-domain Routing) 범위를 모두 정의할 수 있습니다. 자세한 내용은 의 VPC에 IPv4 CIDR 블록 추가를 참조하십시오Amazon VPC 사용 설명서. VPC 및 서브넷에 대한 CIDR 블록을 선택할 때 배포하려는 모든 Amazon EC2 노드 및 포드에 대해 블록에 충분한 IP 주소가 포함되어 있는지 확인합니다. 각 포드에 대해 하나 이상의 IP 주소가 있어야 합니다. 공유 서비스 VPC로 전송 게이트웨이를 구현하여 IP 주소 사용을 절약할 수 있습니다. 자세한 내용은 하이브리드 네트워크에서 공유 서비스 및 VPCs 라우팅 가능한 IP 주소 보존 패턴을 사용하는 격리된 Amazon EKS VPC를 참조하십시오.

서브넷 태그 지정

1.18 이전 클러스터의 경우 는 클러스터 생성 중에 전달된 모든 서브넷에 다음 태그를 Amazon EKS 추가합니다. Amazon EKS 는 1.19 클러스터를 생성할 때 전달된 서브넷에 태그를 추가하지 않습니다. 1.19 이전 버전에서 생성된 클러스터에서 사용하는 서브넷에 태그가 있고 클러스터를 1.19로 업데이트하는 경우 태그가 서브넷에서 제거되지 않습니다.

  • kubernetes.io/cluster/<cluster-name>

  • shared

선택적으로 이 태그를 사용하여 자동 프로비저닝된 Elastic Load Balancer를 사용하는 데 필요한 서브넷 태그 외에도 Elastic Load Balancer가 프로비저닝되는 위치를 제어할 수 있습니다. 로드 밸런서 서브넷 태그 지정에 대한 자세한 내용은 의 애플리케이션 로드 밸런싱 Amazon EKS 및 단원을 참조하십시오의 네트워크 로드 밸런싱 Amazon EKS.

VPC 태그 지정 요건

1.14 이전 Amazon EKS 클러스터를 생성한 경우 는 다음 방법으로 지정한 서브넷이 포함된 VPC에 Amazon EKS 태그를 지정했습니다.

kubernetes.io/cluster/<cluster-name> shared

이 태그는 1.15 이상의 클러스터Amazon EKS에 대해 에서 필요하지 않거나 생성되지 않습니다. 이 태그가 이미 있는 VPC에서 1.15 이상의 클러스터를 생성하면 태그가 제거되지 않습니다. 버전 1.15 이상을 실행하는 Amazon EKS 클러스터에서 사용하는 VPC에서 이 태그를 안전하게 제거할 수 있습니다.