In der flexiblen App Engine-Umgebung können Sie ein Netzwerk angeben, in dem Sie die Instanzen eines Dienstes bereitstellen möchten. Auf dieser Seite wird beschrieben, wie Sie ein Projekt für die Verwendung der flexiblen App Engine-Umgebung in einem freigegebenen VPC-Netzwerk konfigurieren.
Weitere Informationen zum Einrichten eines freigegebenen VPC-Netzwerks finden Sie unter Freigegebene VPC bereitstellen.
Flexible App Engine-Umgebung mit freigegebenem VPC einrichten
Die Bereitstellung von Instanzen der flexiblen App Engine-Umgebung in einem freigegebenen VPC-Netzwerk umfasst drei Schritte:
Erteilen Sie den Dienstkonten im freigegebenen VPC-Dienstprojekt die entsprechenden Berechtigungen.
Konfigurieren Sie Ihre App Engine-Dienste für die Verwendung des freigegebenen VPC-Netzwerks.
Wenn Sie die Google Cloud CLI verwenden, aktualisieren Sie auf die neueste Version, bevor Sie dieser Anleitung folgen. Führen Sie dazu folgenden Befehl aus:
gcloud components update
Traffic zum freigegebenen VPC-Netzwerk zulassen
Ein Administrator für freigegebene VPCs muss im freigegebenen VPC-Hostprojekt eine Firewallregel erstellen, um Traffic für die flexible App Engine-Umgebung im freigegebenen VPC-Netzwerk zuzulassen. Die Firewallregel ermöglicht, dass Traffic an Instanzen in der flexiblen Umgebung weitergeleitet wird und Systemdiagnosen für diesen Traffic ausgeführt werden.
Die Firewallregel muss die folgenden Attribute haben:
- Netzwerk: Der Name des freigegebenen VPC-Netzwerks
- Trafficrichtung: Eingehend
- Aktion bei Übereinstimmung: Zulassen
- Ziele: Angegebene Zieltags
- Zieltags:
aef-instance
- Quellfilter: IP-Bereiche
- Quell-IP-Bereiche:
35.191.0.0/16
,130.211.0.0/22
- Protokolle und Ports: Angegebene Protokolle und Ports
- tcp: 8443, 10402
Der Administrator einer freigegebenen VPC kann die Firewallregel mit der Google Cloud Console oder der Google Cloud CLI erstellen:
Console
So erstellen Sie die Firewallregel mit der Google Cloud Console:
Rufen Sie die Seite zum Erstellen von Firewallregeln auf.
Geben Sie in den Feldern Name und Beschreibung einen Namen und eine Beschreibung für die Firewallregel ein.
Geben Sie die erforderlichen Attribute wie oben angegeben ein.
Klicken Sie auf Erstellen.
gcloud
Führen Sie den folgenden Befehl aus, um die Firewallregel mit der Google Cloud CLI zu erstellen:
gcloud compute firewall-rules create NETWORK_NAME-flex-firewall \ --project HOST_PROJECT_ID \ --network NETWORK_NAME \ --allow tcp:10402,tcp:8443 \ --target-tags aef-instance \ --source-ranges 35.191.0.0/16,130.211.0.0/22 \ --description 'Allows traffic to App Engine flexible environment'
Dabei gilt:
NETWORK_NAME
ist der Name des freigegebenen VPC-Netzwerks.HOST_PROJECT_ID
ist die Cloud-Projekt-ID des freigegebenen VPC-Hostprojekts.
Berechtigungen einrichten
Ein Administrator für freigegebene VPCs muss den folgenden beiden Nutzern des Dienstes die Rolle Compute-Netzwerknutzer zuweisen, damit ein Dienstprojekt Instanzen in der flexiblen App Engine-Umgebung im Netzwerk bereitstellen kann:
- Google APIs-Dienst-Agent (
PROJECT_NUM@cloudservices.gserviceaccount.com
) - Dienst-Agent für flexible App Engine-Umgebung (
service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com
)
Console
So richten Sie in der Google Cloud Console Berechtigungen ein:
Rufen Sie die IAM-Seite „Einstellungen“ für das Dienstprojekt auf und notieren Sie sich die Projektnummer:
Rufen Sie die IAM-Seite für das Hostprojekt auf:
Klicken Sie auf Hinzufügen.
Geben Sie im Feld Neue Mitglieder die folgenden E-Mail-Adressen getrennt durch ein Komma ein. Ersetzen Sie dabei
PROJECT_NUM
durch die in Schritt 1 ermittelte Projektnummer.PROJECT_NUM@cloudservices.gserviceaccount.com
service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com
Wählen Sie im Drop-down Rolle auswählen die Option Compute Engine > Compute-Netzwerknutzer aus.
Klicken Sie auf Speichern.
gcloud
Rufen Sie die Projektnummer des Dienstprojekts ab, in dem die App Engine-Anwendung bereitgestellt wird. Führen Sie den folgenden Befehl aus und ersetzen Sie dabei
SERVICE_PROJECT_ID
durch die Projekt-ID des Dienstprojekts:export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
Weisen Sie dem Google APIs-Dienst-Agent des Dienstprojekts im Hostprojekt die Rolle
compute.networkUser
zu:gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=serviceAccount:$SERVICE_PROJECT_NUM@cloudservices.gserviceaccount.com \ --role=roles/compute.networkUser
Dabei ist
HOST_PROJECT_ID
die Cloud-Projekt-ID des freigegebenen VPC-Hostprojekts.Weisen Sie dem Dienst-Agent für die flexible App Engine-Umgebung des Dienstprojekts im Hostprojekt die Rolle
compute.networkUser
zu:gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=serviceAccount:service-$SERVICE_PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com \ --role=roles/compute.networkUser
Dienst konfigurieren und bereitstellen
Nachdem die Firewallregel und die entsprechenden Berechtigungen eingerichtet wurden, können Sie entweder einen neuen Dienst oder einen vorhandenen Dienst in der flexiblen App Engine-Umgebung für das freigegebene VPC-Netzwerk bereitstellen.
Geben Sie in der Datei
app.yaml
im Feldname
der Netzwerkeinstellungen den vollständig qualifizierten Namen des freigegebenen VPC-Netzwerks an:network: name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
Dabei gilt:
HOST_PROJECT_ID
ist die Cloud-Projekt-ID des freigegebenen VPC-Hostprojekts.NETWORK_NAME
ist der Name des freigegebenen VPC-Netzwerks.
Legen Sie auch das Feld
subnetwork_name
fest, damit der Dienst Bestandteil des SubnetzwerksSUBNETWORK_NAME
ist:network: name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME subnetwork_name: SUBNETWORK_NAME
Stellen Sie den Dienst bereit:
gcloud app deploy
Konfiguration überprüfen
Sie können überprüfen, ob Ihr Dienst in der flexiblen App Engine-Umgebung im freigegebenen VPC-Netzwerk ausgeführt wird. Rufen Sie dazu in der Google Cloud Console auf der App Engine-Seite „Versionen“ die Versionskonfiguration auf:
Rufen Sie die App Engine-Seite „Versionen“ auf.
Klicken Sie bei der gewünschten Version in der rechten Spalte Konfiguration auf Ansehen.
Prüfen Sie, ob der Netzwerkname in der Konfiguration der Name des freigegebenen VPC-Netzwerks ist.