プライベートクラスター - 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 を実行する場合に考慮すべき点をいくつか示します。

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

プライベートクラスターにはアウトバウンドインターネットアクセスがないため、コンテナイメージを 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 を使用する場合