このページでは、VMware 用 Google Distributed Cloud(ソフトウェアのみ)のプロキシとファイアウォール ルールを設定する方法について説明します。このページは、ファイアウォールなどのデータ セキュリティ システムを実装するネットワーク スペシャリストを対象としています。 Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE ユーザーのロールとタスクをご覧ください。
プロキシのアドレスを許可リストに登録する
組織で送信トラフィックがプロキシ サーバーを通過する必要がある場合は、プロキシ サーバーで次のアドレスを許可リストに登録します。googleapis.com ではなく、www.googleapis.com が必要です。
- dl.google.com 1
- gcr.io
- www.googleapis.com
- accounts.google.com
- anthos.googleapis.com
- anthosgke.googleapis.com
- cloudresourcemanager.googleapis.com
- compute.googleapis.com
- connectgateway.googleapis.com
- container.googleapis.com
- gkeconnect.googleapis.com 2
- gkehub.googleapis.com
- gkeonprem.googleapis.com
- gkeonprem.mtls.googleapis.com
- iam.googleapis.com
- iamcredentials.googleapis.com
- kubernetesmetadata.googleapis.com
- logging.googleapis.com
- monitoring.googleapis.com
- oauth2.googleapis.com
- opsconfigmonitoring.googleapis.com
- securetoken.googleapis.com
- servicecontrol.googleapis.com
- serviceusage.googleapis.com
- storage.googleapis.com
- sts.googleapis.com
- releases.hashicorp.com(省略可)3
注:
1 dl.google.com は Google CloudSDK インストーラで必要です。
2 クラスタが Google Cloud リージョンを使用してフリートに登録された場合は、許可リストに REGION-gkeconnect.googleapis.com を登録する必要があります(例: us-central1-gkeconnect.googleapis.com)。リージョンを指定しなかった場合、クラスタはグローバル Connect サービス インスタンスを使用し、許可リストに gkeconnect.googleapis.com を登録します。クラスタのフリート メンバーシップの場所を確認する必要がある場合は、gcloud container fleet memberships list を実行します。詳細については、gkeConnect.location をご覧ください。
3 terraform apply などのコマンドを実行するために管理ワークステーションで Terraform クライアントを使用しない場合、releases.hashicorp.com を許可リストに登録する必要はありません。管理ワークステーションで Terraform クライアントを使用する場合は、必要に応じて releases.hashicorp.com を許可リストに登録し、terraform version コマンドを実行して使用している Terraform クライアントのバージョンが最新かどうかを確認することができます。
また、vCenter Server に外部 IP アドレスがある場合は、プロキシ サーバーでそのアドレスも許可リストに登録します。
管理クラスタのファイアウォール ルール
管理クラスタの IP アドレスは、ユーザー クラスタで Controlplane V2 が有効になっているかどうかと、クラスタが作成されたバージョンによって異なります。
- コントロール プレーン V2 が有効になっている場合、ユーザー クラスタのコントロール プレーンはユーザー クラスタ自体で実行されます。コントロール プレーン V2 が有効になっていない場合、ユーザー クラスタのコントロール プレーンは管理クラスタ内の 1 つ以上のノードで実行されます。これは、kubeception と呼ばれます。 
- 1.28 以降では、新しい HA 管理クラスタにアドオンノードはありません。 
管理クラスタのアドオンノード(存在する場合)と kubeception ユーザー クラスタのコントロール プレーン ノードの IP アドレスは、管理クラスタの IP ブロック ファイルに一覧表示されます。管理クラスタのコントロール プレーン ノードは、管理クラスタ構成ファイルの network.controlPlaneIPBlock.ips セクションで構成されます。
管理クラスタの IP ブロック ファイルの IP アドレスは特定のノードに割り振られていないため、次の表に一覧表示されているすべてのファイアウォール ルールが、管理クラスタが使用できるすべての IP アドレスに適用されている必要があります。
ファイアウォール ルールを設定して、次のトラフィックを許可します。
| 送信元 | 送信元ポート | 送信先 | ポート | プロトコル | 説明 | 
|---|---|---|---|---|---|
| 管理クラスタのコントロールプレーン ノード | 1024 - 65535 | vCenter Server API | 443 | TCP / https | クラスタのサイズ変更 | 
| 管理クラスタのアドオンノード | 1024 - 65535 | vCenter Server API | 443 | TCP / https | ユーザー クラスタのライフサイクル管理。 | 
| 管理クラスタのアドオンノード | 32768- 60999 | 管理クラスタの Kubernetes API サーバーの VIP ユーザー クラスタの Kubernetes API サーバーの VIP | 443 | TCP / https | ユーザー クラスタ作成。 ユーザー クラスタ更新。 ユーザー クラスタ アップグレード。 ユーザー クラスタ削除。 | 
| 管理クラスタのコントロールプレーン ノード | 32768- 60999 | gcr.io cloudresourcemanager.googleapis.com compute.googleapis.com iam.googleapis.com oauth2.googleapis.com serviceusage.googleapis.com storage.googleapis.com 管理者またはユーザー クラスタに対して有効化されたサービスに必要なすべての *.googleapis.com の URL ユーザー クラスタの Kubernetes API サーバーの VIP 管理クラスタの Kubernetes API サーバーの VIP vCenter Server API 管理クラスタ F5 BIG_IP API ユーザー クラスタ F5 BIG_IP API 管理クラスタ NTP サーバー ユーザー クラスタ NTP サーバー 管理クラスタ DNS サーバー ユーザー クラスタ DNS サーバー | 443 | TCP / https | プリフライト チェック(検証)。 ユーザー クラスタを作成、更新、アップグレードする場合。 管理クラスタを作成、更新、アップグレードする場合。 | 
| 管理クラスタのコントロールプレーン ノード | 32768- 60999 | ユーザー クラスタのオンプレミスのローカル Docker レジストリ | レジストリにより異なる | TCP / https | プリフライト チェック(検証)。 ユーザー クラスタが gcr.io ではなくローカルの非公開 Docker レジストリを使用するように構成されている場合は必須です。 ユーザー クラスタを作成またはアップグレードする場合。 管理クラスタを作成またはアップグレードする場合。 | 
| 管理クラスタのコントロールプレーン ノード | 32768- 60999 | 管理クラスタノード ユーザー クラスタノード 管理クラスタ ロードバランサ VIP ユーザー クラスタ ロードバランサ VIP | icmp | プリフライト チェック(検証)。 ユーザー クラスタを作成、更新、アップグレードする場合。 管理クラスタを作成、更新、アップグレードする場合。 | |
| 管理クラスタのコントロールプレーン ノード | 32768- 60999 | ユーザー クラスタのワーカーノード | 22 | ssh | プリフライト チェック(検証)。 ユーザー クラスタをアップグレードする場合。 管理クラスタをアップグレードする場合。 | 
| ユーザー クラスタのコントロール プレーン ノード(kubeception のみ) | 1024 - 65535 | vCenter Server API | 443 | TCP / https | クラスタのサイズ変更 | 
| ユーザー クラスタのコントロール プレーン ノード(kubeception のみ) | 1024 - 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com または REGION-gkeconnect.googleapis.com gkehub.googleapis.com | 443 | TCP / https | フリート登録にはアクセス権が必要です。許可リストに登録する URL のリストの後の注 2 をご覧ください。 | 
| ユーザー クラスタのコントロール プレーン ノード(kubeception のみ) | 1024 - 65535 | F5 BIG-IP API | 443 | TCP / https | |
| ユーザー クラスタのコントロール プレーン ノード(kubeception のみ) | 1024 - 65535 | オンプレミスのローカル Docker レジストリ | レジストリにより異なる | TCP / https | Google Distributed Cloud が gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必須。 | 
| ユーザー クラスタのコントロール プレーン ノード(kubeception のみ) | 1024 - 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com 管理クラスタで有効化されたサービスに必要なすべての *.googleapis.com の URL | 443 | TCP / https | 公開 Docker レジストリからイメージをダウンロードする。 非公開 Docker レジストリを使用する場合は不要。 | 
| 管理クラスタのアドオンノードで実行される Cloud Logging Collector | 1024 - 65535 | oauth2.googleapis.com logging.googleapis.com servicecontrol.googleapis.com storage.googleapis.com www.googleapis.com | 443 | TCP / https | |
| 管理クラスタのアドオンノードで実行される Cloud Metadata Collector | 1024 - 65535 | opsconfigmonitoring.googleapis.com | 443 | TCP / https | |
| 管理クラスタのアドオンノードで実行される Cloud Monitoring Collector | 1024 - 65535 | oauth2.googleapis.com monitoring.googleapis.com | 443 | TCP / https | |
| 管理クラスタのコントロールプレーン ノード | 1024 - 65535 | F5 BIG-IP API | 443 | TCP / https | |
| 管理クラスタのコントロールプレーン ノード | 1024 - 65535 | オンプレミスのローカル Docker レジストリ | レジストリにより異なる | TCP / https | Google Distributed Cloud が gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必須。 | 
| 管理クラスタのコントロール プレーン ノード | 1024 - 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com 管理クラスタで有効化されたサービスに必要なすべての *.googleapis.com の URL | 443 | TCP / https | 公開 Docker レジストリからイメージをダウンロードする。 非公開 Docker レジストリを使用する場合は不要。 | 
| 管理クラスタのワーカーノード | 1024 - 65535 | 管理クラスタのワーカーノード | すべて | 179 - bgp 443 - https 5473 - Calico/Typha 9443 - Envoy 指標 10250 - kubelet ノードポート | すべてのワーカーノードは、ファイアウォールなしでレイヤ 2 で隣接している必要がある。 | 
| 管理クラスタノード | 1024 - 65535 | 管理クラスタの Pod CIDR | すべて | 任意 | 外部トラフィックは最初のノードで SNAT され、Pod IP に送信される。 | 
| 管理クラスタのワーカーノード | すべて | ユーザー クラスタノード | 22 | ssh | kubeception では必須です。SSH トンネルを介した API サーバーから kubelet への通信。Controlplane V2 の場合はスキップする必要があります。 | 
| 管理クラスタノード | 1024 - 65535 | 管理クラスタの Seesaw LB VM の IP | 20255、20257 | TCP/http | LB 構成の push と指標のモニタリング。バンドルされた LB Seesaw を使用する場合にのみ必要。 | 
| 管理クラスタノード | 1024 - 65535 | 管理クラスタノード | 7946 | TCP / UDP | MetalLB ヘルスチェック。バンドルされた LB MetalLB を使用する場合にのみ必要。 | 
| 管理クラスタノード | すべて | ユーザー クラスタ コントロール プレーン VIP | 443 | https | Controlplane V2 に必要です。管理クラスタ内のノードと Pod が、ユーザー クラスタの Kubernetes API サーバーと通信することを許可します。 | 
| 管理クラスタノード | すべて | ユーザー クラスタのコントロール プレーン ノード | 443 | https | Controlplane V2 に必要です。管理クラスタ内のノードと Pod が、ユーザー クラスタ コントロール プレーン ノードの IP アドレスを使用して、ユーザー クラスタの Kubernetes API サーバーと通信することを許可します。 | 
ユーザー クラスタノードのファイアウォール ルール
ユーザー クラスタノードでは、IP アドレスが IP ブロック ファイルに一覧表示されます。
管理クラスタノードと同様に、どのノードにどの IP アドレスが使用されるかはわかりません。したがって、ユーザー クラスタノードのすべてのルールが、各ユーザー クラスタノードに適用されます。
| 送信元 | 送信元ポート | 送信先 | ポート | プロトコル | 説明 | 
|---|---|---|---|---|---|
| ユーザー クラスタのコントロール プレーン ノード(Controlplane V2 のみ) | 1024 - 65535 | vCenter Server API | 443 | TCP / https | クラスタのサイズ変更 | 
| ユーザー クラスタのコントロール プレーン ノード(Controlplane V2 のみ) | 1024 - 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com または REGION-gkeconnect.googleapis.com gkehub.googleapis.com | 443 | TCP / https | フリート登録にはアクセス権が必要です。許可リストに登録する URL のリストの後の注 2 をご覧ください。 | 
| ユーザー クラスタのコントロール プレーン ノード(Controlplane V2 のみ) | 1024 - 65535 | オンプレミスのローカル Docker レジストリ | レジストリにより異なる | TCP / https | Google Distributed Cloud が gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必須。 | 
| ユーザー クラスタのコントロール プレーン ノード(Controlplane V2 のみ) | 1024 - 65535 | gcr.io oauth2.googleapis.com storage.googleapis.com 管理クラスタで有効化されたサービスに必要なすべての *.googleapis.com の URL | 443 | TCP / https | 公開 Docker レジストリからイメージをダウンロードする。 非公開 Docker レジストリを使用する場合は不要。 | 
| ユーザー クラスタのコントロール プレーン ノード(Controlplane V2 のみ) | 1024 - 65535 | F5 BIG-IP API | 443 | TCP / https | |
| ユーザー クラスタのワーカーノード | すべて | gcr.io oauth2.googleapis.com storage.googleapis.com このクラスタで有効化されたサービスに必要な *.googleapis.com の URL | 443 | TCP / https | 公開 Docker レジストリからイメージをダウンロードする。 非公開 Docker レジストリを使用する場合は不要。 | 
| ユーザー クラスタのワーカーノード | すべて | F5 BIG-IP API | 443 | TCP / https | |
| ユーザー クラスタのワーカーノード | すべて | 管理クラスタで実行される pushprox サーバーの VIP。 | 8443 | TCP / https | Prometheus のトラフィック。 | 
| ユーザー クラスタのワーカーノード | すべて | ユーザー クラスタのワーカーノード | すべて | 22 - ssh 179 - bgp 443 - https 5473 - calico-typha 9443 - Envoy 指標 10250 - kubelet ノードポート | すべてのワーカーノードは、ファイアウォールなしでレイヤ 2 で隣接している必要がある。 | 
| ユーザー クラスタのワーカーノード | すべて | ユーザー コントロール プレーン VIP | 443 | TCP / https | |
| ユーザー クラスタのワーカーノード | すべて | ユーザー コントロール プレーン VIP | 8132 | GRPC | kubeception では必須です。Konnectivity 接続。Controlplane V2 の場合はスキップする必要があります。 | 
| 管理クラスタノード | すべて | ユーザー クラスタ vCenter Server | 443 | https | 管理クラスタがユーザー クラスタのライフサイクルを管理することを許可します。管理クラスタとユーザー クラスタで vCenter Server が異なる場合に必要です。 | 
| ユーザー クラスタノード | 1024 - 65535 | ユーザー クラスタの Pod CIDR | すべて | 任意 | 外部トラフィックは最初のノードで SNAT され、Pod IP に送信される。 | 
| ランダムなユーザー クラスタのワーカーノードで実行される Cloud Logging Collector。 | 1024 - 65535 | oauth2.googleapis.com logging.googleapis.com servicecontrol.googleapis.com www.googleapis.com | 443 | TCP / https | |
| ランダムなユーザー クラスタのワーカーノードで実行される Connect Agent。 | 1024 - 65535 | cloudresourcemanager.googleapis.com gkeconnect.googleapis.com または REGION-gkeconnect.googleapis.com gkehub.googleapis.com www.googleapis.com iam.googleapis.com iamcredentials.googleapis.com oauth2.googleapis.com securetoken.googleapis.com sts.googleapis.com accounts.google.com | 443 | TCP / https | |
| ランダムなユーザー クラスタのワーカーノードで実行される Cloud Metadata Collector | 1024 - 65535 | opsconfigmonitoring.googleapis.com kubernetesmetadata.googleapis.com | 443 | TCP / https | |
| ランダムなユーザー クラスタのワーカーノードで実行される Cloud Monitoring Collector。 | 1024 - 65535 | oauth2.googleapis.com monitoring.googleapis.com | 443 | TCP / https | |
| ユーザー クラスタノード | 1024 - 65535 | ユーザー クラスタの Seesaw LB VM の IP | 20255、20257 | TCP/http | LB 構成の push と指標のモニタリング。バンドルされた LB Seesaw を使用する場合にのみ必要。 | 
| enableLoadBalancer=true のユーザー クラスタ ノード | 1024 - 65535 | enableLoadBalancer=true のユーザー クラスタ ノード | 7946 | TCP / UDP | MetalLB ヘルスチェック。バンドルされた LB MetalLB を使用する場合にのみ必要。 | 
| ユーザー クラスタ ネットワーク | すべて | ユーザー クラスタ コントロール プレーン VIP | 443 | TCP / https | 
残りのコンポーネントのファイアウォール ルール
これらのルールは、管理クラスタとユーザー クラスタノードの表に記載されていないその他すべてのコンポーネントに適用されます。
| 送信元 | 送信元ポート | 送信先 | ポート | プロトコル | 説明 | 
|---|---|---|---|---|---|
| 管理クラスタの Pod CIDR | 1024 - 65535 | 管理クラスタの Pod CIDR | すべて | 任意 | Pod 間のトラフィックは、Pod CIDR 内の送信元 IP と宛先 IP を使用して、直接 L2 転送を行う。 | 
| 管理クラスタの Pod CIDR | 1024 - 65535 | 管理クラスタノード | すべて | 任意 | 外部トラフィックの戻りトラフィック。 | 
| ユーザー クラスタの Pod CIDR | 1024 - 65535 | ユーザー クラスタの Pod CIDR | すべて | 任意 | Pod 間のトラフィックは、Pod CIDR 内の送信元 IP と宛先 IP を使用して、直接 L2 転送を行う。 | 
| ユーザー クラスタの Pod CIDR | 1024 - 65535 | ユーザー クラスタノード | すべて | 任意 | 外部トラフィックの戻りトラフィック。 | 
| クライアントとアプリケーション エンドユーザー | すべて | Istio Ingress の VIP | 80、443 | TCP | ユーザー クラスタの Ingress サービスへのエンドユーザー トラフィック。 | 
| 管理ワークステーションをデプロイするための踏み台サーバー | エフェメラル ポート範囲 | vCenter Server API ターゲット クラスタ内のホストの ESXi VMkernel(mgt)IP | 443 | TCP / https | `cat /proc/sys/net/ipv4/ip_local_port_range` からエフェメラル ポート範囲を確認します。 | 
| 管理ワークステーション | 32768- 60999 | gcr.io cloudresourcemanager.googleapis.com oauth2.googleapis.com storage.googleapis.com このクラスタで有効化されたサービスに必要なすべての *.googleapis.com の URL | 443 | TCP / https | 公開 Docker レジストリからイメージをダウンロードする。 | 
| 管理ワークステーション | 32768- 60999 | gcr.io cloudresourcemanager.googleapis.com compute.googleapis.com iam.googleapis.com oauth2.googleapis com serviceusage.googleapis.com storage.googleapis.com 管理者またはユーザー クラスタに対して有効化されたサービスに必要なすべての *.googleapis.com の URL ユーザー クラスタの Kubernetes API サーバーの VIP 管理クラスタの Kubernetes API サーバーの VIP vCenter Server API F5 BIG- IP API | 443 | TCP / https | プリフライト チェック(検証)。 
 | 
