

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

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

# Amazon EKS Hybrid Nodes ゲートウェイ設定リファレンス
<a name="hybrid-nodes-gateway-configuration"></a>

このページでは、Amazon EKS Hybrid Nodes ゲートウェイの設定可能なすべてのパラメータについて説明します。インストール手順については、「[EKS Hybrid Nodes ゲートウェイの使用を開始する](hybrid-nodes-gateway-getting-started.md)」を参照してください。ゲートウェイの概要については、「[Amazon EKS Hybrid Nodes ゲートウェイ](hybrid-nodes-gateway-overview.md)」を参照してください。

## Helm チャート値
<a name="hybrid-nodes-gateway-helm-values"></a>

以下の表に、`eks-hybrid-nodes-gateway` Helm チャート内のすべての値を一覧表示します。これらの値は、`helm install` または `helm upgrade` 中に `--set` フラグまたはカスタム `values.yaml` ファイルを使用して設定できます。


| 値 | タイプ | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | 
|  `image.repository`  | string |  `public.ecr.aws/eks/eks-hybrid-nodes-gateway`  | いいえ | ゲートウェイイメージのコンテナイメージリポジトリ。デフォルトは、パブリック Amazon ECR レジストリです。 | 
|  `image.tag`  | string | Chart `appVersion`  | いいえ | イメージタグ。デフォルトは、`Chart.yaml` で定義されている `appVersion` です。 | 
|  `image.pullPolicy`  | string |  `IfNotPresent`  | いいえ | イメージプルポリシー。有効な値は、`Always`、`IfNotPresent`、`Never` です。 | 
|  `replicas`  | integer |  `2`  | いいえ | ゲートウェイポッドレプリカの数。本番環境で高可用性を実現するには、2 つのレプリカが推奨設定です。 | 
|  `nodeLabel`  | string |  `hybrid-gateway-node`  | いいえ | ゲートウェイノードの選択に使用されるノードラベルキー。ノードには、このラベルを `"true"` に設定する必要があります。 | 
|  `vpcCIDR`  | string |  `""`  | はい | Cilium VTEP 設定に使用される VPC CIDR ブロック。例えば、`10.0.0.0/16` などです。 | 
|  `podCIDRs`  | string |  `""`  | はい | ハイブリッドノードで Cilium が使用するポッド CIDR のカンマ区切りリスト。例えば、`10.85.0.0/16,10.86.0.0/16` などです。 | 
|  `routeTableIDs`  | string |  `""`  | はい | ハイブリッドポッドルートでプログラムする VPC ルートテーブル ID のカンマ区切りリスト。例えば、`rtb-0123456789abcdef0,rtb-0123456789abcdef1` などです。 | 
|  `autoMode.enabled`  | boolean |  `true`  | いいえ | EKS Auto Mode 統合を有効にします。`true` の場合、チャートは `eks.amazonaws.com/compute-type: auto` ノードセレクタを追加し、ダウンタイムのないローリング更新戦略を使用します。マネージド型ノードグループまたはセルフマネージド型ノードの場合は `false` に設定します。 | 

### インストールコマンドの例
<a name="hybrid-nodes-gateway-install-examples"></a>

 **EKS Auto Mode** (デフォルト):

```
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

 **マネージド型ノードグループまたはセルフマネージド型ノード**:

```
helm install eks-hybrid-nodes-gateway oci://public.ecr.aws/eks/eks-hybrid-nodes-gateway \
  --version 1.0.0 \
  --namespace eks-hybrid-nodes-gateway \
  --create-namespace \
  --set autoMode.enabled=false \
  --set vpcCIDR={{VPC_CIDR}} \
  --set podCIDRs={{POD_CIDRS}} \
  --set routeTableIDs={{ROUTE_TABLE_IDS}}
