Amazon EKS クラスター用の VPC の作成 - Amazon EKS

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

Amazon EKS クラスター用の VPC の作成

Amazon Virtual Private Cloud (Amazon VPC) を使用すると、定義した仮想ネットワーク内で AWS リソースを起動できます。仮想ネットワークは、お客様自身のデータセンターで運用されていた従来のネットワークによく似ていますが、AWS のスケーラブルなインフラストラクチャを使用できるというメリットがあります。詳細については、 Amazon VPC ユーザーガイド および のクラスタ ネットワーキングの疑惑を取り除く Amazon EKS ノード.

既存の VPC を使用する場合は、Amazon EKS で使用するための特定の要件を満たしている必要があります。詳細については、クラスター VPC に関する考慮事項 を参照してください。このトピックでは、次のいずれかの設定を使用して、クラスターの VPC を作成する手順について説明します。

  • パブリックサブネットとプライベートサブネット – この VPC には、2 つのパブリックサブネットと 2 つのプライベート サブネットがあります。1 つのパブリックサブネットと 1 つのプライベートサブネットが同じ アベイラビリティーゾーン にデプロイされます。他のパブリックサブネットとプライベートサブネットは、同じリージョン内の 2 番目の アベイラビリティーゾーン にデプロイされます。このオプションは、すべての実稼働デプロイに推奨されます。このオプションでは、ノードをプライベートサブネットにデプロイし、Kubernetesがパブリックサブネットにロードバランサーをデプロイし、プライベートサブネットのノード上で実行されているポッドにトラフィックをロードバランスできます。

    パブリック IP アドレスは、パブリックサブネットの 1 つにデプロイされたリソースに自動的に割り当てられますが、プライベートサブネットにデプロイされたリソースにはパブリック IP アドレスが割り当てられません。プライベート・サブネット内のノードは、クラスタやその他の AWS ポッドはインターネットへのアウトバウンド通信を NAT ゲートウェイ それぞれに展開され アベイラビリティーゾーン. すべてのインバウンドトラフィックを拒否し、すべてのアウトバウンドトラフィックを許可するセキュリティグループがデプロイされます。サブネットには、Kubernetes がロードバランサーをデプロイできるようにタグが付けられています。サブネットのタグ付けの詳細については、「サブネットのタグ付け要件」を参照してください。このタイプの VPC の詳細については、「パブリックサブネットとプライベートサブネット (NAT) を持つ VPC」を参照してください。

  • パブリックサブネットのみ – この VPC には、リージョン内の異なる アベイラビリティーゾーン にデプロイされる 3 つのパブリックサブネットがあります。すべてのノードは、自動的にパブリックIPアドレスに割り当てられ、インターネット・ゲートウェイを介してインターネット・トラフィックを送受信できます。すべてのインバウンドトラフィックを拒否し、すべてのアウトバウンドトラフィックを許可するセキュリティグループがデプロイされます。サブネットには、Kubernetes がロードバランサーをデプロイできるようにタグが付けられています。サブネットのタグ付けの詳細については、「サブネットのタグ付け要件」を参照してください。このタイプの VPC の詳細については、「単一パブリックサブネットを持つ VPC」を参照してください。

  • プライベートサブネットのみ – この VPC には、リージョン内の異なる アベイラビリティーゾーン にデプロイされる 3 つのプライベートサブネットがあります。すべてのノードは、任意で、NAT インスタンスまたは NAT ゲートウェイを介してインターネット トラフィックを送受信できます。すべてのインバウンドトラフィックを拒否し、すべてのアウトバウンドトラフィックを許可するセキュリティグループがデプロイされます。サブネットには、Kubernetes が内部ロードバランサーをデプロイできるようにタグが付けられています。サブネットのタグ付けの詳細については、「サブネットのタグ付け要件」を参照してください。このタイプの VPC の詳細については、「プライベートサブネットのみを含む VPC と AWS Site-to-Site VPN アクセス」を参照してください。

    重要

    VPC に NAT インスタンス、NAT ゲートウェイ、VPN、Direct Connect などを介するアウトバウンドインターネットアクセスがない場合は、追加の要件を満たす必要があります。クラスター認証局とクラスター API エンドポイントをノードに提供することで、EKS クラスターのイントロスペクションをバイパスする必要があります。場合によって、「クラスターエンドポイントのアクセスの変更」に一覧表示されている VPC エンドポイントを設定する必要もあります。

