GKE の VPC ネイティブネットワーク設定の確認

Pod と Service のアドレス範囲を計画し、実際のネットワークモードを確認してください。

説明

VPC ネイティブの GKE クラスターは、エイリアス IP を使って VPC サブネットのセカンダリ範囲から Pod アドレスを割り当てます。アドレス管理と VPC 接続を一貫して運用するのに役立ちます。現在の新規クラスターは VPC_NATIVE がデフォルトのため、設定の省略だけでルートベースとは断定できません。

エイリアス IP 自体が不要な通信を遮断するわけではありません。ファイアウォール、ネットワークポリシー、権限は別途管理してください。

想定される影響

  • アドレス設計が不適切だと、IP の枯渇や接続の競合が起きる場合があります。
  • ルートベースのクラスターでは、必要なネットワーク機能や拡張要件を満たせない場合があります。

対処方法

  • 新規クラスターには networking_mode = "VPC_NATIVE" と適切な ip_allocation_policy を設定してください。
  • Pod と Service のアドレス容量を計算し、既存ネットワークと重複しない範囲を用意してください。
  • 既存のルートベースクラスターはモードを直接変更せず、新規クラスターへの移行を計画して接続を検証してください。

例

ネットワークモードを比較する抜粋です。プロジェクト、VPC、サブネットは別途用意してください。空の ip_allocation_policy は範囲を明示しないため、実際の割り当てと空き容量を確認する必要があります。

変更前

hcl
resource "google_container_cluster" "cluster" {
  name               = "marcellus-wallace"
  location           = "us-central1-a"
  initial_node_count = 3
  networking_mode    = "ROUTES"

  ip_allocation_policy {}

  timeouts {
    create = "30m"
    update = "40m"
  }
}

変更後

hcl
resource "google_container_cluster" "cluster" {
  name               = "marcellus-wallace"
  location           = "us-central1-a"
  initial_node_count = 3
  networking_mode    = "VPC_NATIVE"

  ip_allocation_policy {}

  timeouts {
    create = "30m"
    update = "40m"
  }
}

補足:

  • 変更前: ROUTES によりルートベースのネットワークを選びます。
  • 変更後: VPC_NATIVE によりエイリアス IP を選びます。この設定だけでは通信アクセスは制限されません。

参考資料