「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
プライベートクラスター
このトピックでは、アウトバウンドインターネットアクセスのないプライベートクラスターをデプロイする方法について説明します。ネットワークに詳しくない場合は、「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 エンドポイント」を参照してください。
-
Kubernetes 用 App Mesh サイドカーインジェクターがサポートされています。詳細については、 の「App Mesh サイドカーインジェクター
」を参照してください。GitHub -
Kubernetes 用 App Mesh コントローラーはサポートされていません。詳細については、 の「App Mesh コントローラー
」を参照してください。GitHub
-
コンテナイメージのローカルコピーの作成
プライベートクラスターにはアウトバウンドインターネットアクセスがないため、コンテナイメージを Docker Hub などの外部ソースからプルすることはできません。代わりに、コンテナイメージをローカルで Amazon ECR にコピーするか、VPC でアクセス可能な代替レジストリにコピーする必要があります。コンテナイメージは、プライベート VPC の外部から Amazon ECR にコピーできます。プライベートクラスターは、Amazon ECR VPC エンドポイントを使用して Amazon ECR リポジトリにアクセスします。ローカルコピーの作成に使用するワークステーションに Docker と AWS CLI がインストールされている必要があります。
コンテナイメージのローカルコピーを作成するには
-
Amazon ECR リポジトリを作成します。詳細については、「リポジトリの作成」を参照してください。
-
docker pull
を使用して外部レジストリからコンテナイメージをプルします。 -
docker tag
を使用して Amazon ECR レジストリ、リポジトリ、オプションのイメージタグ名の組み合わせによってイメージをタグ付けします。 -
レジストリに対して認証します。詳細については、「レジストリの認証」を参照してください。
-
を使用してイメージを Amazon ECR にプッシュします。
docker push
注記 新しいイメージの場所を使用するようにリソースの設定を更新してください。
次の例では、タグ を使用して
amazon/aws-node-termination-handler v1.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 を使用する場合