Utilizzo dell'ambiente flessibile di App Engine su una rete VPC condiviso

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 l'utilizzo dell'ambiente flessibile di App Engine su una rete VPC condiviso.

Consulta Provisioning del VPC condiviso per ulteriori informazioni sulla configurazione di una rete VPC condivisa.

Configurazione dell'ambiente flessibile di App Engine con un VPC condiviso

Il deployment delle istanze dell'ambiente flessibile di App Engine su una rete VPC condiviso prevede tre passaggi:

  1. Crea una regola firewall per consentire il traffico dell'ambiente flessibile di App Engine sulla VPC condiviso condivisa

  2. Concedi le autorizzazioni appropriate agli account di servizio nel progetto di servizio VPC condiviso

  3. Configura i servizi App Engine per l'utilizzo della VPC condiviso condivisa

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 di un VPC condiviso deve creare una regola firewall nel progetto host del VPC condiviso per consentire il traffico nell'ambiente flessibile di App Engine sulla rete VPC condivisa. La regola firewall consente la gestione del traffico e il controllo di integrità verso istanze di 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 un 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:

  1. Vai alla pagina di creazione delle regole firewall.

    Crea una regola firewall

  2. Nei campi Nome e Descrizione, fornisci un nome e una descrizione per la regola firewall.

  3. Inserisci le proprietà necessarie come specificato sopra.

  4. Fai clic su Crea.

gcloud

Per creare la regola firewall utilizzando Google Cloud CLI, esegui questo 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'ID progetto Google Cloud del progetto host VPC condiviso.

Configurazione delle autorizzazioni

Un amministratore VPC condiviso deve concedere ai 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 nella rete:

  • Agente di servizio API di Google (PROJECT_NUM@cloudservices.gserviceaccount.com)
  • Agente di servizio ambiente flessibile App Engine (service-PROJECT_NUM@gae-api-prod.google.com.iam.gserviceaccount.com)

Console

Per configurare le autorizzazioni utilizzando la console Google Cloud:

  1. Vai alla pagina Impostazioni IAM del progetto di servizio e prendi nota del numero di progetto.

    Vai alle impostazioni IAM

  2. Vai alla pagina IAM del progetto host.

    Vai a IAM

  3. Fai clic su Aggiungi.

  4. 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
  5. Nel menu a discesa Seleziona un ruolo, scegli Compute Engine > Utente di rete Compute.

  6. Fai clic su Salva.

gcloud

  1. Ottieni il numero del progetto di servizio in cui è stato eseguito il deployment dell'app App Engine. Esegui questo comando, sostituendo SERVICE_PROJECT_ID con l'ID del progetto di servizio:

    export SERVICE_PROJECT_NUM=$(gcloud projects describe SERVICE_PROJECT_ID --format="value(projectNumber)")
    
  2. Concedi all'agente di servizio delle API di 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 è l'ID progetto Google Cloud del progetto host del VPC condiviso.

  3. 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 dell'ambiente flessibile di App Engine esistente nella rete VPC condiviso.

  1. Nel file app.yaml, utilizza il campo impostazioni di rete name 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 condiviso.

    Per configurare il servizio in modo che faccia parte di una subnet denominata SUBNETWORK_NAME, imposta anche il campo subnetwork_name:

    network:
      name: projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME
      subnetwork_name: SUBNETWORK_NAME
    
  2. 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:

  1. Vai alla pagina Versioni di App Engine.

    Vai alle versioni di App Engine

  2. Nella colonna Configurazione a destra, fai clic su Visualizza per la versione che ti interessa.

  3. Verifica che il nome della rete nella configurazione sia il nome della rete VPC condiviso.