GCP インスタンスの IP 転送が有効

ルーティングが必要な VM だけに IP 転送を許可してください。

説明

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 転送の許可を無効にします。アプリケーション権限や他のネットワーク経路は別途管理してください。

参考資料