Google-AppEngine-Standard – Routing über VPC_Access_Connector

Google-AppEngine-Standard – Routing über VPC_Access_Connector

Wir versuchen, unsere GAE-Standard-App über eines unserer VPCs zu verbinden, das zur Verbindung mit unseren VPN-Clients verwendet wird. VPC (rsvpn) führt OpenVPN als Client aus und stellt eine Verbindung zu unserem OpenVPN-Subnetz her. Es ist mit ip_forward konfiguriert und so eingerichtet, dass alle eingehenden Pakete, die für 172.16.0.0/24 bestimmt sind, über tun0 weitergeleitet werden. Das globale Routing der VPC-Netzwerke ist so konfiguriert, dass 172.16.0.0/24 über rsvpn geroutet wird. Wenn ich auf ein anderes VPC wechsle, kann ich wie erwartet einen Ping an das VPN-Subnetz senden. Die Pakete der GAE-App, die für 172.16.0.0/24 bestimmt sind, werden jedoch nicht über rsvpn geroutet.

Wir haben ein wenig nachgeforscht und festgestellt, dass wir die App wahrscheinlich über gcloud beta bereitstellen müssen, indem wir den vpc_access_connector verwenden. Also haben wir das auch getan. vpc_access_connector mit Subnetz 10.8.0.0/28 konfiguriert und die App wurde mit der entsprechenden Konfiguration konfiguriert. Stellen Sie die App erneut bereit, und sie erreicht den RSVPN-Server immer noch nicht.

Wenn wir uns die laufende Konfiguration für die App ansehen, sehen wir keine Erwähnung des vpc_access_connectors, aber er ist in app.yaml eindeutig konfiguriert.

Mit dem Google-Support besprochen. Sie bestätigen, dass unser Setup korrekt sein sollte und dass die App unsere VPC-Routingtabellen verwenden sollte. Sie prüfen das derzeit.

Ich frage mich jedoch, ob jemand etwas Licht in die Sache bringen kann. Die Dokumentation von Google ist nicht großartig und ich stelle ziemlich regelmäßig fest, dass sie einfach oft falsch ist. Ich habe ein paar Hinweise gehört, die darauf hindeuten könnten, dass der vpc_access_connector nur in flexiblen Umgebungen funktioniert, aber in den Dokumenten und beim Google-Support heißt es, dass er im Standard funktionieren sollte.

Hat irgendjemand dieses Setup schon mal zum Laufen gebracht?

Antwort1

Unsere Lösung bestand letztendlich darin, dem Profil, das die Bereitstellung ausführt, Compute Network User-Berechtigungen hinzuzufügen. Leider wird dieser Berechtigungsfehler nicht an uns gemeldet, sondern ist intern bei Google. Dies schien alle Probleme zu lösen, die wir in der Standardumgebung hatten. Stellen Sie außerdem sicher, dass Sie Folgendes verwenden:gcloud beta app deploy

verwandte Informationen