Amazon EKS
ユーザーガイド

クラスター VPC に関する考慮事項

Amazon EKS のクラスターの作成時には、使用するクラスターの Amazon VPC サブネットを指定します。Amazon EKS には、2 つ以上のアベイラビリティーゾーンにサブネットが必要です。ネットワークアーキテクチャとしては、ワーカーノードにプライベートサブネットを使用し、Kubernetes にパブリックサブネットを使用して、インターネット向けのロードバランサーを作成することをお勧めします。クラスターを作成するときに、クラスターのリソース (ワーカーノードやロードバランサーなど) をホストするすべてのサブネットを指定します。

注記

インターネット向けのロードバランサーでは、クラスターにパブリックサブネットが必要です。ワーカーノードには、クラスターの詳細分析と起動時のノード登録に対する Amazon EKS API に対するアウトバウンドのインターネットアクセスも必要です。コンテナイメージをプルするには、 Amazon S3 および Amazon ECR API にアクセスする必要があります (およびその他 DockerHub などのコンテナレジストリなど) 。詳細については、AWS General Referenceの「クラスターセキュリティグループの考慮事項」および「AWS IP アドレスの範囲」を参照してください。

Amazon EKS で制御プレーンに使用される Elastic Network Interface をワーカーノード通信に配置する場合のクラスター影響を作成する際に渡すサブネット。

クラスターの作成時にパブリックサブネットまたはプライベートサブネットのみを指定することができますが、これらの設定にはいくつかの制限があります。

  • プライベート専用: すべてプライベートサブネットで実行され、Kubernetes ではポッドのインターネット向けロードバランサーを作成することはできません。

  • パブリックのみ: すべてパブリックサブネットで実行されます (ワーカーノードを含む)。

Amazon EKS は、プライベートサブネットに Elastic Network Interface を作成し、ワーカーノードへの通信を円滑にします。この通信チャネルは、Kubernetes 機能 (kubectl exec および kubectl logs) をサポートしています。クラスターの作成時に指定するセキュリティグループは、クラスターコントロールプレーン用に作成された Elastic Network Interfaces に適用されます。

VPC は、DNS ホスト名と DNS 解決がサポートされている必要があります。そうしないと、ワーカーノードをクラスターに登録できません。詳細については、「Amazon VPC ユーザーガイド」の「VPC での DNS の使用」を参照してください。

VPC のタグ付け要件

Amazon EKS クラスターを作成すると、Amazon EKS は指定したサブネットが含まれている VPC に次の方法でタグ付けし、Kubernetes は VPC を検出できるようになります。

キー

kubernetes.io/cluster/<cluster-name>

shared

  • Key: <cluster-name> 値は、Amazon EKS クラスター名と一致します。

  • : shared 値は、この VPC を使用することを複数のクラスターに許可します。

サブネットのタグ付け要件

Amazon EKS クラスターを作成すると、 Amazon EKS は Kubernetes が指定したサブネットを次の方法でタグ付けし、それらを Kubernetes で 検出できるようにします。

キー

kubernetes.io/cluster/<cluster-name>

shared

  • Key: <cluster-name> 値は、Amazon EKS クラスターと一致します。

  • : shared 値は、複数のクラスターによるこのサブネットの使用を許可します。

内部ロードバランサー用のプライベートサブネットのタグ付け要件

VPC 内のプライベートサブネットを Kubernetes で内部ロードバランサーに使用できるよう、VPC 内のプライベートサブネットをタグ付ける必要があります。

キー

kubernetes.io/role/internal-elb

1