プライベートクラスター - Amazon EKS

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

プライベートクラスター

このトピックでは、アウトバウンドインターネットアクセスのないプライベートクラスターをデプロイする方法について説明します。ネットワークに詳しくない場合は、「Amazon EKSDe-mystifying cluster networking for worker nodesAmazon EKS」を参照してください。

Requirements

アウトバウンドインターネットアクセスのないプライベートクラスターで Amazon EKS を実行するには、以下の要件を満たす必要があります。

  • コンテナイメージは、Amazon Elastic Container Registry (Amazon ECR) にコピーするか、またはプルする VPC 内のレジストリにコピーする必要があります。詳細については、「コンテナイメージのローカルコピーの作成」を参照してください。

  • ノードをクラスターエンドポイントに登録するには、エンドポイントのプライベートアクセスが必要です。エンドポイントのパブリックアクセスはオプションです。詳細については、「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 内から作成する必要があります。ConfigMapaws-auth の作成の詳細については、「ConfigMap」を参照してください。クラスターのユーザーまたは IAM ロールの管理

Considerations

ここでは、アウトバウンドインターネットアクセスのないプライベートクラスターで Amazon EKS を実行する場合に考慮すべき点をいくつか示します。

  • AWS X-Ray はプライベートクラスターではサポートされていません。

  • Amazon CloudWatch Logs はプライベートクラスターでサポートされていますが、Amazon CloudWatch Logs VPC エンドポイントを使用する必要があります。詳細については、「プライベートクラスターの VPC エンドポイント」を参照してください。

  • セルフマネージド型およびマネージド型ノードがサポートされています。ノードのインスタンスには VPC エンドポイントへのアクセスが必要です。マネージド型ノードグループを作成する場合、VPC エンドポイントセキュリティグループは、サブネットの CIDR を許可するか、作成されたノードセキュリティグループを VPC エンドポイントセキュリティグループに追加する必要があります。

  • IAMサービスアカウントの ロール がサポートされています。STS VPC エンドポイントを含める必要があります。詳細については、「プライベートクラスターの VPC エンドポイント」を参照してください。

  • Amazon EBS CSI ドライバー がサポートされています。デプロイする前に、kustomization.yaml ファイルを変更して、Amazon EKS クラスターと同じリージョンを使用するようにコンテナイメージを設定する必要があります。

  • Amazon EFS CSI ドライバー がサポートされています。デプロイする前に、kustomization.yaml ファイルを変更して、Amazon EKS クラスターと同じリージョンを使用するようにコンテナイメージを設定する必要があります。

  • Amazon FSx for Lustre CSI ドライバー はサポートされていません。

  • AWS Fargate はプライベートクラスターではサポートされていません。STS VPC エンドポイントを含める必要があります。詳細については、「プライベートクラスターの VPC エンドポイント」を参照してください。AWS ロードバランサーコントローラーを使用して、AWS Application Load Balancer と Network Load Balancer をデプロイできます。コントローラーは IP ターゲットを使用するnetwork load balancerをサポートします。これは Fargate で使用するために必要です。詳細については、「でのアプリケーションの負荷分散 Amazon EKS」および「ロードバラン–サーの IP ターゲット」を参照してください。

  • App Mesh は、App Mesh Envoy VPC エンドポイントを使用する場合、プライベートクラスターでサポートされます。詳細については、「プライベートクラスターの VPC エンドポイント」を参照してください。

コンテナイメージのローカルコピーの作成

プライベートクラスターにはアウトバウンドインターネットアクセスがないため、コンテナイメージを Docker Hub などの外部ソースからプルすることはできません。代わりに、コンテナイメージをローカルで Amazon ECR にコピーするか、VPC でアクセス可能な代替レジストリにコピーする必要があります。コンテナイメージは、プライベート 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

    注記

    新しいイメージの場所を使用するようにリソースの設定を更新してください。

    次の例では、タグ を使用して amazon/aws-node-termination-handlerv1.3.1-linux-amd64 イメージを Docker Hub からプルし、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 – Application Load Balancer を使用する場合

  • com.amazonaws.<region>.autoscaling – Cluster Autoscaler を使用する場合

  • com.amazonaws.<region>.appmesh-envoy-management – App Mesh を使用する場合