Nell'ambiente flessibile App Engine, puoi specificare una rete su cui eseguire il deployment delle istanze del servizio. Questa pagina mostra come configurare del tuo progetto per utilizzare l'ambiente flessibile di App Engine una rete VPC condiviso.
Per saperne di più, consulta Provisioning del VPC condiviso e informazioni sulla configurazione di una rete VPC condiviso.
Configurazione dell'ambiente flessibile di App Engine con VPC condiviso
Deployment di istanze dell'ambiente flessibile di App Engine su un La rete VPC condiviso prevede tre passaggi:
Se utilizzi Google Cloud CLI, esegui l'aggiornamento alla versione più recente prima di seguire questa guida eseguendo il comando:
gcloud components update
Autorizzazione del traffico alla rete VPC condiviso
Un amministratore della rete VPC condivisa deve creare una regola firewall nell'host del VPC condiviso per consentire il traffico verso App Engine flessibile sulla rete VPC condiviso. La regola firewall consente di gestire del 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 VPC condiviso può creare la regola firewall utilizzando la console Google Cloud o Google Cloud CLI:
Console
Per creare la regola firewall utilizzando la console Google Cloud:
Vai alla pagina di creazione della regola firewall.
Nei campi Nome e Descrizione, fornisci un nome e una descrizione per la regola del 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 condivisa.HOST_PROJECT_ID
è l'ID progetto Google Cloud del progetto host VPC condiviso.
Configurazione delle autorizzazioni
Un amministratore della rete VPC condivisa deve concedere i seguenti due account di servizio il ruolo Utente di rete Compute. per consentire a un progetto di servizio di eseguire il deployment delle istanze nell'ambiente flessibile di App Engine alla 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 console Google Cloud:
Vai alla pagina Impostazioni IAM del progetto di servizio e prendi nota del numero del 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_NUM
con il numero di progetto ottenuto nel passaggio 1.PROJECT_NUM@cloudservices.gserviceaccount.com
service-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 del progetto di servizio in cui è dipiegato l'app App Engine. Esegui questo comando: sostituendo
SERVICE_PROJECT_ID
con ID del progetto di servizio:export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
Concedi all'agente di servizio delle API Google del progetto di servizio il ruolo
compute.networkUser
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
è il ID del progetto Google Cloud del progetto host del VPC condiviso.Concedi all'agente di servizio dell'ambiente flessibile di App Engine del progetto di servizio il ruolo
compute.networkUser
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 e 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 di ambiente flessibile App Engine esistente nella rete VPC condivisa.
Nel file
app.yaml
, usa impostazioni di retename
per specificare il nome completo della rete VPC condiviso:network: name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
dove
HOST_PROJECT_ID
è l'ID progetto Google Cloud del progetto host VPC condiviso.NETWORK_NAME
è il nome della rete VPC condivisa.
Per configurare il servizio in modo che faccia parte di una subnet denominata
SUBNETWORK_NAME
, imposta anchesubnetwork_name
campo: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 in corso...
Per verificare che il tuo ambiente flessibile di App Engine è in esecuzione sulla rete VPC condiviso, visualizza la versione configurazione nella pagina delle versioni di App Engine Console Google Cloud:
Vai alla pagina Versioni di App Engine.
Nella colonna Config a destra, fai clic su Visualizza per la versione che ti interessa.
Verifica che il nome della rete nella configurazione corrisponda al nome della rete VPC condivisa.