
ピアリング接続を介して App Engine アプリケーションを MongoDB Cloud に接続しようとしています。
私の GCP のすべてのサービスは、「main」と呼ばれるデフォルト以外のネットワークを使用しています。Terraform を使用してピアリング接続を設定しました。
resource "google_compute_network_peering" "mongodb_peering" {
name = "mongodb-peering"
network = google_compute_network.main.self_link
peer_network = "projects/${mongo-cloud-project}/global/networks/${mongo-cloud-network}"
}
期待通りに動作します。
おそらく、App Engine はデフォルトの VPC ネットワークを使用します。
デフォルト ネットワークで 2 番目の接続を作成しようとすると、範囲が重複しているためにエラーが発生します。そのため、メイン ネットワークとのピアリングを削除し、デフォルト ネットワークで新しいピアリングを設定しました。
それでも、App Engine アプリケーションはピアリング接続を介して mongodb に接続できません。
アプリ.yaml:
runtime: nodejs12
instance_class: F4
handlers:
- url: /.*
secure: always
redirect_http_response_code: 301
script: auto
automatic_scaling:
max_instances: 2
max_concurrent_requests: 80
inbound_services:
- warmup
答え1
同じ重複する IP 範囲を使用する 2 つ以上の VPC ピアリングを持つことはできません。ルートは同じ優先度で作成されるため、混乱が生じます。
@jabbsonが指摘したように、アプリはデフォルトではネットワークを使用していません。そのため、サーバーレス VPC アクセス コネクタを作成するVPC を接続します。