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

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

プライベートクラスター

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

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>
  • は VPC 内から作成aws-authConfigMapする必要があります。の作成の詳細については、「」を参照してくださいaws-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 ドライバー はサポートされていません。

  • でのアプリケーションロードバランシングAmazon EKS はプライベートクラスターでは機能しません。

  • AWS Fargate はプライベートクラスターではサポートされていません。STS VPC エンドポイントを含める必要があります。詳細については、を参照してください プライベートクラスターの VPC エンドポイント。AWS ロードバランサーコントローラーを使用して、 および AWS をデプロイできます。Application Load BalancerNetwork 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 がインストールされている必要があります。

コンテナイメージのローカルコピーを作成するには

  1. Amazon ECR リポジトリを作成します。詳細については、「リポジトリの作成」を参照してください。

  2. docker pull を使用して外部レジストリからコンテナイメージをプルします。

  3. docker tag を使用して Amazon ECR レジストリ、リポジトリ、オプションのイメージタグ名の組み合わせによってイメージをタグ付けします。

  4. レジストリに対して認証します。詳細については、「レジストリの認証」を参照してください。

  5. docker push を使用してイメージを Amazon ECR にプッシュします。

    注記

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

    以下の例では、タグ v1.3.1-linux-amd64 を使用して amazon/aws-node-termination-handler イメージを 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 を使用する場合