

 **このページの改善にご協力ください** 

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「**GitHub でこのページを編集する**」リンクを選択してください。

# ハイブリッドノードを使用して Amazon EKS クラスターを作成する
<a name="hybrid-nodes-cluster-create"></a>

このトピックでは、使用可能なオプションの概要と、ハイブリッドノード対応の Amazon EKS クラスターの作成時に考慮すべき点を説明します。EKS Hybrid Nodes には、クラウドノードを使用する Amazon EKS クラスターと同じ [Kubernetes バージョンのサポート](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)があります (標準サポートや拡張サポートなど)。

EKS Hybrid Nodes を使用する予定がない場合は、「[Amazon EKS クラスターを作成します。](create-cluster.md)」にある Amazon EKS でのクラスター作成に関する基本ドキュメントを参照してください。

## 前提条件
<a name="hybrid-nodes-cluster-create-prep"></a>
+ [ハイブリッドノードの前提条件のセットアップ](hybrid-nodes-prereqs.md) が完了していること。ハイブリッドノード対応クラスターを作成する前に、オンプレミスノードとオプションでポッド CIDR を特定し、EKS の要件とハイブリッドノードの要件に従って VPC とサブネットを作成し、オンプレミスおよびオプションでポッド CIDR のインバウンドルールを持つセキュリティグループを指定する必要があります。前提条件の詳細については、[ハイブリッドノード用のネットワークを準備する](hybrid-nodes-networking.md) を参照してください。
+ AWS コマンドラインインターフェイス (AWS CLI) の最新バージョンがデバイスにインストールおよび設定されていること。現在のバージョンを確認するには「`aws --version`」を参照してください。yum、apt-get、macOS 用の Homebrew などのパッケージマネージャーは、多くの場合 AWS CLI の最新バージョンより数バージョン古くなっています。最新バージョンをインストールするには、「AWS コマンドラインインターフェイスユーザーガイド」の「[AWS CLI の最新バージョンのインストールまたは更新](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)」および「[AWS CLI の設定の構成](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)」を参照してください。
+ IAM ロールを作成してポリシーをアタッチし、EKS クラスターを作成および記述するアクセス許可を持つ [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles#iam-term-principal)があること

## 考慮事項
<a name="hybrid-nodes-cluster-create-consider"></a>
+ クラスターは、クラスター認証モードに `API` または `API_AND_CONFIG_MAP` を使用する必要があります。
+ クラスターは IPv4 アドレスファミリーを使用する必要があります。
+ クラスターは、パブリッククラスターエンドポイント接続またはプライベートクラスターエンドポイント接続を使用する必要があります。ハイブリッドノードが VPC 外で実行される場合、Amazon EKS Kubernetes API サーバーエンドポイントがパブリック IP に解決されるため、クラスターは「パブリックおよびプライベート」のクラスターエンドポイント接続を使用できません。
+ OIDC 認証は、ハイブリッドノードが有効な EKS クラスターでサポートされています。
+ 既存のクラスターのハイブリッドノード設定を追加、変更、削除できます。詳細については、「[既存の Amazon EKS クラスターでハイブリッドノードを有効にするか、設定を変更する](hybrid-nodes-cluster-update.md)」を参照してください。

## ステップ 1: クラスター IAM ロールを作成する
<a name="hybrid-nodes-cluster-create-iam"></a>

既にクラスター IAM ロールがある場合や、`eksctl` または AWS CloudFormation を使用してクラスターを作成する場合は、このステップはスキップできます。デフォルトでは、`eksctl` および AWS CloudFormation テンプレートによってクラスター IAM ロールが作成されます。

1. IAM 信頼ポリシー用の JSON ファイルを作成するには次のコマンドを実行してください。

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "eks.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

1. Amazon EKS クラスターの IAM ロールを作成します。必要であれば、前のステップでファイルを書き込んだコンピュータ上のパスを eks-cluster-role-trust-policy.json の前につけます。このコマンドは前のステップで作成した信頼ポリシーをロールに関連付けます。IAM ロールを作成するにはロールを作成する [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles#iam-term-principal)に `iam:CreateRole` アクション (許可) を割り当てる必要があります。

   ```
   aws iam create-role \
       --role-name myAmazonEKSClusterRole \
       --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
   ```

1. Amazon EKS 管理のポリシーを割り当てるか、独自のカスタムポリシーを作成できます。カスタムポリシーで使用する必要がある最小限の許可については、「[Amazon EKS ノードの IAM ロール](create-node-role.md)」を参照してください。このロールに、Amazon EKS 管理の IAM ポリシー (`AmazonEKSClusterPolicy`) をアタッチします。IAM ポリシーを [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles#iam-term-principal)にアタッチするには、ポリシーのアタッチを行っているプリンシパルに、次のいずれかの IAM アクション (許可) を割り当てる必要があります: `iam:AttachUserPolicy` または `iam:AttachRolePolicy`。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \
       --role-name myAmazonEKSClusterRole
   ```

## ステップ 2: ハイブリッドノード対応クラスターを作成する
<a name="hybrid-nodes-cluster-create-cluster"></a>

以下を使用してクラスターを作成できます：
+  [eksctl](#hybrid-nodes-cluster-create-eksctl) 
+  [AWS CloudFormation](#hybrid-nodes-cluster-create-cfn) 
+  [AWS CLI](#hybrid-nodes-cluster-create-cli) 
+  [AWS マネジメントコンソール](#hybrid-nodes-cluster-create-console) 

### ハイブリッドノード対応クラスターの作成 - eksctl
<a name="hybrid-nodes-cluster-create-eksctl"></a>

`eksctl` コマンドラインツールの最新バージョンをインストールする必要があります。`eksctl` をインストールまたはアップグレードするには`eksctl` ドキュメントの「[インストール](https://eksctl.io/installation)」を参照してください。

1. `cluster-config.yaml` を作成して、ハイブリッドノード対応の Amazon EKS IPv4 クラスターを定義します。`cluster-config.yaml` で以下の置換を実行します。設定の完全なリストについては、「[eksctl documentation](https://eksctl.io/getting-started/)」を参照してください。

   1. `CLUSTER_NAME` をクラスターの名前に置き換えます。この名前には英数字 (大文字と小文字が区別されます) とハイフンのみを使用できます。先頭の文字は英数字である必要があります。また、100 文字より長くすることはできません。名前はクラスターを作成する AWS リージョンおよび AWS アカウント内で一意である必要があります。

   1. `AWS_REGION` を、クラスターを作成する AWS リージョンに置き換えます。

   1. `K8S_VERSION` を [Amazon EKS がサポートする任意のバージョン](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)に置き換えます。

   1. [ハイブリッドノードの認証情報を準備する](hybrid-nodes-creds.md) のステップで設定した認証情報プロバイダーに基づいて、`CREDS_PROVIDER` を `ssm` または `ira` に置き換えます。

   1. 認証情報プロバイダーが `ira` に設定されている場合 (AWS IAM Roles Anywhere を認証情報プロバイダーとして使用)、`CA_BUNDLE_CERT` を置き換えます。CA\_BUNDLE\_CERT は認証機関 (CA) 証明書本文であり、CA の選択によって異なります。証明書はプライバシー強化メール (PEM) 形式である必要があります。

   1. `GATEWAY_ID` を、VPC にアタッチする仮想プライベートゲートウェイまたはトランジットゲートウェイの ID に置き換えます。

   1. `REMOTE_NODE_CIDRS` を、ハイブリッドノードのオンプレミスノード CIDR に置き換えます。

   1. `REMOTE_POD_CIDRS` をハイブリッドノードで実行されているワークロードのオンプレミスポッド CIDR に置き換えるか、ハイブリッドノードでウェブフックを実行していない場合は設定から行を削除します。CNI がネットワークアドレス変換 (NAT) を使用しない場合や、ポッドトラフィックがオンプレミスホストから出るときにポッド IP アドレスをマスクする場合は、`REMOTE_POD_CIDRS` を設定する必要があります。ハイブリッドノードでウェブフックを実行している場合は、`REMOTE_POD_CIDRS` を設定する必要があります。詳細については、「[ハイブリッドノード用のウェブフックを設定する](hybrid-nodes-webhooks.md)」を参照してください。

   1. オンプレミスノードとポッド CIDR ブロックは、以下の要件を満たしている必要があります。

      1. IPv4 RFC-1918 のいずれかの範囲内にある (`10.0.0.0/8`、`172.16.0.0/12`、または `192.168.0.0/16`) か、RFC 6598 で定義される CGNAT 範囲内にある (`100.64.0.0/10`) こと。

      1. 相互に、クラスターの `VPC CIDR`、または Kubernetes サービスの IPv4 CIDR と重複しないこと

         ```
         apiVersion: eksctl.io/v1alpha5
         kind: ClusterConfig
         
         metadata:
           name: CLUSTER_NAME
           region: AWS_REGION
           version: "K8S_VERSION"
         
         remoteNetworkConfig:
           iam:
             provider: CREDS_PROVIDER # default SSM, can also be set to IRA
             # caBundleCert: CA_BUNDLE_CERT
           vpcGatewayID: GATEWAY_ID
           remoteNodeNetworks:
           - cidrs: ["REMOTE_NODE_CIDRS"]
           remotePodNetworks:
           - cidrs: ["REMOTE_POD_CIDRS"]
         ```

1. 次のコマンドを実行してください：

   ```
   eksctl create cluster -f cluster-config.yaml
   ```

   クラスターのプロビジョニングには数分かかります。クラスターの作成中は数行の出力が表示されます。出力の最後の行は次のサンプル行のようになります。

   ```
   [✓]  EKS cluster "CLUSTER_NAME" in "REGION" region is ready
   ```

1. 「[ステップ 3: kubeconfig を更新する](#hybrid-nodes-cluster-create-kubeconfig)」に進みます。

### ハイブリッドノード対応クラスターの作成 - AWS CloudFormation
<a name="hybrid-nodes-cluster-create-cfn"></a>

CloudFormation スタックは、指定した `RemotePodNetwork` と `RemoteNodeNetwork` を使用して、EKS クラスター IAM ロールと EKS クラスターを作成します。CloudFormation テンプレートで公開されていない EKS クラスターの設定をカスタマイズする必要がある場合は、CloudFormation テンプレートを変更します。

1. CloudFormation テンプレートをダウンロードします。

   ```
   curl -OL 'https://raw.githubusercontent.com/aws/eks-hybrid/refs/heads/main/example/hybrid-eks-cfn.yaml'
   ```

1. `cfn-eks-parameters.json` を作成し、各値の設定を指定します。

   1.  `CLUSTER_NAME`: 作成する EKS クラスターの名前。

   1.  `CLUSTER_ROLE_NAME`: 作成する EKS クラスター IAM ロールの名前。テンプレートのデフォルトは「EKSClusterRole」です。

   1.  `SUBNET1_ID`: 前提条件のステップで作成した最初のサブネットの ID

   1.  `SUBNET2_ID`: 前提条件のステップで作成した 2 番目のサブネットの ID

   1.  `SG_ID`: 前提条件のステップで作成したセキュリティグループの ID

   1.  `REMOTE_NODE_CIDRS`: ハイブリッドノードのオンプレミスノード CIDR

   1.  `REMOTE_POD_CIDRS`: ハイブリッドノードで実行されているワークロードのオンプレミスポッド CIDR CNI がネットワークアドレス変換 (NAT) を使用しない場合や、ポッドトラフィックがオンプレミスホストから出るときにポッド IP アドレスをマスクする場合は、`REMOTE_POD_CIDRS` を設定する必要があります。ハイブリッドノードでウェブフックを実行している場合は、`REMOTE_POD_CIDRS` を設定する必要があります。詳細については、「[ハイブリッドノード用のウェブフックを設定する](hybrid-nodes-webhooks.md)」を参照してください。

   1. オンプレミスノードとポッド CIDR ブロックは、以下の要件を満たしている必要があります。

      1. IPv4 RFC-1918 のいずれかの範囲内にある (`10.0.0.0/8`、`172.16.0.0/12`、または `192.168.0.0/16`) か、RFC 6598 で定義される CGNAT 範囲内にある (`100.64.0.0/10`) こと。

      1. 相互に、クラスターの `VPC CIDR`、または Kubernetes サービスの IPv4 CIDR と重複しないこと。

   1.  `CLUSTER_AUTH`: クラスターのクラスター認証モード。有効な値は、`API` および `API_AND_CONFIG_MAP` です。テンプレートのデフォルトは `API_AND_CONFIG_MAP` です。

   1.  `CLUSTER_ENDPOINT`: クラスターのクラスターエンドポイント接続。有効な値は「Public」および「Private」です。テンプレートのデフォルトは Private です。つまり、Kubernetes API エンドポイントには VPC 内からしか接続できません。

   1.  `K8S_VERSION`: クラスターに使用する Kubernetes のバージョン。「[サポートされている Amazon EKS バージョン](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)」を参照してください。

      ```
      {
        "Parameters": {
          "ClusterName": "CLUSTER_NAME",
          "ClusterRoleName": "CLUSTER_ROLE_NAME",
          "SubnetId1": "SUBNET1_ID",
          "SubnetId2": "SUBNET2_ID",
          "SecurityGroupId" "SG_ID",
          "RemoteNodeCIDR": "REMOTE_NODE_CIDRS",
          "RemotePodCIDR": "REMOTE_POD_CIDRS",
          "ClusterAuthMode": "CLUSTER_AUTH",
          "ClusterEndpointConnectivity": "CLUSTER_ENDPOINT",
          "K8sVersion": "K8S_VERSION"
        }
       }
      ```

1. CloudFormation スタックをデプロイします。`STACK_NAME` を CloudFormation スタックの名前に置き換え、`AWS_REGION` をクラスターを作成する AWS リージョンに置き換えます。

   ```
   aws cloudformation deploy \
       --stack-name STACK_NAME \
       --region AWS_REGION \
       --template-file hybrid-eks-cfn.yaml \
       --parameter-overrides file://cfn-eks-parameters.json \
       --capabilities CAPABILITY_NAMED_IAM
   ```

   クラスターのプロビジョニングには数分かかります。以下のコマンドを使用してスタックの状態を確認できます。`STACK_NAME` を CloudFormation スタックの名前に置き換え、`AWS_REGION` をクラスターを作成する AWS リージョンに置き換えます。

   ```
   aws cloudformation describe-stacks \
       --stack-name STACK_NAME \
       --region AWS_REGION \
       --query 'Stacks[].StackStatus'
   ```

1. 「[ステップ 3: kubeconfig を更新する](#hybrid-nodes-cluster-create-kubeconfig)」に進みます。

### ハイブリッドノード対応クラスターの作成 - AWS CLI
<a name="hybrid-nodes-cluster-create-cli"></a>

1. 以下のコマンドを実行して、ハイブリッドノード対応の EKS クラスターを作成します。コマンドを実行する前に、以下を自分の設定に置き換えます。設定の完全なリストについては、[Amazon EKS クラスターを作成します。](create-cluster.md) のドキュメントを参照してください。

   1.  `CLUSTER_NAME`: 作成する EKS クラスターの名前。

   1.  `AWS_REGION`: クラスターを作成する AWS リージョン。

   1.  `K8S_VERSION`: クラスターに使用する Kubernetes のバージョン。「サポートされている Amazon EKS バージョン」を参照してください。

   1.  `ROLE_ARN`: クラスター用に設定した Amazon EKS クラスターロール。詳細については、「Amazon EKS クラスターの IAM ロール」を参照してください。

   1.  `SUBNET1_ID`: 前提条件のステップで作成した最初のサブネットの ID

   1.  `SUBNET2_ID`: 前提条件のステップで作成した 2 番目のサブネットの ID

   1.  `SG_ID`: 前提条件のステップで作成したセキュリティグループの ID

   1. クラスターアクセス認証モードには `API`と `API_AND_CONFIG_MAP` を使用できます。以下のコマンドでは、クラスターアクセス認証モードは `API_AND_CONFIG_MAP` に設定されています。

   1. `endpointPrivateAccess` パラメータ と `endpointPublicAccess` パラメータを使用して、クラスターの Kubernetes API サーバーエンドポイントへのパブリックとプライベートアクセスを有効または無効にすることができます。以下のコマンドでは、`endpointPublicAccess` は false に設定され、`endpointPrivateAccess` は true に設定されています。

   1.  `REMOTE_NODE_CIDRS`: ハイブリッドノードのオンプレミスノード CIDR。

   1.  `REMOTE_POD_CIDRS` (オプション): ハイブリッドノードで実行されているワークロードのオンプレミスポッド CIDR

   1. オンプレミスノードとポッド CIDR ブロックは、以下の要件を満たしている必要があります。

      1. IPv4 RFC-1918 のいずれかの範囲内にある (`10.0.0.0/8`、`172.16.0.0/12`、または `192.168.0.0/16`) か、RFC 6598 で定義される CGNAT 範囲内にある (`100.64.0.0/10`) こと。

      1. 相互に、Amazon EKS クラスターの `VPC CIDR`、または Kubernetes サービスの IPv4 CIDR と重複しないこと。

         ```
         aws eks create-cluster \
             --name CLUSTER_NAME \
             --region AWS_REGION \
             --kubernetes-version K8S_VERSION \
             --role-arn ROLE_ARN \
             --resources-vpc-config subnetIds=SUBNET1_ID,SUBNET2_ID,securityGroupIds=SG_ID,endpointPrivateAccess=true,endpointPublicAccess=false \
             --access-config authenticationMode=API_AND_CONFIG_MAP \
             --remote-network-config '{"remoteNodeNetworks":[{"cidrs":["REMOTE_NODE_CIDRS"]}],"remotePodNetworks":[{"cidrs":["REMOTE_POD_CIDRS"]}]}'
         ```

1. クラスターがプロビジョニングされるまでに数分かかります。クラスターのステータスのクエリを実行するには次のコマンドを使用します。`CLUSTER_NAME` を、作成しているクラスターの名前に置き換え、`AWS_REGION` を、クラスターを作成している AWS リージョンに置き換えます。出力が「`ACTIVE`」を返すまで、次のステップに進まないでください。

   ```
   aws eks describe-cluster \
       --name CLUSTER_NAME \
       --region AWS_REGION \
       --query "cluster.status"
   ```

1. 「[ステップ 3: kubeconfig を更新する](#hybrid-nodes-cluster-create-kubeconfig)」に進みます。

### ハイブリッドノード対応クラスターの作成 - AWS マネジメントコンソール
<a name="hybrid-nodes-cluster-create-console"></a>

1. [Amazon EKS コンソール](https://console.aws.amazon.com/eks/home#/clusters)で Amazon EKS コンソールを開きます。

1. [クラスターを追加]、[作成] の順にクリックします。

1. [クラスターの設定] ページで、次のフィールドに入力します。

   1.  **[名前]** - クラスターの名前。この名前には英数字 (大文字と小文字が区別されます)、ハイフン、下線のみを使用できます。先頭の文字は英数字である必要があります。また、100 文字より長くすることはできません。名前はクラスターを作成する AWS リージョンおよび AWS アカウント内で一意である必要があります。

   1.  **[クラスター IAM ロール]** – ユーザーに代わって AWS リソースを管理することを Kubernetes コントロールプレーンに許可するために作成した Amazon EKS クラスター IAM ロールを選択します。

   1.  **[Kubernetes バージョン]** – クラスターで使用する Kubernetes のバージョン。以前のバージョンが必要でない限り、最新バージョンを選択することをお勧めします。

   1.  **[アップグレードポリシー]** — 拡張または標準を選択します。

      1.  **拡張:** このオプションは、リリース日から 26 か月間 Kubernetes バージョンをサポートします。延長サポート期間には、標準サポート期間終了後に開始される追加の時間単位のコストがかかります。延長サポートが終了すると、クラスターは次のバージョンに自動的にアップグレードされます。

      1.  **標準:** このオプションは、リリース日から 14 か月間 Kubernetes バージョンをサポートします。追加コストはかかりません。標準サポートが終了すると、クラスターは次のバージョンに自動的にアップグレードされます。

   1.  **クラスターアクセス** - クラスター管理者アクセスを許可または禁止し、認証モードを選択します。ハイブリッドノードが有効なクラスターでは、以下の認証モードがサポートされます。

      1.  **EKS API**: クラスターは、認証された IAM プリンシパルを EKS アクセスエントリ API からのみ取得します。

      1.  **EKS API と ConfigMap**: クラスターは、EKS アクセスエントリ API と `aws-auth` ConfigMap の両方から認証された IAM プリンシパルを取得します。

   1.  **[Secret encryption]** (シークレット暗号化) – (オプション) KMS キーを使用して Kubernetes シークレットのシークレット暗号化を有効にするよう選択します。クラスターを作成した後で、これを有効にすることもできます。この機能を有効にする前に、[既存のクラスターで KMS を使用して Kubernetes シークレットを暗号化する](enable-kms.md) の情報をよく理解していることを確認してください。

   1.  **ARC ゾーンシフト** - 有効にすると、EKS はクラスターを ARC ゾーンシフトに登録し、ゾーンシフトを使用してアプリケーショントラフィックを AZ から遠ざけることができるようになります。

   1.  **[タグ]** - (オプション) クラスターに任意のタグを追加します。詳細については、「[タグを使用して Amazon EKS リソースを整理する](eks-using-tags.md)」を参照してください。

   1. このページを読み終えたら、**[次へ]** を選択してください。

1. **[ネットワーキングの指定]** ページで、次のフィールドの値を選択してください：

   1.  **VPC** – [VPC とサブネットの Amazon EKS ネットワーキング要件を表示する](network-reqs.md) および [Amazon EKS Hybrid Nodes](hybrid-nodes-prereqs.md) の要件を満たす既存の VPC を選択します。VPC を選択する前に、「VPC、サブネット、ハイブリッドノードの Amazon EKS ネットワーキング要件を表示する」の要件と考慮事項をすべて理解しておくことをお勧めします。クラスターの作成後は使用する VPC を変更できません。VPC が表示されていない場合はまず作成する必要があります。詳細については、「[Amazon EKS クラスターの Amazon VPC を作成する](creating-a-vpc.md)」および「[Amazon EKS Hybrid Nodes のネットワーク要件](hybrid-nodes-prereqs.md)」を参照してください。

   1.  **[サブネット]** - デフォルトで、前のフィールドで指定した VPC 内の利用可能なすべてのサブネットがあらかじめ選択されています。少なくとも 2 つ選択する必要があります。

   1.  **[セキュリティグループ]** - (オプション Amazon EKS が作成するネットワークインターフェイスに関連付ける 1 つまたは複数のセキュリティグループを指定します。指定するセキュリティグループの少なくとも 1 つには、オンプレミスのノードとオプションで ポッド CIDR に対するインバウンドルールが必要です。詳細については、「[Amazon EKS Hybrid Nodes のネットワーク要件](hybrid-nodes-networking.md)」を参照してください。セキュリティグループを選択するかどうかにかかわらず、Amazon EKS はクラスターと VPC 間の通信を可能にするセキュリティグループを作成します。Amazon EKS はこのセキュリティグループおよびユーザーが選択したセキュリティグループを、作成するネットワークインターフェイスに関連付けます。Amazon EKS が作成するクラスターセキュリティグループの詳細については、「[クラスターの Amazon EKS セキュリティグループ要件を表示する](sec-group-reqs.md)」を参照してください。Amazon EKS が作成するクラスターセキュリティグループのルールは変更できます。

   1.  **クラスター IP アドレスファミリーの選択** — ハイブリッドノード対応クラスターには IPv4 を選択する必要があります。

   1. (オプション) **[Kubernetes サービス IP アドレスの範囲を設定する]** を選択し、**[サービスの IPv4 範囲]** を指定します。

   1.  **[リモートネットワークを設定してハイブリッドノードを有効にする]** を選択し、ハイブリッドノードのオンプレミスノードとポッド CIDR を指定します。

   1. ポッドトラフィックがオンプレミスホストを離れる際、CNI がポッド IP アドレスに対してネットワークアドレス変換 (NAT) またはマスカレードを使用しない場合は、リモートポッド CIDR を設定する必要があります。ハイブリッドノードでウェブフックを実行している場合は、リモートポッド CIDR を設定する必要があります。

   1. オンプレミスノードとポッド CIDR ブロックは、以下の要件を満たしている必要があります。

      1. IPv4 RFC-1918 のいずれかの範囲内にある (`10.0.0.0/8`、`172.16.0.0/12`、または `192.168.0.0/16`) か、RFC 6598 で定義される CGNAT 範囲内にある (`100.64.0.0/10`) こと。

      1. 相互に、クラスターの `VPC CIDR`、または Kubernetes サービスの IPv4 CIDR と重複しないこと

   1. **[クラスターエンドポイントのアクセス]** で、オプションを選択してください。クラスターを作成した後で、このオプションを変更できます。ハイブリッドノードが有効なクラスターの場合は、パブリックまたはプライベートのいずれかを選択する必要があります。デフォルト以外のオプションを選択する前に、オプションとその意味を理解しておいてください。詳細については「[クラスター API サーバーエンドポイント](cluster-endpoint.md)」を参照してください。

   1. このページを読み終えたら、**[次へ]** を選択してください。

1. (オプション) **[オブザーバビリティの設定]** ページで、有効にする [メトリクス] と [コントロールプレーンのロギング] オプションを選択します。デフォルトではそれぞれのログタイプは無効化されています。

   1. Prometheus メトリクスの詳細については、「[Prometheus を使用してクラスターのメトリクスをモニタリングする](prometheus.md)」を参照してください。

   1. EKS コントロールのログ記録のオプションの詳細については、「[コントロールプレーンログを CloudWatch Logs に送信する](control-plane-logs.md)」を参照してください。

   1. このページを読み終えたら、**[次へ]** を選択してください。

1. **[アドオンの選択]** ページで、クラスターに追加するアドオンを選択してください。

   1. **[Amazon EKS アドオン]** と **[AWS マーケットプレイス アドオン]** は必要な数だけ選択できます。ハイブリッドノードと互換性のない Amazon EKS アドオンは「ハイブリッドノードと互換性がない」とマークされ、これらのアドオンには、ハイブリッドノードで実行されないようにするためのアンチアフィニティルールが設定されます。詳細については、「ハイブリッドノードのアドオンの設定」を参照してください。インストールする **[AWS Marketplace アドオン]** が一覧にない場合は、検索ボックスにテキストを入力して、利用可能な **[AWS Marketplace アドオン]** を検索できます。**[カテゴリ]**、**[ベンダー]**、または **[価格モデル]** で検索し、検索結果からアドオンを選択することもできます。

   1. CoreDNS や kube-proxy などの一部のアドオンは、デフォルトでインストールされます。デフォルトのアドオンのいずれかを無効にすると、Kubernetes アプリケーションを実行する機能に影響する場合があります。

   1. このページを読み終えたら、[`Next`] を選択してください。

1. **[選択したアドオン設定の構成]** ページで、インストールするバージョンを選択し、[次へ] を選択してください。

   1. クラスターを作成した後はいつでも新しいバージョンに更新できます。クラスターの作成後に、各アドオンの設定を更新できます。アドオンの設定の詳細については「[Amazon EKS アドオンを更新する](updating-an-add-on.md)」を参照してください。ハイブリッドノードと互換性のあるアドオンのバージョンについては、「[ハイブリッドノードのアドオンを構成する](hybrid-nodes-add-ons.md)」を参照してください。

   1. このページを読み終えたら、[次へ] を選択してください。

1. **[確認と作成]** ページで、前のページで入力または選択した情報を確認します。変更する必要がある場合は**[編集]** を選択してください。そのままでよければ、**[作成]** を選択してください。クラスターがプロビジョニングされている間、**[ステータス]** フィールドに **[作成中]** と表示されます。クラスターのプロビジョニングには数分かかります。

1. 「[ステップ 3: kubeconfig を更新する](#hybrid-nodes-cluster-create-kubeconfig)」に進みます。

## ステップ 3: kubeconfig を更新する
<a name="hybrid-nodes-cluster-create-kubeconfig"></a>

`eksctl` を使用してクラスターを作成した場合、このステップはスキップできます。`eksctl` によってこのステップは既に完了しているからです。新しいコンテキストを `kubectl` 設定ファイルに追加して、`kubectl` がクラスターと通信できるようにします。ファイルを作成および更新する方法の詳細については「[kubeconfig ファイルを作成して kubectl を EKS クラスターに接続する](create-kubeconfig.md)」を参照してください。

```
aws eks update-kubeconfig --name CLUSTER_NAME --region AWS_REGION
```

出力例は次のとおりです。

```
Added new context arn:aws:eks:AWS_REGION:111122223333:cluster/CLUSTER_NAME to /home/username/.kube/config
```

次のコマンドを実行して、クラスターとの通信を確認します。

```
kubectl get svc
```

出力例は次のとおりです。

```
NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   28h
```

## ステップ 4: クラスターのセットアップ
<a name="_step_4_cluster_setup"></a>

次のステップとして、ハイブリッドノードをクラスターに参加させるためにアクセスを有効にする手順は、「[ハイブリッドノードのクラスターアクセスを準備する](hybrid-nodes-cluster-prep.md)」を参照してください。