重要

VPC をデプロイするために、eksctl を使用するか、Amazon EKS AWS CloudFormation VPC テンプレートのいずれかを使用した場合:

  • 以降 March 26, 2020 – パブリックIPv4アドレスは、パブリック・サブネットによって、パブリック・サブネットに導入された新しいノードに自動的に割り当てられます。

  • 前 March 26, 2020 – パブリックIPv4アドレスは、パブリックサブネットによって、パブリックサブネットに導入された新しいノードに自動的に割り当てられることはありません。

この変更は、パブリックサブネットにデプロイした新しいノードグループに、次のような影響を与えます。

Amazon EKS クラスター用の VPC の作成

VPCは、 パブリックおよびプライベートのサブネット、のみ パブリックサブネット、または のみ プライベート サブネット.

パブリックサブネットとプライベートサブネットを持つクラスター VPC を作成するには

  1. AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. ナビゲーションバーで、Amazon EKS をサポートするリージョンを選択します。

  3. [スタックの作成] を選択し、[With new resources (standard) (新しいリソースの使用 (標準))] を選択します。

  4. [Choose a template (テンプレートの選択)] で、[Specify an Amazon S3 template URL (Amazon S3 テンプレート URL の指定)] を選択します。

  5. 以下の URL をテキストエリアに貼り付けて、[次へ] を選択します。

    https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-08-12/amazon-eks-vpc-private-subnets.yaml
  6. [詳細の指定] ページで、必要に応じてパラメータを指定し、[次へ] を選択します。

    • スタック名: のスタック名を選択 AWS CloudFormation スタック。たとえば、[eks-vpc] に呼び出します。

    • Vpcブロック: VPCのCIDR範囲を選択します。 デプロイする各ワーカーノード、ポッド、ロードバランサーには、このブロックから IP アドレスが割り当てられます。デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。詳細については、Amazon VPC ユーザーガイドの「VPC とサブネットのサイズ設定」を参照してください。VPC が作成されたら、さらなる CIDR ブロックを VPC に追加することもできます。

    • PublicSubnet01ブロック: パブリック サブネット1のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • パブリックサブネット02ブロック: パブリック サブネット2のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • プライベートサブネット01ブロック: プライベート サブネット1のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • プライベートサブネット02ブロック: プライベート サブネット2のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

  7. (オプション) [オプション] ページで、スタックリソースをタグ付けします。[] を選択します。

  8. [Review (確認)] ページで、[ Create (作成)] を選択します。

  9. スタックが作成されたら、コンソールで選択し、[出力] を選択します。

  10. 作成されたセキュリティグループの [SecurityGroups] 値を記録します。クラスタにノードを追加する場合、セキュリティグループの ID を指定する必要があります。セキュリティグループは、 Amazon EKS コントロールプレーンを使用してノードと通信します。

  11. 作成された VPC の [VpcId] を記録します。これは、ノードグループテンプレートを起動するときに必要です。

  12. 作成されたサブネットの SubnetIds と、それらをパブリックサブネットとプライベートサブネットのどちらとして作成したかを記録します。クラスタにノードを追加する場合、ノードを起動するサブネットのIDを指定する必要があります。

