AWS Outposts で Amazon EKS クラスターの VPC とサブネットを作成する
ローカルクラスターを作成する際には、VPC と、Outposts で実行されるプライベートサブネットを少なくとも 1 つ指定します。このトピックでは、ローカルクラスターの VPC およびサブネットの要件と考慮事項について概要を説明します。
VPC の要件と考慮事項
ローカルクラスターを作成する際には、指定する VPC が次の要件と考慮事項を満たす必要があります。
-
VPC には、作成するローカルクラスター、すべてのノード、および作成するその他の Kubernetes リソースで利用できるだけの十分な数の IP アドレスが必要です。使用する VPC に十分な IP アドレスがない場合は、使用可能な IP アドレスの数を増やしてください。この操作を行うには、VPC への追加の Classless Inter-Domain Routing (CIDR) ブロックの関連付けが必要になります。クラスターの作成前または作成後に、プライベート (RFC 1918) とパブリック (非 RFC 1918) の CIDR ブロックを VPC に関連付けることができます。クラスターで VPC に関連付けた CIDR ブロックが認識されるまでに、最大 5 時間かかることがあります。
-
VPC に IP プレフィックスを割り当てたり、IPv6 CIDR ブロックを持たせることはできません。これらの制約があるため、 プレフィックスを使用して Amazon EKS ノードに割り当てる IP アドレスを増やす および クラスター、pods、サービスに対する IPv6 アドレスの説明 でカバーされた情報は VPC には適用されません。
-
VPC では DNS ホスト名と DNS 解決が有効になっています。これらの機能がないと、ローカルクラスターの作成は失敗し、機能を有効にしてクラスターを再作成する必要があります。詳細については、「Amazon VPC ユーザーガイド」の「DNS attributes for your VPC」(VPC の DNS 属性) を参照してください。
-
ローカルネットワーク経由でローカルクラスターにアクセスするには、VPC が Outpost のローカルゲートウェイルートテーブルに関連付けられている必要があります。詳細については、「AWS Outposts ユーザーガイド」の「VPC アソシエーション」を参照してください。
サブネットの要件と考慮事項
クラスターを作成する際には、少なくとも 1 つのプライベートサブネットを指定します。複数のサブネットを指定すると、Kubernetes コントロールプレーンインスタンスはサブネット全体に均等に分散されます。1 つ以上のサブネットを指定する場合、サブネットは同じ Outpost 上に存在する必要があります。また、相互に通信するために、サブネットには適切なルートとセキュリティグループ権限も必要です。ローカルクラスターの作成時に、指定するサブネットは次の要件を満たす必要があります。
-
サブネットはすべて、同じロジカル Outpost 上に存在すること。
-
Kubernetes コントロールプレーンインスタンスに対して、合計で少なくても 3 つ以上の使用可能な IP アドレスを用意してください。3 つのサブネットを指定する場合、各サブネットには少なくても 1 つ以上の使用可能な IP アドレスが必要です。2 つのサブネットを指定する場合、各サブネットには少なくても 2 つ以上の利用可能な IP アドレスが必要です。1 つのサブネットを指定する場合、サブネットには少なくても 3 つ以上の利用可能な IP アドレスが必要です。
-
ローカルネットワーク経由で Kubernetes API サーバーにアクセスするため、サブネットに Outpost ラックのローカルゲートウェイへのルートがあります。サブネットに Outpost ラックのローカルゲートウェイへのルートがない場合は、VPC 内から Kubernetes API サーバーと通信する必要があります。
-
サブネットでは IP アドレスベースの命名を使用する必要があります。Amazon EC2 のリソースベースの命名は、Amazon EKS でサポートされていません。
AWS サービスへのサブネットアクセス
Outposts 上のローカルクラスターのプライベートサブネットは、リージョンレベルの AWS サービスと通信できる必要があります。アウトバウンドインターネットアクセスに NAT ゲートウェイを使用するか、VPC 内ですべてのトラフィックをプライベートに保ちたい場合は、インターフェイス VPC エンドポイントを使用することによって、これを実現できます。
NAT ゲートウェイの使用
Outposts 上のローカルクラスターのプライベートサブネットには、Outposts の親アベイラビリティーゾーンにあるパブリックサブネット内の NAT ゲートウェイへのルートを持つ、関連付けられたルートテーブルが必要です。パブリックサブネットには、インターネットゲートウェイへのルートが必要です。NAT ゲートウェイはアウトバウンドのインターネットアクセスを可能にし、インターネットから Outpost のインスタンスへの未承諾なインバウンド接続を防ぎます。
インターフェイス VPC エンドポイントの使用
Outposts のローカルクラスターのプライベートサブネットにアウトバウンドインターネット接続がない場合、または VPC 内ですべてのトラフィックをプライベートに保ちたい場合は、クラスターを作成する前に、リージョンレベルのサブネットで次のインターフェイス VPC エンドポイントとゲートウェイエンドポイントを作成する必要があります。
エンドポイント | エンドポイントタイプ |
---|---|
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
インターフェイス |
|
ゲートウェイ |
エンドポイントは次の要件を満たしている必要があります。
-
Outpost の親アベイラビリティーゾーンにあるプライベートサブネットに作成されている
-
プライベートDNS 名が有効になっている
-
プライベート Outpost サブネットの CIDR 範囲からのインバウンド HTTPS トラフィックを許可するセキュリティグループがアタッチされている
エンドポイントを作成すると料金が発生します。詳細については、「AWS PrivateLink の料金
「VPC を作成する」
以下の AWS CloudFormation テンプレートのいずれかを使用して、前の要件を満たす VPC を作成できます。
-
テンプレート 1
— このテンプレートは、Outpost に 1 つのプライベートサブネット、また AWS リージョンに 1 つのパブリックサブネットを持つ VPC を作成します。プライベートサブネットには、AWS リージョンのパブリックサブネットにある NAT Gateway 経由でのインターネットへのルートがあります。このテンプレートを使用して、出力インターネットアクセスを持つサブネットにローカルクラスターを作成できます。 -
テンプレート 2
— このテンプレートは、Outpost に 1 つのプライベートサブネットと、入力または出力のインターネットアクセスがないサブネット (プライベートサブネットとも呼ばれる) にローカルクラスターを作成するために必要な最小限の VPC エンドポイントセットを含む VPC を作成します。