```

## Auto Mode とマネージド型ノードグループ設定の比較
<a name="hybrid-nodes-gateway-auto-vs-mng"></a>

`autoMode.enabled` Helm 値は、デプロイテンプレートの 2 つの動作を制御します。


| 行動 |  `autoMode.enabled=true` (デフォルト) |  `autoMode.enabled=false`  | 
| --- | --- | --- | 
|  **ノードセレクタ**  | ゲートウェイノードラベルに加えて `eks.amazonaws.com/compute-type: auto` を追加します。 | ゲートウェイノードラベル (`hybrid-gateway-node: "true"`) のみを使用します。 | 
|  **ローリング更新戦略**  |  `maxSurge: 1`、`maxUnavailable: 0` — 古いポッドを終了する前に新しいポッドを起動することで、アップグレード中のダウンタイムをゼロにします。 |  `maxSurge: 0`、`maxUnavailable: 1` — ノード容量は事前プロビジョニングされているため、新しいポッドを開始する前に古いポッドを終了します。 | 

EKS Auto Mode を使用する場合は、Helm チャートをインストールする前に `NodePool` と `NodeClass` を作成する必要があります。NodePool は、正しいラベル、テイント、送信元/送信先チェック設定を使用して EC2 インスタンスをプロビジョニングします。必要な YAML については、「[EKS Hybrid Nodes ゲートウェイの使用を開始する](hybrid-nodes-gateway-getting-started.md)」を参照してください。マネージド型ノードグループまたはセルフマネージド型ノードを使用する場合は、チャートをインストールする前に、ノードを自分でプロビジョニングしてラベルを付ける必要があります。

すべてのデプロイターゲットについて、デプロイは `hostNetwork: true` を使用し、`NET_ADMIN` 機能を必要とします。ポッドアンチアフィニティにより、2 つのゲートウェイポッドが別々のノードで実行されます。

## リーダー選出調整
<a name="hybrid-nodes-gateway-leader-tuning"></a>

ゲートウェイは、Kubernetes リースベースのリーダー選出を使用してアクティブスタンバイモデルを維持します。デフォルトのパラメータは、高速フェイルオーバー用に調整されます。


| パラメータ  | デフォルト  | 説明  | 
| --- | --- | --- | 
|  `--leader-election-lease-duration`  |  `3s`  | 非リーダーが、最後に確認されたリースの更新後、リースの取得を試みるまで待機する時間。値が低いほどリーダーの障害をより迅速に検出できますが、一時的なネットワーク問題中に誤ったフェイルオーバーが発生するリスクが高まります。 | 
|  `--leader-election-renew-deadline`  |  `2s`  | アクティブなリーダーがリーダーシップを放棄する前にリースの更新に費やす最大時間。リース期間より短くする必要があります。 | 
|  `--leader-election-retry-period`  |  `1s`  | 候補がリースの取得または更新を再試行する頻度。 | 

デフォルト値では、アクティブゲートウェイが失敗すると予想されるフェイルオーバー時間は約 3～5 秒です。これには、スタンバイがリースの有効期限を検出し、リースを取得し、リーダーセットアップシーケンス (VPC ルートテーブルの更新と Cilium VTEP 設定) を実行するまでの時間が含まれます。

### リーダー選出パラメータを調整するタイミング
<a name="hybrid-nodes-gateway-leader-tuning-guidance"></a>
+  ゲートウェイポッドと Kubernetes API サーバー間の一時的なネットワークレイテンシーが原因でリーダーが頻繁に移行する場合は、**リース期間を長く**します。
+  フェイルオーバー検出を高速化する必要があり、ゲートウェイノードと API サーバー間のネットワークの信頼性が高く、レイテンシーが低い場合は、**リース期間を短縮**します。
+  大規模なクラスターでリーダー選出による API サーバーの負荷を減らすには、**再試行期間を長く**します。

**注記**  
`--leader-election-renew-deadline` は常に `--leader-election-lease-duration` より小さくなければなりません。更新期限がリース期間を超える場合、リーダーは更新前にリースを失う可能性があります。

## 関連トピック
<a name="hybrid-nodes-gateway-configuration-related"></a>
+  [Amazon EKS Hybrid Nodes ゲートウェイ](hybrid-nodes-gateway-overview.md) 
+  [EKS Hybrid Nodes ゲートウェイの使用を開始する](hybrid-nodes-gateway-getting-started.md) 
+  [Amazon EKS Hybrid Nodes ゲートウェイオペレーション](hybrid-nodes-gateway-operations.md) 
+  [Amazon EKS Hybrid Nodes ゲートウェイのトラブルシューティング](hybrid-nodes-gateway-troubleshooting.md) 