클러스터, pods 및 서비스에 IPv6 주소 할당 - Amazon EKS

이 페이지 개선에 도움 주기

이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.

클러스터, pods 및 서비스에 IPv6 주소 할당

적용 대상: Amazon EC2 인스턴스의 Pods 및 Fargate Pods

기본적으로 Kubernetes는 Pods 및 services에 IPv4 주소를 할당합니다. Pods 및 services에 IPv4 주소를 할당하는 대신 IPv6 주소를 할당하도록 클러스터를 구성할 수 있습니다. Kubernetes가 1.23 버전 이상인 경우에도 Amazon EKS는 이중 스택 Pods 또는 services를 지원하지 않습니다. 결과적으로 Pods 및 services에 IPv4IPv6 주소를 모두 할당할 수 없습니다.

클러스터를 생성할 때 클러스터에 사용할 IP 패밀리를 선택합니다. 클러스터를 생성한 후에는 패밀리를 변경할 수 없습니다.

고려 사항

다음은 기능 사용 시 고려 사항입니다.

  • 새 클러스터를 생성하고 해당 클러스터에 IPv6 패밀리를 사용하도록 지정해야 합니다. 이전 버전에서 업데이트한 클러스터에 IPv6 패밀리를 사용 설정할 수 없습니다. 새 클러스터를 생성하는 방법에 대한 지침은 고려 사항 부분을 참조하세요.

  • 클러스터에 배포하는 Amazon VPC CNI 추가 기능의 버전은 1.10.1 이상이어야 합니다. 이 버전 이상은 기본적으로 배포됩니다. 추가 기능을 배포하면 클러스터의 모든 노드 그룹에 있는 모든 노드를 제거하지 않으면 1.10.1 이전 버전에 Amazon VPC CNI 추가 기능을 다운로드할 수 없습니다.

  • Windows Pods 및 services는 지원되지 않습니다.

  • Amazon EC2 노드를 사용하는 경우 IP 접두사 위임 및 IPv6를 사용하여 Amazon VPC CNI 추가 기능을 구성해야 합니다. 클러스터를 생성할 때 IPv6 패밀리를 선택하면 1.10.1 버전의 추가 기능이 이 구성으로 기본 설정됩니다. 이는 자체 관리형 또는 Amazon EKS 추가 기능 모두에 해당됩니다. IP 접두사 위임에 대한 자세한 내용은 접두사를 사용하여 Amazon EKS 노드에 추가 IP 주소 할당 섹션을 참조하세요.

  • 클러스터를 생성할 때 지정한 VPC 및 서브넷에는 지정한 VPC 및 서브넷에 할당된 IPv6 CIDR 블록이 있어야 합니다. 또한 할당된 IPv4 CIDR 블록도 있어야 합니다. IPv6만 사용하려는 경우에도 VPC가 작동하려면 IPv4 CIDR 블록이 필요하기 때문입니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 IPv6 CIDR 블록을 VPC와 연결을 참조하세요.

  • 노드를 생성할 때 IPv6 주소를 자동 할당하도록 구성된 서브넷을 지정해야 합니다. 그렇지 않으면 노드를 배포할 수 없습니다. 기본적으로 이 구성은 사용 중지되어 있습니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 서브넷의 IPv6 주소 지정 속성 수정을 참조하세요.

  • 서브넷에 할당된 라우팅 테이블에는 IPv6 주소에 대한 경로가 있어야 합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 IPv6로 마이그레이션을 참조하세요.

  • 보안 그룹은 IPv6 주소를 허용해야 합니다. 자세한 내용을 알아보려면 Amazon VPC 사용 설명서의 IPv6로 마이그레이션을 참조하세요.

  • AWS Nitro 기반 Amazon EC2 또는 Fargate 노드에서만 IPv6를 사용할 수 있습니다.

  • Amazon EC2 노드 및 Fargate 노드에서 개별 pods에 보안 그룹 할당와 함께 IPv6를 사용할 수 있습니다.

  • 이전에 IP 주소 소모를 완화하는 데 도움이 되도록 사용자 지정 네트워킹을 사용한 경우 대신 IPv6를 사용할 수 있습니다. IPv6에서는 사용자 지정 네트워킹을 사용할 수 없습니다. 네트워크 격리를 위해 사용자 정의 네트워킹을 사용하는 경우 클러스터에 사용자 정의 네트워킹 및 IPv4 패밀리를 계속 사용해야 할 수 있습니다.

  • AWS Outposts에서는 IPv6를 사용할 수 없습니다.

  • Kubernetes 서비스에는 IPv6 주소만 할당됩니다. IPv4 주소는 할당되지 않습니다.

  • 포드에는 IPv6 주소와 호스트-로컬 IPv4 주소가 할당됩니다. 호스트-로컬 IPv4 주소는 VPC CNI와 연결된 호스트-로컬 CNI 플러그인을 사용하여 할당되며 주소는 Kubernetes 컨트롤 플레인에 보고되지 않습니다. 포드가 다른 Amazon VPC 또는 인터넷의 외부 IPv4 리소스와 통신해야 하는 경우에만 사용됩니다. 호스트-로컬 IPv4 주소는 VPC CNI를 통해 워커 노드 기본 ENI의 기본 IPv4 주소에 SNAT 처리됩니다.

  • Pods 및 services만 IPv6 주소에 할당됩니다. IPv4 주소는 할당되지 않습니다. Pods는 인스턴스 자체의 NAT를 통해 IPv4 엔드포인트와 통신할 수 있으므로 DNS64 및 NAT64가 필요하지 않습니다. 트래픽에 퍼블릭 IP 주소가 필요한 경우 트래픽은 퍼블릭 IP로 변환된 소스 네트워크 주소입니다.

  • Pod의 소스 IPv6 주소는 VPC 외부에서 통신할 때 노드의 IPv6 주소로 변환된 소스 네트워크 주소가 아닙니다. 인터넷 게이트웨이 또는 외부 전용 인터넷 게이트웨이를 사용하여 라우팅됩니다.

  • 모든 노드에 IPv4IPv6 주소가 할당됩니다.

  • FSx for Lustre를 사용한 고성능 앱 저장은(는) 지원되지 않습니다.

  • 인스턴스 모드가 아닌 IP 모드에서 AWS 로드 밸런서 컨트롤러 버전 2.3.1 이상을 사용하여 애플리케이션 또는 네트워크 트래픽을 IPv6 Pods로 로드 밸런싱할 수 있습니다. 자세한 내용은 AWS 로드 밸런서 컨트롤러를 통해 인터넷 트래픽 라우팅 단원을 참조하십시오.

  • IPv6 IAM 정책을 노드 IAM 또는 CNI IAM 역할에 연결해야 합니다. 두 가지 중 CNI IAM 역할에 연결하는 것이 좋습니다. 자세한 내용은 IPv6 패밀리를 사용하는 클러스터에 대한 IAM 정책 생성1단계 - Amazon VPC CNI plugin for Kubernetes IAM 역할 생성 섹션을 참조하세요.

  • 각 Fargate Pod는 배포된 서브넷에 대해 지정된 CIDR에서 IPv6 주소를 수신합니다. Fargate Pods를 실행하는 기본 하드웨어 장치는 하드웨어 장치가 배포된 서브넷에 할당된 CIDR에서 고유한 IPv4IPv6 주소를 가져옵니다.

  • IPv6 클러스터를 배포하기 전에 통합하는 애플리케이션, Amazon EKS 추가 기능 및 AWS 서비스를 철저히 평가하는 것이 좋습니다. 이는 IPv6에서 모든 것이 예상대로 작동하는지 확인하기 위한 것입니다.

  • Amazon EC2 인스턴스 메타데이터 서비스 IPv6 엔드포인트 사용은 Amazon EKS에서 지원되지 않습니다.

  • IPv6 패밀리를 사용하는 클러스터에서 자체 관리형 노드 그룹을 생성하는 경우 사용자 데이터에는 노드 시작 시 실행되는 bootstrap.sh 파일에 대한 다음 BootstrapArguments가 포함되어야 합니다. your-cidr를 클러스터 VPC의 IPv6 CIDR 범위로 교체합니다.

    --ip-family ipv6 --service-ipv6-cidr your-cidr

    클러스터의 IPv6 CIDR 범위를 모르는 경우 다음 명령을 사용하여 확인할 수 있습니다(AWS CLI 버전 2.4.9 이상 필요).

    aws eks describe-cluster --name my-cluster --query cluster.kubernetesNetworkConfig.serviceIpv6Cidr --output text