프라이빗 클러스터 - Amazon EKS

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

프라이빗 클러스터

이 주제에서는 아웃바운드 인터넷 액세스 없이 프라이빗 클러스터를 배포하는 방법에 대해 설명합니다. 네트워킹에 익숙하지 않은 경우 Amazon EKS 작업자 노드에 대한 클러스터 네트워킹 설명을 참조하십시오.Amazon EKS

Requirements

아웃바운드 인터넷 액세스 없이 프라이빗 클러스터에서 Amazon EKS를 실행하려면 다음 요구 사항을 충족해야 합니다.

  • 컨테이너 이미지는 가져올 VPC 내의 레지스트리 또는 Amazon Elastic Container Registry (Amazon ECR)에 복사해야 합니다. 자세한 내용은 컨테이너 이미지의 로컬 복사본 생성 단원을 참조하십시오.

  • 노드가 클러스터 엔드포인트에 등록하려면 엔드포인트 프라이빗 액세스가 필요합니다. 엔드포인트 퍼블릭 액세스는 선택 사항입니다. 자세한 내용은 Amazon EKS 클러스터 엔드포인트 액세스 제어 단원을 참조하십시오.

  • 프라이빗 클러스터용 VPC 엔드포인트에 있는 VPC 엔드포인트를 포함해야 할 수도 있습니다.

  • 자체 관리형 노드를 시작할 때 부트스트랩 인수에 다음 텍스트를 포함해야 합니다. 이 텍스트는 Amazon EKS 내부 검사를 우회하며 VPC 내에서 Amazon EKS API에 액세스할 필요가 없습니다. 및 <cluster-endpoint>를 <cluster-certificate-authority> 클러스터의 값으로 바꿉니다.Amazon EKS

    --apiserver-endpoint <cluster-endpoint> --b64-cluster-ca <cluster-certificate-authority>
  • aws-auth는 VPC 내에서 생성해야 합니다.ConfigMap aws-auth 생성에 대한 자세한 내용은 ConfigMap 단원을 참조하십시오.클러스터의 사용자 또는 IAM 역할 관리

Considerations

아웃바운드 인터넷 액세스 없이 프라이빗 클러스터에서 Amazon EKS를 실행할 때 고려해야 할 몇 가지 사항은 다음과 같습니다.

컨테이너 이미지의 로컬 복사본 생성

프라이빗 클러스터에는 아웃바운드 인터넷 액세스가 없으므로 Docker Hub와 같은 외부 소스에서 컨테이너 이미지를 가져올 수 없습니다. 대신 컨테이너 이미지는 VPC에서 액세스할 수 있는 대체 레지스트리 또는 Amazon ECR에 로컬로 복사해야 합니다. 컨테이너 이미지는 프라이빗 VPC 외부에서 Amazon ECR에 복사할 수 있습니다. 프라이빗 클러스터는 Amazon ECR VPC 엔드포인트를 사용하여 Amazon ECR 리포지토리에 액세스합니다. 로컬 복사본을 생성하는 데 사용하는 워크스테이션에 Docker와 AWS CLI가 설치되어 있어야 합니다.

컨테이너 이미지의 로컬 복사본을 생성하려면

  1. Amazon ECR 리포지토리를 생성합니다. 자세한 내용은 리포지토리 생성을 참조하십시오.

  2. docker pull을 사용하여 외부 레지스트리에서 컨테이너 이미지를 가져옵니다.

  3. docker tag를 사용해 Amazon ECR 레지스트리, 리포지토리 및 이미지 태그 이름 조합(선택 사항)이 있는 이미지에 태그를 지정합니다.

  4. 레지스트리를 인증합니다. 자세한 내용은 레지스트리 인증을 참조하십시오.

  5. 를 사용하여 이미지를 Amazon ECR로 푸시합니다.docker push

    참고

    새 이미지 위치를 사용하도록 리소스 구성을 업데이트해야 합니다.

    다음 예제에서는 Docker Hub에서 태그를 사용하여 amazon/aws-node-termination-handlerv1.3.1-linux-amd64 이미지를 가져오고 Amazon ECR에서 로컬 복사본을 생성합니다.

    aws ecr create-repository --repository-name amazon/aws-node-termination-handler docker pull amazon/aws-node-termination-handler:v1.3.1-linux-amd64 docker tag amazon/aws-node-termination-handler <111122223333>.dkr.ecr.<region-code>.amazonaws.com/amazon/aws-node-termination-handler:v1.3.1-linux-amd64 aws ecr get-login-password --region <region-code> | docker login --username AWS --password-stdin <111122223333>.dkr.ecr.<region-code>.amazonaws.com docker push <111122223333>.dkr.ecr.<region-code>.amazonaws.com/amazon/aws-node-termination-handler:v1.3.1-linux-amd64

프라이빗 클러스터용 VPC 엔드포인트

다음 VPC 엔드포인트가 필요할 수 있습니다.

  • com.amazonaws.<region>.ec2

  • com.amazonaws.<region>.ecr.api

  • com.amazonaws.<region>.ecr.dkr

  • com.amazonaws.<region>.s3 – 컨테이너 이미지를 가져오는 경우

  • com.amazonaws.<region>.logs – 용 CloudWatch Logs

  • com.amazonaws.<region>.sts – 서비스 계정에 대해 AWS Fargate 또는 IAM 역할을 사용하는 경우

  • com.amazonaws.<region>.elasticloadbalancing – 애플리케이션 로드 밸런서를 사용하는 경우

  • com.amazonaws.<region>.autoscaling – Cluster Autoscaler를 사용하는 경우

  • com.amazonaws.<region>.appmesh-envoy-management – App Mesh를 사용하는 경우