3

私が達成したいこと:

Terraform で GCP にクラシック ルート ベースの VPN トンネルを作成する必要があります。

バックグラウンド:

GCP で VPN トンネルを設定する場合、BGP ルート ベースのルーティングには 3 つのオプションがあります ポリシー ベース

GCP でルート ベースの VPN トンネルを作成する場合、リモート サブネットを指定する必要があります。ポリシー ベースの VPN トンネルを作成する場合は、ローカル サブネットも指定する必要があります。

ルート ベースの VPN トンネルを作成したいので、リモート サブネットを提供するだけで済みます。

問題:

ただし、Terraform では、使用するルーティング タイプに関係するリソース「google_compute_vpn_tunnel」のオプションはありません。「local_traffic_selector」の欠如によって決定され、ルートベースの VPN トンネルになる可能性があります。しかし、main.tf で「local_traffic_selector」オプションを省略しても、それはまだ計画に含まれています。

' + local_traffic_selector = (適用後に判明)

値を指定していないため、Terraform は空の値で使用しようとしますが、これは不可能です。

Error: Error creating VpnTunnel: googleapi: Error 400: Invalid value for field 'resource.localTrafficSelector[0]': ''. The local_traffic_selector field cannot be empty for network in custom subnet mode., invalid

  on main.tf line 51, in resource "google_compute_vpn_tunnel" "tunnel1":
  51: resource "google_compute_vpn_tunnel" "tunnel1" {

指定すると、VPN トンネルのタイプはルート ベースではなくポリシー ベースになります。

GCP でルート ベースの従来の VPN トンネルを作成するための Terraform のサポートはありませんか?

もう 1 つの奇妙な点は、VPN ゲートウェイを作成するときです。GCP コンソールでこれを行う場合、VPN ゲートウェイが持つ外部 IP アドレスを指定する必要があります。それはかなり重要な性質です。ただし、Terraform にはリソース「google_compute_vpn_gateway」の IP アドレスを設定するオプションがありません: https://www.terraform.io/docs/providers/google/r/compute_vpn_gateway.htmlの例では、静的 IP オブジェクトを作成しますが、構成で VPN ゲートウェイに割り当てられることはありません。

4

1 に答える 1