Nell'ambiente flessibile di App Engine, puoi specificare una rete su cui eseguire il deployment delle istanze del tuo servizio. Questa pagina mostra come configurare il progetto per utilizzare l'ambiente flessibile di App Engine su una rete VPC condiviso.
Per ulteriori informazioni sulla configurazione di una rete VPC condivisa, consulta Provisioning di VPC condiviso.
Configurazione dell'ambiente flessibile di App Engine con VPC condiviso
Il deployment delle istanze dell'ambiente flessibile di App Engine su una rete VPC condiviso prevede tre passaggi:
Concedi le autorizzazioni appropriate ai service account nel progetto di servizio VPC condiviso
Configura i servizi App Engine in modo che utilizzino la VPC condiviso condivisa
Se utilizzi Google Cloud CLI, aggiorna all'ultima versione prima di seguire questa guida eseguendo il comando:
gcloud components update
Consentire il traffico alla rete VPC condiviso
Un amministratore di VPC condiviso deve creare una regola firewall nel progetto host VPC condiviso per consentire il traffico all'ambiente flessibile di App Engine sulla rete VPC condivisa. La regola firewall consente di gestire il traffico di serving e di controllo di integrità verso le istanze dell'ambiente flessibile.
La regola firewall deve avere le seguenti proprietà:
- Rete: il nome della rete VPC condiviso
- Direzione del traffico: in entrata
- Azione in caso di corrispondenza: Consenti
- Target: Tag di destinazione specificati
- Tag di destinazione:
aef-instance - Filtro di origine: intervalli IP
- Intervalli IP di origine:
35.191.0.0/16,130.211.0.0/22 - Protocolli e porte: protocolli e porte specificati
- tcp: 8443, 10402
Un amministratore di VPC condiviso può creare la regola firewall utilizzando la Google Cloud console o Google Cloud CLI:
Console
Per creare la regola firewall utilizzando la Google Cloud console:
Vai alla pagina di creazione della regola firewall.
Nei campi Nome e Descrizione, fornisci un nome e una descrizione per la regola firewall.
Compila le proprietà necessarie come specificato sopra.
Fai clic su Crea.
gcloud
Per creare la regola firewall utilizzando Google Cloud CLI, esegui il seguente comando:
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'
dove:
NETWORK_NAMEè il nome della rete VPC condiviso.HOST_PROJECT_IDè l' Google Cloud ID progetto del progetto host VPC condiviso.
Configurazione delle autorizzazioni
Un amministratore di VPC condiviso deve concedere il ruolo Utente di rete Compute ai seguenti due service account per consentire a un progetto di servizio di eseguire il deployment delle istanze nell'ambiente flessibile di App Engine nella rete:
- Agente di servizio API di Google
(
PROJECT_NUM@cloudservices.gserviceaccount.com) - Agente di servizio dell'ambiente flessibile di App Engine
(
service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com)
Console
Per configurare le autorizzazioni utilizzando la Google Cloud console:
Vai alla pagina Impostazioni IAM del progetto di servizio e prendi nota del numero di progetto.
Vai alla pagina IAM del progetto host.
Fai clic su Aggiungi.
Nel campo Nuovi membri, inserisci i seguenti indirizzi email separati da una virgola. Sostituisci
PROJECT_NUMcon il numero di progetto ottenuto nel passaggio 1.PROJECT_NUM@cloudservices.gserviceaccount.comservice-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com
Nel menu a discesa Seleziona un ruolo, seleziona Compute Engine > Utente di rete Compute.
Fai clic su Salva.
gcloud
Recupera il numero di progetto del progetto di servizio in cui è stato eseguito il deployment dell'app App Engine. Esegui il seguente comando, sostituendo
SERVICE_PROJECT_IDcon l'ID progetto del progetto di servizio:export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
Concedi il ruolo
compute.networkUserall'agente di servizio API di Google del progetto di servizio nel progetto host:gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=serviceAccount:$SERVICE_PROJECT_NUM@cloudservices.gserviceaccount.com \ --role=roles/compute.networkUser
dove
HOST_PROJECT_IDè l' Google Cloud ID progetto del progetto host VPC condiviso.Concedi il ruolo
compute.networkUserall'agente di servizio dell'ambiente flessibile di App Engine del progetto di servizio nel progetto host: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
Configurazione ed esecuzione del deployment del servizio
Dopo aver configurato la regola firewall e le autorizzazioni appropriate, puoi eseguire il deployment di un nuovo servizio o di un servizio dell'ambiente flessibile di App Engine esistente nella rete VPC condiviso.
Nel file
app.yaml, utilizza il campo delle impostazioni di retenameper specificare il nome completo della rete VPC condiviso:network: name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
dove
HOST_PROJECT_IDè l' Google Cloud ID progetto del progetto host VPC condiviso.NETWORK_NAMEè il nome della rete VPC condiviso.
Per configurare il servizio in modo che faccia parte di una subnet denominata
SUBNETWORK_NAME, imposta anche il camposubnetwork_name:network: name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME subnetwork_name: SUBNETWORK_NAME
Esegui il deployment del servizio:
gcloud app deploy
Verifica della configurazione
Per verificare che il servizio dell'ambiente flessibile di App Engine sia in esecuzione sulla rete VPC condiviso, visualizza la configurazione della versione nella pagina delle versioni di App Engine nella console:Google Cloud
Vai alla pagina Versioni di App Engine.
Nella colonna Configurazione a destra, fai clic su Visualizza per la versione desiderata.
Verifica che il nome della rete nella configurazione sia il nome della rete VPC condiviso.