
Ich versuche, die App Engine-Anwendung über eine Peering-Verbindung mit der MongoDB-Cloud zu verbinden.
Alle Dienste in meinem GCP verwenden ein nicht standardmäßiges Netzwerk namens „main“. Ich habe eine Peering-Verbindung mit Terraform eingerichtet:
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}"
}
Es funktioniert wie erwartet.
Vermutlich verwendet App Engine das Standard-VPC-Netzwerk.
Wenn ich versuche, eine zweite Verbindung im Standardnetzwerk herzustellen, erhalte ich aufgrund überlappender Bereiche eine Fehlermeldung. Ich habe also einfach das Peering mit dem Hauptnetzwerk gelöscht und ein neues mit dem Standardnetzwerk eingerichtet.
Die App Engine-Anwendung kann dennoch keine Verbindung über die Peering-Verbindung zu MongoDB herstellen.
App.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
Antwort1
Sie können nicht zwei oder mehr VPC-Peerings haben, die in Ihrem Fall dieselben überlappenden IP-Bereiche verwenden. Dies führt zu Verwirrung, da die Routen mit derselben Priorität erstellt werden.
Und wie @jabbson anmerkte, verwendet die App standardmäßig keines Ihrer Netzwerke. Sie müssen alsoErstellen Sie einen serverlosen VPC-Zugriffsconnectorum Ihre VPCs zu verbinden.