Questa pagina mostra la configurazione richiesta per esporre un servizio di ambiente flessibile di App Engine solo sul suo indirizzo IP interno.
Per impostazione predefinita, i servizi di ambienti flessibili ricevono sia un indirizzo IP interno sia un indirizzo IP esterno temporaneo al primo deployment. La un 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 sono soggetti a costi.
Se il tuo servizio non richiede un indirizzo IP esterno, puoi impedire al servizio di inviare richieste alle risorse su internet e ridurre i costi limitandone l'utilizzo solo al suo indirizzo IP interno. Ciò non impedisce al servizio di ricevere richieste da internet o dai servizi App Engine con domini personalizzati, perché il nome di dominio completo del servizio è ancora visibile esternamente.
Limitazioni
La disattivazione degli indirizzi IP esterni temporanei presenta le seguenti limitazioni:
- Servizi con domini personalizzati: per inviare richieste ad App Engine. con domini personalizzati, devi configurare Cloud NAT.
- Risorse esterne:per inviare richieste a risorse esterne, devi configurare Cloud NAT.
- Dipendenza dall'accesso privato Google: istanze con modalità IP impostata su
Richiesta di
internal
Accesso privato Google attivo la subnet di destinazione. - Reti legacy: le reti legacy non possono utilizzare Accesso Google privato e, di conseguenza, non possono disattivare gli indirizzi IP esterni temporanei.
Prima di iniziare
Per eseguire il deployment di app per ambienti flessibili senza indirizzi IP esterni, devi attivare l'accesso privato Google nella sottorete di destinazione.
- Per saperne di più sull'accesso privato Google, consulta la panoramica.
- Per istruzioni dettagliate sulla configurazione, consulta Attivare l'accesso privato Google.
Prepara la rete VPC condivisa
Se utilizzi un VPC condiviso, segui questi passaggi per preparare Rete VPC condiviso per ulteriore configurazione.
Verifica di avere un percorso compatibile con Accesso privato Google. In genere il route predefinita di una rete compatibili 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 rete VPC condivisa.INSTANCE_TAGS
: se non utilizzi alcuna istanza , non specificare nulla in questo campo. Se utilizzi i tag istanza, includeaef-instances
nell'elenco dei tag istanza.DEFAULT_INTERNET_GATEWAY
: il gateway internet predefinito.
Per scoprire di più sulle route compatibili per l'accesso privato Google, vedi la documentazione relativa all'accesso privato Google opzioni di routing.
Verifica di avere una regola firewall compatibile con Accesso privato Google. La regola firewall deve essere configurata come .
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 rete VPC condivisa.INSTANCE_TAGS
: se non utilizzi tag di istanza, non specificare nulla in questo campo. Se utilizzi i tag istanza, includeaef-instances
nell'elenco dei tag istanza.
Per scoprire di più sulle regole firewall compatibili per Accesso privato Google; consulta l'accesso privato Google documentazione su configurazione firewall.
Configura il servizio in modo che utilizzi solo il suo indirizzo IP interno
Aggiorna Google Cloud CLI. In questo modo ti assicuri di utilizzare una versione gcloud CLI che supporta gli indirizzi IP privati le app in un ambiente flessibile.
gcloud components update
Nel file
app.yaml
, aggiungi il campoinstance_ip_mode
alla sezionenetwork
e impostalo suinternal
.Se il file
app.yaml
ha già una sezionenetwork
, aggiungi quanto segue all'interno della sezionenetwork
:instance_ip_mode: internal
Se il file
app.yaml
non ha una sezionenetwork
, crea il e specifica la modalità IP dell'istanza aggiungendo le righe seguenti:network: instance_ip_mode: internal
Salva queste modifiche.
Eseguire il deployment del servizio.
gcloud beta app deploy
Verifica la configurazione controllando la pagina Istanze della console Google Cloud.
Scorri verso il basso fino alla tabella Istanze (sotto il grafico Riepilogo). Nella colonna IP esterno, verifica che non sia elencato alcun indirizzo IP. La l'assenza di un indirizzo IP in questa colonna indica che l'istanza non ha all'indirizzo IP esterno. Anche se questo campo è vuoto, l'istanza ha comunque un indirizzo IP interno.
Invia richieste esterne senza un indirizzo IP esterno
Se il tuo servizio invia richieste a internet, ma vuoi limitarlo all'utilizzo solo il suo indirizzo IP interno, puoi utilizzare Cloud NAT per creare un gateway. Il tuo servizio può inviare richieste esterne tramite Gateway Cloud NAT senza utilizzare gli indirizzi IP esterni temporanei predefiniti.
Segui i passaggi indicati nella sezione Configura il servizio in modo che utilizzi solo il suo indirizzo IP interno.
Segui i passaggi per configurare Cloud NAT.
Per saperne di più su questo approccio, consulta la documentazione del Cloud Architecture Center sul deployment di Cloud NAT per il recupero.