

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

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

# 既存の Amazon EKS クラスターでハイブリッドノードを有効にするか、設定を変更する
<a name="hybrid-nodes-cluster-update"></a>

このトピックでは、使用可能なオプションの概要と、Amazon EKS クラスターのハイブリッドノード設定を追加、変更、削除する際の考慮事項について説明します。

Amazon EKS クラスターでハイブリッドノードを使用できるようにするには、オンプレミスノードとポッドネットワーク (オプション) の IP アドレス CIDR 範囲を `RemoteNetworkConfig` 設定に追加します。EKS では、この CIDR リストを使用して、クラスターとオンプレミスネットワーク間の接続を有効にします。クラスター設定を更新する際のオプションについては、「*Amazon EKS API リファレンス*」の「[UpdateClusterConfig](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateClusterConfig.html)」でリスト全体を確認できます。

クラスター内にある EKS Hybrid Nodes のネットワーク設定では、次のいずれかのアクションを実行できます。
+  [リモートネットワーク設定を追加して、既存のクラスターで EKS Hybrid Nodes を有効にする。](#hybrid-nodes-cluster-enable-existing)
+  [既存のクラスター内のリモートノードネットワークまたはリモートポッドネットワークを追加、変更、削除する。](#hybrid-nodes-cluster-update-config)
+  [すべてのリモートノードネットワーク CIDR 範囲を削除して、既存のクラスターの EKS Hybrid Nodes を無効にする。](#hybrid-nodes-cluster-disable)

## 前提条件
<a name="hybrid-nodes-cluster-enable-prep"></a>
+ ハイブリッドノードの Amazon EKS クラスターを有効にする前に、環境が次の要件を満たしていることを確認してください: 「[ハイブリッドノードの前提条件のセットアップ](hybrid-nodes-prereqs.md)」で概説されている要件に加え、「[ハイブリッドノード用のネットワークを準備する](hybrid-nodes-networking.md)」、「[ハイブリッドノード用のオペレーティングシステムを準備する](hybrid-nodes-os.md)」、「[ハイブリッドノードの認証情報を準備する](hybrid-nodes-creds.md)」で詳述されている要件
+ クラスターは IPv4 アドレスファミリーを使用する必要があります。
+ クラスターは、クラスター認証モードに `API` または `API_AND_CONFIG_MAP` を使用する必要があります。クラスター認証モードを変更するプロセスについては、「[アクセスエントリを使用するように認証モードを変更する](setting-up-access-entries.md)」を参照してください。
+ Amazon EKS Kubernetes API サーバーエンドポイントには、パブリックまたはプライベートいずれか (両方ではなく) のエンドポイントアクセスを使用することが推奨されます。「Public and Private (パブリックとプライベート)」を選択した場合、Amazon EKS Kubernetes API サーバーエンドポイントは、常に VPC の外部で稼働しているハイブリッドノードのパブリック IP に解決されるため、ハイブリッドノードがクラスターに参加できなくなる可能性があります。クラスターへのネットワークアクセスを変更するプロセスについては、「[クラスター API サーバーエンドポイント](cluster-endpoint.md)」を参照してください。
+ AWS コマンドラインインターフェイス (AWS CLI) の最新バージョンがデバイスにインストールおよび設定されていること。現在のバージョンを確認するには「`aws --version`」を参照してください。yum、apt-get、macOS 用の Homebrew などのパッケージマネージャーは、多くの場合 AWS CLI の最新バージョンより数バージョン古くなっています。最新バージョンをインストールするには、「AWS Command Line Interface ユーザーガイド」の「[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)」を参照してください。
+ Amazon EKS クラスターで [UpdateClusterConfig](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateClusterConfig.html) を呼び出す権限を持つ [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles#iam-term-principal)。
+ ハイブリッドノードと互換性のあるバージョンにアドオンを更新します。ハイブリッドノードと互換性のあるアドオンのバージョンについては、「[ハイブリッドノードのアドオンを構成する](hybrid-nodes-add-ons.md)」を参照してください。
+ ハイブリッドノードと互換性のないアドオンを実行している場合は、ハイブリッドノードへのデプロイを防ぐために、アドオンの [DaemonSet](https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/) または [Deployment](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/) に、次のアフィニティルールが設定されていることを確認します。次のアフィニティルールが存在しない場合は追加してください。

  ```
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: eks.amazonaws.com/compute-type
            operator: NotIn
            values:
            - hybrid
  ```

## 考慮事項
<a name="hybrid-nodes-cluster-enable-consider"></a>

`remoteNetworkConfig` JSON オブジェクトは、更新中に次のように動作します。
+ 指定していない既存の設定部分は変更されません。`remoteNodeNetworks` または `remotePodNetworks` のいずれかを指定していない場合、該当箇所への変更は行われません。
+ `remoteNodeNetworks` または `remotePodNetworks` の CIDR リストを変更する場合は、最終設定に必要な CIDR の完全なリストを指定しなければなりません。`remoteNodeNetworks` または `remotePodNetworks` の CIDR リストのいずれかに変更を指定すると、更新中に元のリストが置き換えられます。
+ オンプレミスノードとポッド 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 と相互に重複していないこと。

## 既存のクラスターでハイブリッドノードを有効にする
<a name="hybrid-nodes-cluster-enable-existing"></a>

既存のクラスターで EKS Hybrid Nodes を有効にするには、以下を使用します。
+  [AWS CloudFormation](#hybrid-nodes-cluster-enable-cfn) 
+  [AWS CLI](#hybrid-nodes-cluster-enable-cli) 
+  [AWS マネジメントコンソール](#hybrid-nodes-cluster-enable-console) 

### 既存のクラスターで EKS Hybrid Nodes を有効にする - AWS CloudFormation
<a name="hybrid-nodes-cluster-enable-cfn"></a>

1. クラスターで EKS Hybrid Nodes を有効にするには、`RemoteNodeNetwork` と `RemotePodNetwork` (オプション) を CloudFormation テンプレートに追加して、スタックを更新します。`RemoteNodeNetwork` は最大 1 つの `Cidrs` 項目が含まれるリストであり、`Cidrs` は複数の IP CIDR 範囲が含まれるリストであることに注意してください。

   ```
   RemoteNetworkConfig:
     RemoteNodeNetworks:
       - Cidrs: [RemoteNodeCIDR]
     RemotePodNetworks:
       - Cidrs: [RemotePodCIDR]
   ```

1. 「[ハイブリッドノードのクラスターアクセスを準備する](hybrid-nodes-cluster-prep.md)」に進みます。

### 既存のクラスターで EKS Hybrid Nodes を有効にする - AWS CLI
<a name="hybrid-nodes-cluster-enable-cli"></a>

1. EKS クラスターの EKS Hybrid Nodes に使用する `RemoteNetworkConfig` を有効にするには、以下のコマンドを実行します。コマンドを実行する前に、以下を自分の設定に置き換えます。全設定のリストについては、「*Amazon EKS API リファレンス*」の「[UpdateClusterConfig](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateClusterConfig.html)」を参照してください。

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

   1.  `AWS_REGION`: EKS クラスターが実行されている AWS リージョン。

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

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

      ```
      aws eks update-cluster-config \
          --name CLUSTER_NAME \
          --region AWS_REGION \
          --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. 「[ハイブリッドノードのクラスターアクセスを準備する](hybrid-nodes-cluster-prep.md)」に進みます。

### 既存のクラスターで EKS Hybrid Nodes を有効にする - AWS マネジメントコンソール
<a name="hybrid-nodes-cluster-enable-console"></a>

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

1. クラスター名を選択すると、そのクラスターの情報を表示されます。

1. **[ネットワーキング]** タブを開き、**[管理]** 選択します。

1. ドロップダウンで、**[リモートネットワーク]** を選択します。

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

1. [**変更を保存**] を選択して終了します。クラスターのステータスが **[アクティブ]** に戻るまで待ちます。

1. 「[ハイブリッドノードのクラスターアクセスを準備する](hybrid-nodes-cluster-prep.md)」に進みます。

## 既存のクラスターでハイブリッドノード設定を更新する
<a name="hybrid-nodes-cluster-update-config"></a>

既存のハイブリッドクラスターで `remoteNetworkConfig` を変更するには、以下のいずれかを使用します。
+  [AWS CloudFormation](#hybrid-nodes-cluster-update-cfn) 
+  [AWS CLI](#hybrid-nodes-cluster-update-cli) 
+  [AWS マネジメントコンソール](#hybrid-nodes-cluster-update-console) 

### 既存のクラスターでハイブリッド設定を更新する - AWS CloudFormation
<a name="hybrid-nodes-cluster-update-cfn"></a>

1. CloudFormation テンプレートを新しいネットワーク CIDR 値で更新します。

   ```
   RemoteNetworkConfig:
     RemoteNodeNetworks:
       - Cidrs: [NEW_REMOTE_NODE_CIDRS]
     RemotePodNetworks:
       - Cidrs: [NEW_REMOTE_POD_CIDRS]
   ```
**注記**  
`RemoteNodeNetworks` または `RemotePodNetworks` の CIDR リストを更新するときは、すべての CIDR (新規と既存) を含めます。更新中には、リスト全体が置き換えられます。更新リクエストでこれらのフィールドを省略すると、既存の設定が保持されます。

1. 変更したテンプレートで CloudFormation スタックを更新し、スタックの更新が完了するまで待ちます。

### 既存のクラスターでハイブリッド設定を更新する - AWS CLI
<a name="hybrid-nodes-cluster-update-cli"></a>

1. リモートネットワークの CIDR を変更するには、次のコマンドを実行します。値をご自身の設定に置き換えます。

   ```
   aws eks update-cluster-config
   --name CLUSTER_NAME
   --region AWS_REGION
   --remote-network-config '{"remoteNodeNetworks":[{"cidrs":["NEW_REMOTE_NODE_CIDRS"]}],"remotePodNetworks":[{"cidrs":["NEW_REMOTE_POD_CIDRS"]}]}'
   ```
**注記**  
`remoteNodeNetworks` または `remotePodNetworks` の CIDR リストを更新するときは、すべての CIDR (新規と既存) を含めます。更新中には、リスト全体が置き換えられます。更新リクエストでこれらのフィールドを省略すると、既存の設定が保持されます。

1. クラスターのステータスが [アクティブ] に戻るまで待ち、次に進みます。

### 既存のクラスターでハイブリッド設定を更新する - AWS マネジメントコンソール
<a name="hybrid-nodes-cluster-update-console"></a>

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

1. クラスター名を選択すると、そのクラスターの情報を表示されます。

1. **[ネットワーキング]** タブを開き、**[管理]** 選択します。

1. ドロップダウンで、**[リモートネットワーク]** を選択します。

1. 必要に応じて、`Remote node networks` と `Remote pod networks - Optional` の CIDR を更新します。

1. **[変更の保存]** を選択し、クラスターのステータスが **[アクティブ]** に戻るのを待ちます。

## 既存のクラスターで Hybrid Nodes を無効にする
<a name="hybrid-nodes-cluster-disable"></a>

既存のクラスターで EKS Hybrid Nodes を無効にするには、以下を使用します。
+  [AWS CloudFormation](#hybrid-nodes-cluster-disable-cfn) 
+  [AWS CLI](#hybrid-nodes-cluster-disable-cli) 
+  [AWS マネジメントコンソール](#hybrid-nodes-cluster-disable-console) 

### 既存のクラスターで EKS Hybrid Nodes を無効にする - AWS CloudFormation
<a name="hybrid-nodes-cluster-disable-cfn"></a>

1. クラスターで EKS Hybrid Nodes を無効にするには、`RemoteNodeNetworks` と `RemotePodNetworks` を CloudFormation テンプレートの空の配列に設定して、スタックを更新します。

   ```
   RemoteNetworkConfig:
     RemoteNodeNetworks: []
     RemotePodNetworks: []
   ```

### 既存のクラスターで EKS Hybrid Nodes を無効にする - AWS CLI
<a name="hybrid-nodes-cluster-disable-cli"></a>

1. クラスターから `RemoteNetworkConfig` を削除するには、以下のコマンドを実行します。コマンドを実行する前に、以下を自分の設定に置き換えます。全設定のリストについては、「*Amazon EKS API リファレンス*」の「[UpdateClusterConfig](https://docs.aws.amazon.com/eks/latest/APIReference/API_UpdateClusterConfig.html)」を参照してください。

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

   1.  `AWS_REGION`: EKS クラスターが実行されている AWS リージョン。

      ```
      aws eks update-cluster-config \
          --name CLUSTER_NAME \
          --region AWS_REGION \
          --remote-network-config '{"remoteNodeNetworks":[],"remotePodNetworks":[]}'
      ```

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

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

### 既存のクラスターで EKS Hybrid Nodes を無効にする - AWS マネジメントコンソール
<a name="hybrid-nodes-cluster-disable-console"></a>

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

1. クラスター名を選択すると、そのクラスターの情報を表示されます。

1. **[ネットワーキング]** タブを開き、**[管理]** 選択します。

1. ドロップダウンで、**[リモートネットワーク]** を選択します。

1. **[リモートネットワークを設定してハイブリッドノードを有効にする]** を選択して、`Remote node networks` と `Remote pod networks - Optional` のすべての CIDR を削除します。

1. [**変更を保存**] を選択して終了します。クラスターのステータスが **[アクティブ]** に戻るまで待ちます。