Disattiva gli indirizzi IP esterni temporanei

Questa pagina mostra la configurazione richiesta per esporre un servizio dell'ambiente flessibile di App Engine solo sul relativo indirizzo IP interno.

Per impostazione predefinita, i servizi di ambiente flessibili ricevono sia un indirizzo IP interno sia un indirizzo IP esterno temporaneo al momento del loro primo deployment. L'indirizzo IP esterno temporaneo consente al tuo servizio di inviare richieste ai servizi App Engine con domini personalizzati e risorse su Internet. Gli indirizzi IP esterni temporanei comportano dei costi.

Se il servizio non richiede un indirizzo IP esterno, puoi impedire al servizio di inviare richieste alle risorse su Internet e ridurre i costi limitando l'utilizzo del servizio solo all'indirizzo IP interno. Ciò non impedisce al servizio di ricevere richieste da Internet o dai servizi App Engine con domini personalizzati, poiché il nome di dominio completo del servizio è ancora visibile esternamente.

Limitazioni

La disattivazione degli indirizzi IP esterni temporanei presenta le seguenti limitazioni:

  • SSH: il comando gcloud app instances ssh non supporta le istanze con modalità IP impostata su internal.
  • Servizi con domini personalizzati: per inviare richieste ai servizi App Engine con domini personalizzati, devi configurare Cloud NAT.
  • Risorse esterne: per inviare richieste a risorse esterne, devi configurare Cloud NAT.
  • Dipendenza Accesso privato Google: le istanze con modalità IP impostata su internal richiedono accesso privato Google sulla subnet di destinazione.
  • Reti precedenti: le reti precedenti non possono utilizzare l'accesso privato Google, pertanto non possono disattivare gli indirizzi IP esterni temporanei.

Prima di iniziare

Per eseguire il deployment di app di ambiente flessibili senza indirizzi IP esterni, devi abilitare l'accesso privato Google sulla subnet di destinazione.

Preparare la rete VPC condivisa

Se utilizzi una rete VPC condivisa, segui questi passaggi per preparare la tua rete VPC condivisa per ulteriori configurazioni.

  1. Verifica che il percorso sia compatibile con l'accesso privato Google. In genere il percorso predefinito di una rete è compatibile con l'accesso privato Google. Per gli altri percorsi, verifica che il percorso sia configurato come segue.

    Network: SHARED_VPC_NETWORK_NAME
    Destination IP address range: 0.0.0.0/0
    Instance tags: INSTANCE_TAGS
    Next hop: DEFAULT_INTERNET_GATEWAY
    

    Sostituisci quanto segue:

    • SHARED_VPC_NETWORK_NAME: il nome della tua rete VPC condiviso.
    • INSTANCE_TAGS: se non utilizzi tag istanza, non specificare nulla in questo campo. Se utilizzi i tag istanza, includi aef-instances nell'elenco dei tag istanza.
    • DEFAULT_INTERNET_GATEWAY: il gateway Internet predefinito.

    Per scoprire di più sulle route compatibili con l'accesso privato Google, consulta la documentazione sull'accesso privato Google sulle opzioni di routing.

  2. Verifica di avere una regola firewall compatibile con l'{0}accesso privato Google". La regola firewall deve essere configurata come segue.

    Network: SHARED_VPC_NETWORK_NAME
    Destination IP address range: 0.0.0.0/0
    Destination filter: IP ranges
    Direction of traffic: Egress
    Attach on match: Allow
    Instance tags: INSTANCE_TAGS
    

    Sostituisci quanto segue:

    • SHARED_VPC_NETWORK_NAME: il nome della tua rete VPC condiviso.
    • INSTANCE_TAGS: se non utilizzi tag istanza, non specificare nulla in questo campo. Se utilizzi i tag istanza, includi aef-instances nell'elenco dei tag istanza.

    Per scoprire di più sulle regole firewall compatibili con l'accesso privato Google, consulta la documentazione dell'accesso privato Google sulla configurazione firewall.

Configura il servizio in modo che utilizzi solo l'indirizzo IP interno

  1. Aggiorna l'interfaccia a riga di comando di Google Cloud. Questo garantisce che tu stia utilizzando una versione dell'interfaccia a riga di comando gcloud che supporta gli indirizzi IP privati per le app di ambiente flessibili.

    gcloud components update
    
  2. Nel file app.yaml, aggiungi il campo instance_ip_mode alla sezione network e impostalo su internal.

    • Se il file app.yaml ha già una sezione network, aggiungi la seguente riga alla sezione network:

      instance_ip_mode: internal
      

    • Se il file app.yaml non ha una sezione network, creane una e specifica la modalità IP dell'istanza aggiungendo le seguenti righe:

      network:
       instance_ip_mode: internal
      

    Salva queste modifiche.

  3. Esegui il deployment del servizio.

    gcloud beta app deploy
    
  4. Verifica la configurazione controllando la pagina Istanze di Google Cloud Console.

    Vai a Istanze

    Scorri verso il basso fino alla tabella Istanze (sotto il grafico Riepilogo). Nella colonna IP VM, verifica che non sia stato elencato alcun indirizzo IP. Se non è presente un indirizzo IP in questa colonna, l'istanza non ha un indirizzo IP esterno. Anche se questo campo è vuoto, l'istanza ha ancora un indirizzo IP interno.

Inviare richieste esterne senza un indirizzo IP esterno

Se il servizio invia richieste a Internet, ma vuoi limitare l'utilizzo solo dell'indirizzo IP interno, puoi utilizzare Cloud NAT per creare un gateway. Il servizio può inviare richieste esterne attraverso il gateway Cloud NAT senza utilizzare gli indirizzi IP esterni temporanei predefiniti.

  1. Segui i passaggi descritti nella sezione Configurare il servizio in modo che utilizzi solo l'indirizzo IP interno.

  2. Segui i passaggi per configurare Cloud NAT.

Per scoprire di più su questo approccio, consulta la documentazione di Cloud Architecture Center su Deployment di Cloud NAT per il recupero.