パブリックサブネットのみを持つクラスター VPC を作成するには

  1. AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. ナビゲーションバーで、Amazon EKS をサポートするリージョンを選択します。

  3. [スタックの作成] を選択し、[With new resources (standard) (新しいリソースの使用 (標準))] を選択します。

  4. [Choose a template (テンプレートの選択)] で、[Specify an Amazon S3 template URL (Amazon S3 テンプレート URL の指定)] を選択します。

  5. 以下の URL をテキストエリアに貼り付けて、[次へ] を選択します。

    https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-08-12/amazon-eks-vpc-sample.yaml
  6. [詳細の指定] ページで、必要に応じてパラメータを指定し、[次へ] を選択します。

    • スタック名: のスタック名を選択 AWS CloudFormation スタック。たとえば、[eks-vpc] に呼び出します。

    • Vpcブロック: VPCのCIDRブロックを選択します。 デプロイする各ワーカーノード、ポッド、ロードバランサーには、このブロックから IP アドレスが割り当てられます。デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。詳細については、Amazon VPC ユーザーガイドの「VPC とサブネットのサイズ設定」を参照してください。VPC が作成されたら、さらなる CIDR ブロックを VPC に追加することもできます。

    • サブネット01ブロック: サブネット1のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • サブネット02ブロック: サブネット2のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • サブネット03ブロック: サブネット3のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

  7. (オプション) [オプション] ページで、スタックリソースをタグ付けします。[] を選択します。

  8. [Review (確認)] ページで、[ Create (作成)] を選択します。

  9. スタックが作成されたら、コンソールで選択し、[出力] を選択します。

  10. 作成されたセキュリティグループの [SecurityGroups] 値を記録します。クラスタにノードを追加する場合、セキュリティグループの ID を指定する必要があります。セキュリティグループは、 Amazon EKS コントロールプレーンを使用してノードと通信します。

  11. 作成された VPC の [VpcId] を記録します。これは、ノードグループテンプレートを起動するときに必要です。

  12. 作成されたサブネットの [SubnetIds] を記録します。クラスタにノードを追加する場合、ノードを起動するサブネットのIDを指定する必要があります。

パブリックサブネットのみを含むクラスター VPC を作成するには

  1. AWS CloudFormation コンソール (https://console.aws.amazon.com/cloudformation) を開きます。

  2. ナビゲーションバーで、Amazon EKS をサポートするリージョンを選択します。

  3. [スタックの作成] を選択し、[With new resources (standard) (新しいリソースの使用 (標準))] を選択します。

  4. [Choose a template (テンプレートの選択)] で、[Specify an Amazon S3 template URL (Amazon S3 テンプレート URL の指定)] を選択します。

  5. 以下の URL をテキストエリアに貼り付けて、[次へ] を選択します。

    https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-08-12/amazon-eks-fully-private-vpc.yaml
  6. [詳細の指定] ページで、必要に応じてパラメータを指定し、[次へ] を選択します。

    • スタック名: のスタック名を選択 AWS CloudFormation スタック。たとえば、[eks-vpc] に呼び出します。

    • Vpcブロック: VPCのCIDRブロックを選択します。 デプロイする各ワーカーノード、ポッド、ロードバランサーには、このブロックから IP アドレスが割り当てられます。デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。詳細については、Amazon VPC ユーザーガイドの「VPC とサブネットのサイズ設定」を参照してください。VPC が作成されたら、さらなる CIDR ブロックを VPC に追加することもできます。

    • プライベートサブネット01ブロック: サブネット1のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • プライベートサブネット02ブロック: サブネット2のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

    • プライベートサブネット03ブロック: サブネット3のCIDRブロックを指定します。 デフォルト値のままで、ほとんどの実装に十分な IP アドレスが提供されますが、提供されない場合は、その値を変更できます。

  7. (オプション) [オプション] ページで、スタックリソースをタグ付けします。[] を選択します。

  8. [Review (確認)] ページで、[ Create (作成)] を選択します。

  9. スタックが作成されたら、コンソールで選択し、[出力] を選択します。

  10. 作成されたセキュリティグループの [SecurityGroups] 値を記録します。クラスタにノードを追加する場合、セキュリティグループの ID を指定する必要があります。セキュリティグループは、 Amazon EKS コントロールプレーンを使用してノードと通信します。

  11. 作成された VPC の [VpcId] を記録します。これは、ノードグループテンプレートを起動するときに必要です。

  12. 作成されたサブネットの [SubnetIds] を記録します。クラスタにノードを追加する場合、ノードを起動するサブネットのIDを指定する必要があります。

次のステップ

VPC を作成したら、Amazon EKS の開始方法 ウォークスルーを使用できますが、Amazon EKS クラスター VPC を作成する セクションをスキップして、クラスターにこれらのサブネットおよびセキュリティグループを使用できます。