ロードバランシング - Amazon EKS

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

ロードバランシング

Amazon EKS は、 Network Load Balancer そして Classic Load Balancer で稼働しているポッド用 Amazon EC2 タイプの Kubernetes サービスを介してインスタンスノード LoadBalancer. UDP プロトコルの使用は、バージョン 1.15 以降のロードバランサーでサポートされており、最小またはそれ以降のプラットフォームバージョンを実行しているクラスタでサポートされています。詳細については、プラットフォームのバージョン を参照してください。クラシック ロード バランサーとネットワーク ロード バランサーは、 AWS Fargate (Fargate). Fargate 入力の場合は、Amazon EKS (最小バージョン v1.1.8) で ALB Ingress Controller を使用することをお勧めします。

ロードバランサーの設定は、サービス用のマニフェストに追加された注釈により制御されます。デフォルトでは、Classic Load Balancer は LoadBalancer タイプのサービスに使用されます。代わりに Network Load Balancer を使用するには、以下の注釈をサービスに適用します。

service.beta.kubernetes.io/aws-load-balancer-type: nlb

ロードバランサーを指定するサービスマニフェストの例については、Kubernetes ドキュメントの「Type LoadBalancer」を参照してください。Kubernetes で Network Load Balancer を使用する方法の詳細は、Kubernetes ドキュメントの AWS の ネットワークロードバランサー対応 を参照してください。

デフォルトでは、LoadBalancer タイプのサービスにより、パブリック側のロードバランサーが作成されます。内部ロードバランサーを使用するには、以下の注釈をサービスに適用します。

service.beta.kubernetes.io/aws-load-balancer-internal: "true"

内部ロードバランサーの場合、Amazon EKS クラスターは、VPC 内で少なくとも 1 つのプライベートサブネットを使用するように設定されている必要があります。Kubernetes は、サブネットがパブリックかプライベートかどうかをルートテーブルで調べます。パブリックサブネットには、インターネットゲートウェイを使ったインターネットへの直接の経路がありますが、プライベートサブネットにはありません。

ロードバランサー用のサブネットのタグ付け

各アベイラビリティーゾーンでパブリックサブネットを選択するのではなく (サブネット ID の辞書順)、Kubernetes がそれらのサブネットのみを外部ロードバランサーに使用することを認識できるように、VPC のパブリックサブネットをタグ付けする必要があります。March 26, 2020 以降に Amazon EKS AWS CloudFormation テンプレートを使用して VPC を作成する場合、テンプレートによって作成されたサブネットは、作成時にタグ付けされます。Amazon EKS AWS CloudFormation VPC テンプレートの詳細については、「Amazon EKS クラスター用の VPC の作成」を参照してください。

キー

kubernetes.io/role/elb

1

プライベートサブネットは、Kubernetes が内部ロードバランサーにサブネットを使用できることを認識できるように、次のようにタグ付けする必要があります。March 26, 2020 以降に Amazon EKS AWS CloudFormation テンプレートを使用して VPC を作成する場合、テンプレートによって作成されたサブネットは、作成時にタグ付けされます。Amazon EKS AWS CloudFormation VPC テンプレートの詳細については、「Amazon EKS クラスター用の VPC の作成」を参照してください。

キー

kubernetes.io/role/internal-elb

1