| 管理ワークステーション | 32768- 60999 | vCenter Server API F5 BIG-IP API | 443 | TCP / https | 管理クラスタ作成。 ユーザー クラスタ作成。 | 
| 管理ワークステーション | 32768- 60999 | ターゲット クラスタ内のホストの ESXi VMkernel(mgt)IP | 443 | TCP / https | 管理ワークステーションは、ESXi ホストを介して、OVA をデータストアにアップロードする。 | 
| 管理ワークステーション | 32768- 60999 | 管理クラスタの Kubernetes API サーバーの VIP ユーザー クラスタの Kubernetes API サーバーの VIP | 443 | TCP / https | 管理クラスタ作成。 管理クラスタの更新。 ユーザー クラスタ作成。 ユーザー クラスタ更新。 ユーザー クラスタ削除。 | 
| 管理ワークステーション | 32768- 60999 | 管理クラスタのコントロールプレーン ノードとワーカーノード | 443 | TCP / https | 管理クラスタ作成。 コントロール プレーンのアップグレード | 
| 管理ワークステーション | 32768- 60999 | すべての管理クラスタノードとすべてのユーザー クラスタノード | 443 | TCP / https | 
 | 
| 管理ワークステーション | 32768- 60999 | 管理クラスタの Istio Ingress の VIP ユーザー クラスタの Istio Ingress の VIP | 443 | TCP / https | 
 | 
