プロキシとファイアウォール ルール

このページでは、GKE on VMware のプロキシとファイアウォール ルールを設定する方法について説明します。

プロキシのアドレスを許可リストに登録する

組織で送信トラフィックがプロキシ サーバーを通過する必要がある場合は、プロキシ サーバーで次のアドレスを許可リストに登録します。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 Cloud SDK インストーラで必要です。

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 アドレスのファイアウォール ルール

管理クラスタで使用可能な IP アドレスは、IP ブロック ファイルに一覧表示されます。これらの 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

プリフライト チェック(検証)。

GKE on VMware ユーザー クラスタが gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必要。

ユーザー クラスタを作成またはアップグレードする場合。

管理クラスタを作成またはアップグレードする場合。

管理クラスタのコントロールプレーン ノード

32768- 60999

管理クラスタノード
ユーザー クラスタノード
管理クラスタ ロードバランサ VIP
ユーザー クラスタ ロードバランサ VIP

icmp

プリフライト チェック(検証)。

ユーザー クラスタを作成、更新、アップグレードする場合。

管理クラスタを作成、更新、アップグレードする場合。

管理クラスタのコントロールプレーン ノード

32768- 60999

ユーザー クラスタのワーカーノード

22

ssh

プリフライト チェック(検証)。

ユーザー クラスタをアップグレードする場合。

管理クラスタをアップグレードする場合。

ユーザー クラスタのコントロールプレーン ノード

1024 - 65535

vCenter Server API

443

TCP / https

クラスタのサイズ変更

ユーザー クラスタのコントロールプレーン ノード

1024 - 65535

cloudresourcemanager.googleapis.com
gkeconnect.googleapis.com または REGION-gkeconnect.googleapis.com
gkehub.googleapis.com

443

TCP / https

フリート登録にはアクセス権が必要です。許可リストに登録する URL のリストの後の注 2 をご覧ください。

管理クラスタのアドオンノードで実行される 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

F5 BIG-IP API

443

TCP / https

管理クラスタのコントロールプレーン ノード

1024 - 65535

オンプレミスのローカル Docker レジストリ

レジストリにより異なる

TCP / https

GKE on VMware が gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必要。

ユーザー クラスタのコントロールプレーン ノード

1024 - 65535

オンプレミスのローカル Docker レジストリ

レジストリにより異なる

TCP / https

GKE on VMware が gcr.io の代わりにローカルの非公開 Docker レジストリを使用するように構成されている場合は必要。

管理クラスタのコントロールプレーン ノード

1024 - 65535

gcr.io
oauth2.googleapis.com
storage.googleapis.com
管理クラスタで有効化されたサービスに必要なすべての *.googleapis.com の URL

443

TCP / https

公開 Docker レジストリからイメージをダウンロードする。

非公開 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 アドレスが使用されるかはわかりません。したがって、ユーザー クラスタノードのすべてのルールが、各ユーザー クラスタノードに適用されます。

移行元

送信元ポート

終了日

ポート

プロトコル

説明

ユーザー クラスタのワーカーノード

すべて

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

トラフィックを接続する。 許可リストに登録する URL のリストの後の注 2 をご覧ください。

ランダムなユーザー クラスタのワーカーノードで実行される 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

プリフライト チェック(検証)。

gkectl を使用してクラスタを作成、更新、アップグレード、または削除する場合。

管理ワークステーション

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

gkectl check-config コマンドの一部としてのネットワーク検証。

管理ワークステーション

32768- 60999

管理クラスタの Istio Ingress の VIP

ユーザー クラスタの Istio Ingress の VIP

443

TCP / https

gkectl check-config コマンドの一部としてのネットワーク検証。

管理ワークステーション

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 と Monitoring へのアクセス。

管理ワークステーション

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: ノードのヘルスチェック
30000 - 32767: healthCheckNodePort

TCP/http

ノードのヘルスチェック。healthCheckNodePort は、externalTrafficPolicy が Local に設定されているサービス用。バンドルされた LB Seesaw を使用する場合にのみ必要。

F5 の Self-IP

1024 - 65535

すべての管理クラスタノードとすべてのユーザー クラスタノード

30000~32767

任意

F5 BIG-IP が仮想サーバー VIP を介して Kubernetes クラスタノードのノードポートに負荷分散するデータプレーン トラフィックの場合。

通常、F5 Self-IP は Kubernetes クラスタノードと同じネットワーク / サブネット上にあります。