説明
can_ip_forward = true は Compute Engine の検査を緩和し、VM に割り当てられていないアドレスのパケットを受信・送信できるようにします。実際の転送には OS 設定、経路、ファイアウォールも必要で、このオプションだけで自動的にルーターになるわけではありません。
ネットワーク機器として使わない通常のアプリケーションサーバーでは無効にしてください。
想定される影響
- 侵害されたインスタンスが、許可された経路で通信の中継に悪用されるおそれがあります。
- 意図しない転送経路は、ポリシー確認や事故の追跡を難しくする場合があります。
対処方法
- 転送が不要な VM には
can_ip_forward = falseを設定してください。 - ルーティング用 VM の例外理由を管理し、OS、経路、ファイアウォールを併せて制限してください。
例
イメージ、プロジェクト、ゾーン、ネットワークは実際のサポート対象環境に合わせて用意してください。転送オプションだけの比較であり、アプリケーションプロキシなど他の中継方式を遮断するものではありません。
変更前
hcl
resource "google_compute_instance" "appserver" {
name = "primary-application-server"
machine_type = "e2-medium"
can_ip_forward = true
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
}
}
変更後
hcl
resource "google_compute_instance" "appserver" {
name = "primary-application-server"
machine_type = "e2-medium"
can_ip_forward = false
boot_disk {
initialize_params {
image = "debian-cloud/debian-11"
}
}
network_interface {
network = "default"
}
}
補足:
- 変更前: Compute Engine 側で IP 転送を許可します。実際の転送には追加設定が必要です。
- 変更後: IP 転送の許可を無効にします。アプリケーション権限や他のネットワーク経路は別途管理してください。