| 管理ワークステーション | 32768- 60999 | oauth2.googleapis.com logging.googleapis.com monitoring.googleapis.com servicecontrol.googleapis.com storage.googleapis.com www.googleapis.com | 443 | TCP / https | Cloud Logging とモニタリングへのアクセス。 | 
| 管理ワークステーション | 32768- 60999 | 管理クラスタとユーザー クラスタの両方の Seesaw LB VM の IP 管理クラスタとユーザー クラスタの両方の Seesaw LB VIP | 20256、20258 | TCP / http / gRPC | LB のヘルスチェック。バンドルされた LB Seesaw を使用する場合にのみ必要。 | 
| 管理ワークステーション | 32768- 60999 | クラスタ コントロール プレーンのノード IP | 22 | TCP | 管理ワークステーションから管理クラスタ コントロール プレーンへの SSH アクセスが必要な場合は必須。 | 
| 管理ワークステーション | 32768- 60999 | releases.hashicorp.com | 443 | TCP / https | 省略可。許可リストに登録する URL のリストの後の注 3 をご覧ください。 | 
| LB VM の IP | 32768- 60999 | 対応するクラスタのノード IP | 10256: ノードのヘルスチェック | TCP/http | ノードのヘルスチェック。healthCheckNodePort は、externalTrafficPolicy が Local に設定されているサービス用。バンドルされた LB Seesaw を使用する場合にのみ必要。 | 
| F5 の Self-IP | 1024 - 65535 | すべての管理クラスタノードとすべてのユーザー クラスタノード | 30000~32767 | 任意 | F5 BIG-IP が仮想サーバー VIP を介して Kubernetes クラスタノードのノードポートに負荷分散するデータプレーン トラフィックの場合。 通常、F5 Self-IP は Kubernetes クラスタノードと同じネットワーク / サブネット上にあります。 |