説明
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 を選びます。この設定だけでは通信アクセスは制限されません。