Gli indirizzi IP esterni possono essere statici o effimeri. Se un'istanza di una macchina virtuale (VM) richiede un indirizzo IP esterno fisso che non cambia, puoi ottenere un indirizzo IP esterno statico. Puoi prenotare nuovi indirizzi IP esterni o promuovere indirizzi IP esterni esistenti.
Per prenotare uno dei seguenti indirizzi IP esterni, consulta l'articolo Indirizzi IP esterni statici.
Un indirizzo IPv4 o IPv6 globale che può essere utilizzato per bilanciatori del carico globali.
Un indirizzo IPv4 a livello di area geografica che può essere utilizzato dalle istanze VM con una o più interfacce di rete o da bilanciatori del carico a livello di area geografica.
Per un elenco dei bilanciatori del carico a livello di area geografica e globale, consulta il riepilogo dei bilanciatori del carico Google Cloud.
Per prenotare un indirizzo IPv6 esterno a livello di area geografica (anteprima) per le istanze VM, consulta l'articolo Indirizzo IPv6 esterno statico a livello di area geografica.
Se hai bisogno di un indirizzo IP statico sulla tua rete Compute Engine interna, leggi l'articolo Prenotare un indirizzo interno statico.
In Compute Engine, ogni istanza VM può avere più interfacce di rete. Ogni interfaccia può avere indirizzi IP interni ed esterni. Le regole di forwarding possono avere indirizzi IP esterni per il bilanciamento del carico esterno o indirizzi interni per il bilanciamento del carico interno. Per saperne di più sugli indirizzi IP statici, consulta Indirizzi IP esterni.
Prima di iniziare
- Se vuoi utilizzare gli esempi a riga di comando in questa guida, segui questi passaggi:
- Installa o aggiorna l'ultima versione dell'interfaccia a riga di comando di Google Cloud.
- Imposta un'area geografica e una zona predefinite.
- Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
- Leggi informazioni sugli indirizzi IP.
- Consulta le quote e i limiti per gli indirizzi IP esterni statici.
- Consulta i prezzi degli indirizzi IP esterni.
Specifiche
Una sola risorsa alla volta può utilizzare un indirizzo IP esterno statico.
Non è possibile controllare se un indirizzo IP è statico o temporaneo dopo che è stato assegnato a una risorsa. Puoi confrontare l'indirizzo IP con l'elenco di indirizzi IP esterni statici prenotati per quel progetto. Utilizza il sottocomando
compute addresses list
per visualizzare un elenco di indirizzi IP esterni statici disponibili per il progetto.Ogni istanza di macchina virtuale può avere più interfacce di rete, ma ogni interfaccia di rete può avere un solo indirizzo IP esterno, ovvero statico o statico.
Non puoi modificare il nome di un indirizzo IP statico.
Gli indirizzi IP esterni assegnati esistono sullo stesso host fisico dell'istanza VM e si trovano nella stessa area geografica della VM per tutti gli scopi, inclusi routing, latenza e prezzi. Questo vale indipendentemente dalle informazioni di ricerca geolocalizzazione Internet.
Nota: le interfacce di rete possono ricevere traffico da più regole di forwarding che potrebbero gestire altri indirizzi IP esterni. Un numero qualsiasi di indirizzi IP esterni può fare riferimento a un'interfaccia di rete tramite queste regole di forwarding, ma ogni interfaccia di rete può avere un solo indirizzo IP esterno.
Per ulteriori informazioni sul bilanciamento del carico e sulle regole di forwarding, leggi la documentazione relativa al bilanciamento del carico.
Indirizzi IP esterni statici
Un indirizzo IP esterno statico è l'indirizzo IP riservato al tuo progetto finché non decidi di rilasciarlo. Se hai un indirizzo IP su cui i tuoi clienti o utenti si affidano per accedere al tuo servizio, puoi prenotare questo indirizzo in modo che solo il tuo progetto possa utilizzarlo. Puoi anche promuovere un indirizzo IP esterno temporaneo a un indirizzo IP esterno statico.
Segui queste istruzioni per prenotare uno dei seguenti indirizzi IP esterni:
Un indirizzo IPv4 o IPv6 globale che può essere utilizzato per bilanciatori del carico globali.
Un indirizzo IPv4 a livello di area geografica che può essere utilizzato dalle istanze VM con una o più interfacce di rete o da bilanciatori del carico a livello di area geografica.
Per un elenco dei bilanciatori del carico a livello di area geografica e globale, consulta il riepilogo dei bilanciatori del carico Google Cloud.
Per prenotare un indirizzo IPv6 esterno a livello di area geografica (anteprima) per le istanze VM, consulta l'articolo Indirizzo IPv6 esterno statico a livello di area geografica.
Prenota un nuovo indirizzo IP esterno statico
Dopo aver prenotato l'indirizzo, assegnalo a una nuova istanza durante la creazione o a un'istanza esistente.
console
Vai alla pagina Prenota un indirizzo statico.
Scegli un nome per il nuovo indirizzo.
Specifica se si tratta di un indirizzo
IPv4
oIPv6
. Gli indirizziIPv6
globali possono essere utilizzati solo con bilanciatori del carico globali.Specifica se questo indirizzo IP è valido a livello di area geografica o globale. Se prenoti un indirizzo IP statico per un'istanza o per un bilanciatore del carico a livello di area geografica, scegli Regional. Se prenoti un indirizzo IP statico per un bilanciatore del carico globale, scegli Global.
Se si tratta di un indirizzo IP a livello di area geografica, seleziona l'area geografica in cui crearlo.
Facoltativo: seleziona una risorsa per collegare l'IP.
Fai clic su Prenota per prenotare l'IP.
gcloud
Per prenotare un indirizzo IP esterno statico utilizzando gcloud compute
, utilizza il
comando compute addresses create
.
Se vuoi prenotare un indirizzo IP globale, utilizza i campi --global
e
--ip-version
. Per il campo --ip-version
, specifica IPV4
o IPV6
. Gli indirizzi IPv6
globali possono essere utilizzati solo con bilanciatori del carico globali.
Sostituisci ADDRESS_NAME
con il nome che vuoi
chiamare questo indirizzo.
gcloud compute addresses create ADDRESS_NAME \ --global \ --ip-version [IPV4 | IPV6]
Se vuoi prenotare un indirizzo IP a livello di area geografica, utilizza il campo --region
:
gcloud compute addresses create ADDRESS_NAME \ --region=REGION
Sostituisci quanto segue:
ADDRESS_NAME
: il nome che vuoi chiamare.REGION
: l'area geografica in cui vuoi prenotare questo indirizzo. Questa area geografica deve corrispondere alla risorsa a cui vuoi collegare l'indirizzo IP. Tutti gli indirizzi IP a livello di area geografica sonoIPv4
.
Utilizza il comando compute addresses describe
per visualizzare il risultato:
gcloud compute addresses describe ADDRESS_NAME
API
Per creare un indirizzo IPv4 a livello di area geografica, chiama il metodo addresses.insert
a livello di area geografica:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Il corpo della richiesta deve contenere quanto segue:
{ "name": "ADDRESS_NAME" }
Sostituisci quanto segue:
ADDRESS_NAME
: il nome che vuoi chiamareREGION
: nome dell'area geografica per questa richiestaPROJECT_ID
: l'ID progetto per questa richiesta
Per gli indirizzi IPv4 statici globali, chiama il
metodo globalAddresses.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Il corpo della richiesta deve contenere quanto segue:
{ "name": "ADDRESS_NAME" }
Per gli indirizzi IPv6 statici globali, chiama il metodo globalAddresses.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Il corpo della richiesta deve contenere quanto segue:
{ "name": "ADDRESS_NAME", "ipVersion": "IPV6" }
Utilizza il metodo addresses.get
per vedere il risultato.
Terraform
Puoi utilizzare un modulo Terraform per creare un indirizzo IP esterno.
Nell'esempio seguente, gli argomenti Terraform hanno valori di esempio che puoi modificare. L'esempio crea tre indirizzi IPv4 esterni a livello di area geografica.
L'esempio seguente crea un indirizzo IPv6 esterno globale:
Assegna un indirizzo IP esterno statico a una nuova istanza VM
Quando crei un'istanza VM, le viene assegnato automaticamente un indirizzo IP esterno temporaneo. Se non vuoi un indirizzo IP esterno temporaneo, puoi assegnare esplicitamente un indirizzo IP esterno statico all'istanza.
console
Vai alla pagina Crea un'istanza.
Specifica i dettagli della VM.
Espandi la sezione Networking, dischi, sicurezza, gestione, single tenancy.
Espandi la sezione Networking e procedi nel seguente modo:
- Nella sezione Interfacce di rete, espandi un'interfaccia di rete per modificarla.
- Nell'elenco IP esterno, seleziona l'indirizzo IP esterno statico prenotato.
- Per completare la modifica dell'interfaccia di rete predefinita, fai clic su Fine.
Continua con il processo di creazione della VM.
gcloud
Per assegnare un indirizzo IP esterno statico, utilizza il flag --address
durante la creazione dell'istanza e fornisci l'indirizzo IP esterno statico:
gcloud compute instances create VM_NAME --address=IP_ADDRESS
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.IP_ADDRESS
: l'indirizzo IP da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome.
API
Nella richiesta per
creare una nuova istanza,
fornisci esplicitamente la proprietà
networkInterfaces[].accessConfigs[].natIP
e l'IP esterno che vuoi utilizzare. Ad esempio:
{ "name": "VM_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "IP_ADDRESS" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/v20150818" } }] }
Modificare o assegnare un indirizzo IP esterno a un'istanza esistente
Puoi modificare o assegnare un indirizzo IP esterno, temporaneo o statico, a un'istanza esistente modificando la configurazione dell'accesso dell'istanza.
Un'istanza può avere più interfacce e ogni interfaccia può avere un indirizzo IP esterno. Se l'istanza ha già un indirizzo IP esterno, devi prima rimuovere l'indirizzo eliminando la vecchia configurazione di accesso. Quindi, puoi aggiungere una nuova configurazione di accesso con il nuovo indirizzo IP esterno.
console
- Vai alla pagina Istanze VM.
- Fai clic sul nome dell'istanza a cui vuoi assegnare un IP esterno. Viene visualizzata la pagina dei dettagli dell'istanza.
Nella pagina dei dettagli dell'istanza, completa i passaggi seguenti:
- Fai clic su Modifica.
In Interfacce di rete, fai clic sul pulsante Modifica.
In IP esterno, seleziona un indirizzo IP esterno temporaneo o statico da assegnare all'istanza.
Fai clic su Fine.
Fai clic su Salva.
gcloud
[Facoltativo] Prenota un indirizzo IP esterno statico.
Se vuoi assegnare un indirizzo IP esterno statico, devi prenotarlo e assicurarti che non sia attualmente in uso da un'altra risorsa. Se necessario, segui le istruzioni per prenotare un nuovo indirizzo IP esterno statico o per annullare l'assegnazione di un indirizzo IP esterno statico.
Se intendi utilizzare un indirizzo IP esterno temporaneo, puoi saltare questo passaggio e Compute Engine assegna in modo casuale un indirizzo IP esterno temporaneo.
Elimina configurazioni di accesso esistenti.
Puoi impostare una configurazione di accesso per ogni istanza. Prima di tentare di assegnare una nuova configurazione di accesso a un'istanza, controlla se l'istanza ha una configurazione di accesso effettuando una richiesta
gcloud compute instances describe
:gcloud compute instances describe VM_NAME
Se esiste già una configurazione dell'accesso, questa viene visualizzata nel seguente formato:
networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 203.0.113.1 type: ONE_TO_ONE_NAT
Prima di aggiungere una nuova configurazione di accesso, devi eliminare la configurazione di accesso esistente utilizzando il comando secondario
instances delete-access-config
:gcloud compute instances delete-access-config VM_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.ACCESS_CONFIG_NAME
: la configurazione di accesso da eliminare. Assicurati di inserire il nome completo tra virgolette.
Aggiungi il nuovo indirizzo IP esterno.
Utilizzando il comando secondario
instances add-access-config
, aggiungi un nuovo indirizzo IP esterno:Nota: non sostituireIP_ADDRESS
con il nome dell'IP statico. Devi utilizzare l'indirizzo IP effettivo.gcloud compute instances add-access-config VM_NAME \ --access-config-name="ACCESS_CONFIG_NAME" --address=IP_ADDRESS
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.ACCESS_CONFIG_NAME
: il nome da chiamare questa configurazione di accesso. Assicurati di inserire il nome completo tra virgolette.IP_ADDRESS
: l'indirizzo IP da aggiungere.
Se vuoi che Compute Engine assegni un indirizzo IP esterno temporaneo anziché un indirizzo IP esterno statico, ometti la proprietà
--address IP_ADDRESS
:gcloud compute instances add-access-config VM_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
API
Puoi modificare l'indirizzo IP esterno di una VM aggiungendo una nuova configurazione di accesso per tale VM.
Verifica se è già presente una configurazione di accesso alla VM. Per verificare i dettagli della VM, effettua una richiesta GET al metodo
instances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaZONE
: zona in cui si trova la VMVM_NAME
: il nome della VM Se esiste già una configurazione dell'accesso, la risposta è simile alla seguente:
"networkInterfaces": [ { "network": ... "networkIP": "192.0.2.1", "name": "nic0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "203.0.113.1", "networkTier": "PREMIUM", "kind": "compute#accessConfig" } ], ... } ]
Il campo
networkInterfaces[].accessConfigs[].natIP
restituisce l'indirizzo IP esterno statico dell'istanza VM.Elimina la configurazione di accesso esistente effettuando una richiesta POST al metodo
instances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/deleteAccessConfig
Aggiungi una nuova configurazione di accesso all'interfaccia di rete dell'istanza VM effettuando una richiesta POST al metodo
instances.addAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addAccessConfig { "natIP": "IP_ADDRESS", "name": "ACCESS_CONFIG_NAME" }
Sostituisci quanto segue:
IP_ADDRESS
: l'indirizzo IP esterno da associare all'istanza. Specifica un indirizzo IP esterno riservato riservato inutilizzato disponibile per il progetto.ACCESS_CONFIG_NAME
: il nome della configurazione dell'accesso. Il nome predefinito e consigliato è NAT esterno.
Promuovi un indirizzo IP esterno temporaneo
Se l'istanza ha un indirizzo IP esterno temporaneo e vuoi assegnare in modo permanente l'IP al tuo progetto, promuovi l'indirizzo IP esterno temporaneo a un indirizzo IP esterno statico. La promozione di un indirizzo IP esterno temporaneo a un sistema riservato non causa il rilascio di pacchetti da parte di Google Cloud all'istanza. Sono inclusi i pacchetti inviati all'istanza direttamente o mediante un bilanciatore del carico.
console
- Vai alla pagina Indirizzi IP esterni.
- Nella stessa riga dell'indirizzo IP che vuoi promuovere in statico, fai clic su Prenota.
- Specifica un nome per il nuovo indirizzo IP statico e fai clic su Prenota.
gcloud
Per promuovere un indirizzo IP esterno temporaneo a un indirizzo IP esterno statico,
fornisci l'indirizzo IP esterno temporaneo utilizzando il flag --addresses
con
il comando compute addresses create
.
Utilizza il flag region
per promuovere un indirizzo IP temporaneo a livello di area geografica o il flag global
per promuovere un indirizzo IP globale temporaneo.
gcloud compute addresses create ADDRESS_NAME --addresses=IP_ADDRESS \ [--region=REGION | --global]
Sostituisci quanto segue:
ADDRESS_NAME
: il nome che vuoi chiamareIP_ADDRESS
: l'indirizzo IP che vuoi promuovereREGION
: area geografica a cui appartiene l'indirizzo IP a livello di area geografica
API
Per promuovere un indirizzo IP temporaneo a livello di area geografica, chiama il metodo addresses.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Per promuovere un indirizzo IP globale temporaneo, invia una richiesta POST
al seguente URI:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addressesIl corpo della richiesta deve contenere quanto segue:
{ "name": "ADDRESS_NAME", "address": "IP_ADDRESS" }
Sostituisci quanto segue:
ADDRESS_NAME
: il nome che vuoi chiamareIP_ADDRESS
: l'indirizzo IP che vuoi promuovereREGION
: area geografica a cui appartiene l'indirizzo IPPROJECT_ID
: l'ID progetto per questa richiesta
L'indirizzo IP esterno rimane associato all'istanza anche dopo che è stato promosso a un indirizzo IP esterno statico. Se devi assegnare l'indirizzo IP esterno statico appena promosso a un'altra risorsa, annulla l'assegnazione dell'indirizzo IP esterno statico dall'istanza esistente.
Elenca indirizzi IP esterni statici
Per elencare gli indirizzi IP esterni statici che hai prenotato per il tuo progetto, utilizza la console, esegui compute addresses list
o effettua una richiesta GET
all'API.
console
Per visualizzare un elenco di indirizzi IP del tuo progetto, vai alla pagina Indirizzi IP esterni.
gcloud
Utilizzare il comando compute addresses list
gcloud compute addresses list
API
Chiama il metodo addresses.list
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Sostituisci quanto segue:
REGION
: nome dell'area geografica per questa richiestaPROJECT_ID
: l'ID progetto per questa richiesta
Per elencare tutti gli indirizzi in tutte le aree geografiche, chiama il
metodo aggregatedList
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
Descrivi un indirizzo IP esterno statico
Per ottenere informazioni su un indirizzo IP esterno statico, usa la console, l'interfaccia a riga di comando gcloud o l'API.
console
- Vai alla pagina Indirizzi IP esterni.
- Fai clic sull'indirizzo IP per il quale vuoi visualizzare ulteriori informazioni.
gcloud
Utilizza il comando addresses describe
e sostituisci ADDRESS_NAME
con il nome dell'indirizzo IP esterno che vuoi descrivere.
gcloud compute addresses describe ADDRESS_NAME
API
Chiama il metodo addresses.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
Sostituisci quanto segue:
ADDRESS_NAME
: nome dell'indirizzo IPREGION
: nome dell'area geografica per la richiestaPROJECT_ID
: l'ID progetto della richiesta
Annullare l'assegnazione di un indirizzo IP esterno statico
Puoi annullare l'assegnazione di un indirizzo IP esterno statico modificando l'assegnazione dell'indirizzo IP mediante Google Cloud Console o eliminando la configurazione dell'accesso collegata alla VM che utilizza tale indirizzo. Puoi anche annullare l'assegnazione dell'indirizzo IP eliminando l'istanza. L'annullamento dell'assegnazione di un indirizzo IP esterno statico consente di riassegnare l'indirizzo IP esterno statico a un'altra risorsa.
L'annullamento dell'assegnazione di un indirizzo IP lo rimuove dalla risorsa, ma lo mantiene riservato per il progetto.
console
- Vai alla pagina Indirizzi IP esterni.
- Seleziona l'indirizzo IP statico di cui vuoi annullare l'assegnazione.
- Fai clic su Cambia per aprire la finestra di dialogo Allega indirizzo IP.
- Dall'elenco a discesa Allega a, seleziona Nessuno.
- Fai clic su OK.
gcloud
Puoi controllare se un indirizzo IP statico è in uso eseguendo il comando gcloud compute addresses list
:
gcloud compute addresses list
L'output è simile al seguente:
NAME REGION ADDRESS STATUS example-address REGION 198.51.100.1 RESERVED example-address-new REGION 203.0.113.1 IN_USE
In questo esempio, example-address-new
è attualmente in uso.
Per eliminare la configurazione dell'accesso di un'istanza e annullare l'assegnazione di un indirizzo IP esterno statico, procedi come descritto di seguito:
Recupera il nome della configurazione dell'accesso da eliminare. Per ottenere il nome, utilizza il comando
gcloud compute instances describe
. SostituisciVM_NAME
con il nome della VM.gcloud compute instances describe VM_NAME
La configurazione dell'accesso viene visualizzata nel seguente formato:
networkInterfaces: - accessConfigs: - kind: compute#accessConfig name: external-nat natIP: 203.0.113.1 type: ONE_TO_ONE_NAT
Elimina la configurazione dell'accesso.
Usa il comando
gcloud compute instances delete-access-config
:gcloud compute instances delete-access-config VM_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza della macchina virtuale.ACCESS_CONFIG_NAME
: il nome della configurazione di accesso da eliminare. Assicurati di inserire il nome completo tra virgolette.
Verifica che il tuo indirizzo IP esterno statico sia ora disponibile e contrassegnato come
RESERVED
anzichéIN_USE
.gcloud compute addresses list
Ad esempio:
NAME REGION ADDRESS STATUS example-address REGION 198.51.100.1 RESERVED example-address-new REGION 203.0.113.1 RESERVED
Ora che il tuo indirizzo IP esterno statico è disponibile, puoi scegliere di assegnarlo a un'altra istanza.
API
Puoi annullare l'assegnazione di un indirizzo IP esterno statico eliminando la configurazione di accesso collegata alla VM che utilizza tale indirizzo.
Per verificare i dettagli di configurazione dell'accesso di una VM, effettua una richiesta GET al metodo
instances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Elimina la configurazione di accesso esistente effettuando una richiesta POST al metodo
instances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/deleteAccessConfig
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaZONE
: zona in cui si trova la VMVM_NAME
: il nome della VM
Rilascia un indirizzo IP esterno statico
Se non hai più bisogno di un indirizzo IP esterno statico, puoi liberarlo in modo che venga restituito al pool IP generale per gli altri utenti di Compute Engine.
console
- Vai alla pagina Indirizzi IP esterni.
- Seleziona la casella accanto all'indirizzo IP da rilasciare.
- Fai clic su Rilascia indirizzo IP.
gcloud
Utilizza il comando compute addresses delete
.
gcloud compute addresses delete ADDRESS_NAME
Sostituisci ADDRESS_NAME
con il nome dell'indirizzo IP
da rilasciare.
API
Chiama il metodo addresses.delete
:
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses/ADDRESS_NAME
Sostituisci quanto segue:
ADDRESS_NAME
: nome dell'indirizzo IPREGION
: nome dell'area geografica per questa richiestaPROJECT_ID
: l'ID progetto per questa richiesta
Indirizzi IPv6 esterni a livello di area geografica statici
Se hai una subnet a doppio stack con un intervallo IPv6 esterno, puoi prenotare indirizzi IPv6 statici da tale subnet.
Quando prenota un indirizzo IPv6 esterno a livello di area geografica, viene allocato un intervallo di indirizzi IPv6 di /96
dalla subnet specificata. Puoi quindi utilizzare l'indirizzo prenotato per configurare una VM a doppio stack con un indirizzo IPv6 statico a livello di area geografica.
La configurazione degli indirizzi IPv6 statici è supportata solo per nic0
.
Se configuri una VM con un indirizzo IPv6 statico, si applica quanto segue:
L'interfaccia VM è configurata con il primo indirizzo IPv6 (
/128
) dell'intervallo/96
allocato.La VM è configurata con un indirizzo IP locale del link, che viene assegnato dall'intervallo
fe80::/10
, ma viene utilizzato solo per la ricerca nelle vicinanze.La configurazione MTU sull'interfaccia di rete della VM si applica sia ai pacchetti IPv4 sia a IPv6.
Le seguenti procedure consentono di configurare e gestire indirizzi IPv6 esterni a livello di area geografica statico:
- Prenota un nuovo indirizzo IPv6 esterno a livello di area geografica
- Elenca indirizzi IPv6 esterni regionali statici
- Descrivi gli indirizzi IPv6 esterni globali a livello di area geografica
- Assegnare un indirizzo IPv6 esterno a livello di area geografica a una nuova istanza VM
- Promuovi un indirizzo IPv6 esterno temporaneo a livello di area geografica
- Cambiare la configurazione dell'indirizzo IPv6 esterno per le istanze esistenti
- Annullare l'assegnazione di un indirizzo IPv6 esterno a livello di area geografica
Limitazioni
Se la tua rete VPC è in un progetto di servizio VPC condiviso, non puoi prenotare un indirizzo IPv6 esterno statico a livello di area geografica che proviene da una subnet condivisa nel progetto host. Puoi prenotare un indirizzo IPv6 esterno statico a livello di area geografica solo da una subnet nella tua rete VPC.
Prenota un nuovo indirizzo IPv6 esterno a livello di area geografica
Quando prenoti un indirizzo IPv6 esterno a livello di area geografica, viene assegnato un intervallo /96
dalla subnet specificata.
gcloud alpha compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IPV6 \ --endpoint-type=VM
Sostituisci quanto segue:
ADDRESS_NAME
: un nome per l'indirizzo.REGION
: l'area geografica per l'indirizzo.SUBNET
: la subnet da cui assegnare l'indirizzo IPv6 a livello di area geografica statico. La subnet deve avere un intervallo di indirizzi IPv6 esterno assegnato.
Elenca indirizzi IPv6 esterni regionali statici
Gli indirizzi IPv6 esterni a livello di area geografica non vengono visualizzati in Google Cloud Console come indirizzi riservati. Utilizza l'interfaccia a riga di comando di Google Cloud per visualizzare gli indirizzi.
gcloud compute addresses list \ --regions=REGION
Sostituisci REGION
con l'area geografica per cui vuoi elencare
gli indirizzi.
Descrivi gli indirizzi IPv6 esterni a livello di area geografica statici
Gli indirizzi IPv6 esterni a livello di area geografica non vengono visualizzati in Google Cloud Console come indirizzi riservati. Utilizza l'interfaccia a riga di comando Google Cloud per visualizzare
l'intervallo di indirizzi IPv6 /96
assegnato.
gcloud compute addresses describe ADDRESS_NAME \ --region=REGION
Sostituisci quanto segue:
ADDRESS_NAME
: il nome dell'indirizzo.REGION
: l'area geografica dell'indirizzo.
Assegna un indirizzo IPv6 esterno statico a una nuova istanza VM
Puoi creare una VM e assegnare un indirizzo IPv6 esterno a livello di area geografica che hai già prenotato. La VM deve essere configurata con la stessa area geografica e la stessa subnet dell'indirizzo IPv6 riservato.
gcloud alpha compute instances create VM_NAME \ --subnet=SUBNET \ --stack-type=IPV4_IPV6 \ --ipv6-address=IPV6_ADDRESS \ --ipv6-prefix-length=96 \ --ipv6-network-tier=PREMIUM \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.SUBNET
: la subnet che contiene l'indirizzo prenotato.IPV6_ADDRESS
: l'indirizzo IPv6 da assegnare alla VM. Specifica il primo indirizzo IPv6 nell'intervallo/96
.ZONE
: la zona della VM.
Promuovi un indirizzo IPv6 esterno temporaneo a livello di area geografica
Per promuovere un indirizzo IPv6 esterno temporaneo a livello di area geografica in un indirizzo IPv6 esterno statico a livello di area geografica, fornisci l'indirizzo IP esterno temporaneo mediante il flag --addresses
con il comando compute addresses create
.
gcloud alpha compute addresses create ADDRESS_NAME \ --region=REGION \ --addresses=IPV6_ADDRESS \ --prefix-length=96
Sostituisci quanto segue:
ADDRESS_NAME
: un nome per la risorsa Indirizzo IP.REGION
: l'area geografica per la risorsa di indirizzo IPv6.IPV6_ADDRESS
: l'indirizzo IPv6 che stai promuovendo.
Cambia la configurazione dell'indirizzo IPv6 esterno per le istanze esistenti
Puoi modificare una VM esistente per aggiungere o rimuovere una configurazione di indirizzi IPv6 esterna.
Per visualizzare l'attuale configurazione IPv6, descrivi la VM:
Controlla se la tua istanza ha una configurazione IPv6 effettuando una richiesta
gcloud compute instances describe
:gcloud compute instances describe VM_NAME \ --region=REGION
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.ZONE
: la zona dell'istanza VM.
Se un indirizzo IPv6 esterno è già stato assegnato a
nic0
, la configurazione viene visualizzata nel seguente formato:networkInterfaces: ... ipv6AccessConfigs: - externalIpv6: 2001:db8:4000:15:0:0:0:0 externalIpv6PrefixLength: 96 kind: compute#accessConfig name: external-ipv6 networkTier: PREMIUM type: DIRECT_IPV6 ipv6AccessType: EXTERNAL kind: compute#networkInterface name: nic0
Per rimuovere la configurazione IPv6 esterna, modifica il tipo di stack da stack singolo a stack singolo.
Rimuovi la configurazione dell'indirizzo IPv6 esistente utilizzando il sottocomando
instance network-interfaces update
:gcloud alpha compute instances network-interfaces update VM_NAME \ --network-interface=nic0 \ --stack-type=IPV4_ONLY \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.ZONE
: la zona dell'istanza VM.
Per assegnare un indirizzo IPv6 esterno statico a livello di area geografica, modifica il tipo di stack da stack singolo a doppio stack. Prima di assegnare l'indirizzo, verifica che la VM non abbia già una configurazione IPv6 esterna.
Prenota un indirizzo IPv6 esterno statico.
Se vuoi assegnare un indirizzo IPv6 esterno a livello di area geografica, devi prenotare un indirizzo e assicurarti che non sia attualmente in uso da un'altra risorsa. L'indirizzo IPv6 riservato deve trovarsi nella stessa area geografica e nella stessa subnet della VM.
- Per prenotare un indirizzo IP esterno a livello di area geografica, consulta la pagina Prenotare un nuovo indirizzo statico esterno IPv6 a livello di area geografica.
- Per verificare se è in uso un indirizzo IPv6 esterno a livello di area geografica, consulta l'articolo Annullare l'assegnazione di un indirizzo IPv6 esterno a livello di area geografica.
Per aggiungere un indirizzo IPv6 a livello di area geografica statico:
Utilizzando il comando secondario
instance network-interfaces update
, aggiungi un nuovo indirizzo IPv6 esterno:gcloud alpha compute instances network-interfaces update VM_NAME \ --network-interface=nic0 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_IPV6 \ --ipv6-address=IPV6_ADDRESS \ --ipv6-prefix-length=96 \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza VM.IPV6_ADDRESS
: l'indirizzo IPv6 da assegnare alla VM. Specifica il primo indirizzo IPv6 nell'intervallo/96
.ZONE
: la zona dell'istanza VM.
Annulla l'assegnazione di un indirizzo IPv6 esterno a livello di area geografica
Puoi annullare l'assegnazione di un indirizzo IPv6 esterno a livello di area geografica eliminando l'istanza o modificando il tipo di stack dell'istanza solo in IPv4. L'annullamento dell'assegnazione di un indirizzo IP statico comporta la rimozione dell'indirizzo dalla risorsa, ma lo conserva.
Se vuoi rimuovere la prenotazione, puoi rilasciare un indirizzo IPv6 esterno a livello di area geografica statico.
Controlla lo stato della risorsa indirizzo IP utilizzando il comando
compute addresses describe
.gcloud compute addresses describe ADDRESS_NAME \ --region=REGION
Sostituisci quanto segue:
ADDRESS_NAME
: il nome della risorsa di indirizzo IPv6.REGION
: l'area geografica della risorsa di indirizzo IPv6.
L'output è simile al seguente:
address: IPV6_ADDRESS addressType: EXTERNAL creationTimestamp: 'TIMESTAMP' description: 'DESCRIPTION' id: ID ipVersion: IPV6 kind: compute#address name: ADDRESS_NAME networkTier: PREMIUM prefixLength: 96 region: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION selfLink: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/addresses/ADDRESS_NAME status: IN_USE subnetwork: https://www.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/subnetworks/SUBNET users: - https://www.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances/VM_NAME
- Se l'indirizzo IP non è in uso,
status
èRESERVED
. - Se l'indirizzo IP è in uso, il campo
status
èIN_USE
e il campousers
mostra la VM che utilizza l'indirizzo IP.
Se è in uso l'indirizzo IP, annulla l'assegnazione dell'indirizzo IPv6 esterno a livello di area geografica alla VM utilizzando il comando
instance network-interfaces update
.gcloud alpha compute instances network-interfaces update VM_NAME \ --network-interface=nic0 \ --ipv6-network-tier=PREMIUM \ --stack-type=IPV4_ONLY \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
: il nome dell'istanza della macchina virtuale che utilizza l'indirizzo IP.ZONE
: la zona dell'istanza.
Verifica che ora il tuo indirizzo IPv6 esterno statico sia disponibile e contrassegnato come
RESERVED
anzichéIN_USE
.gcloud compute addresses list \ --filter="ADDRESS_NAME AND region=REGION"
Sostituisci quanto segue:
ADDRESS_NAME
: il nome della risorsa di indirizzo IPv6.REGION
: l'area geografica della risorsa di indirizzo IPv6.
Rilascia un indirizzo IPv6 esterno a livello di area geografica
Se non hai più bisogno dell'indirizzo IPv6 riservato, puoi rilasciarlo. L'indirizzo rilasciato viene restituito al pool di indirizzi temporanei nella subnet ed è disponibile per altre risorse.
Utilizza il comando compute addresses delete
.
gcloud compute addresses delete ADDRESS_NAME
Sostituisci ADDRESS_NAME
con il nome dell'indirizzo IPv6
da rilasciare.
Limitazione degli indirizzi IP esterni a istanze VM specifiche
Per alcuni carichi di lavoro potrebbero essere previsti requisiti essenziali che includono limitazioni di sicurezza e di rete. Ad esempio, potresti voler limitare l'indirizzo IP esterno in modo che possa essere utilizzato solo da istanze VM specifiche. Questa opzione può contribuire a impedire l'esfiltrazione dei dati o a mantenere l'isolamento della rete. Utilizzando un criterio dell'organizzazione, puoi limitare gli indirizzi IP esterni a istanze VM specifiche con vincoli per controllare l'utilizzo di indirizzi IP esterni per le istanze VM all'interno di un'organizzazione o di un progetto.
Il vincolo per il controllo di indirizzi IP esterni sulle VM è:
constraints/compute.vmExternalIpAccess
Per utilizzare il vincolo, devi specificare un criterio con un allowedList
di VM che può avere indirizzi IP esterni. Se non sono specificati criteri, tutti gli indirizzi IP esterni sono consentiti per tutte le VM. Quando il criterio è attivo, solo le VM elencate nell'elenco allowedValues
possono essere assegnate a un indirizzo IP esterno, temporaneo o statico, e ad altre VM di Compute Engine nell'organizzazione o nel progetto che non sono esplicitamente definite nel criterio non è consentito utilizzare indirizzi IP esterni.
Le istanze VM sono identificate negli elenchi Consenti e Nega utilizzando l'URI della VM.
projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Specifiche
- Puoi applicare questo vincolo di elenco solo alle istanze VM.
- Non puoi applicare il vincolo in modo retroattivo. Tutte le istanze VM con indirizzi IP esterni prima dell'abilitazione del criterio conservano il proprio indirizzo IP esterno.
- Questo vincolo accetta un elemento
allowedList
odeniedList
, ma non entrambi nello stesso criterio. - Spetta a te o a un amministratore con le autorizzazioni richieste gestire e mantenere il ciclo di vita e l'integrità dell'istanza. Il vincolo verifica solo l'URI dell'istanza e non impedisce che le VM incluse nella lista consentita vengano alterate, eliminate o ricreate.
Autorizzazioni
Per impostare un vincolo a livello di progetto o di organizzazione, devi
avere il ruolo orgpolicy.policyAdmin
nell'organizzazione.
Imposta il vincolo del criterio a livello di organizzazione
console
- Vai alla pagina Criteri dell'organizzazione.
- Se necessario, seleziona l'organizzazione richiesta dal menu a discesa del progetto.
- Fai clic su Definisci IP esterni consentiti per le istanze VM.
- Fai clic su Modifica per modificare il criterio IP esterno. Se non riesci ad accedere allo strumento Modifica, significa che non disponi delle autorizzazioni corrette.
Seleziona Personalizza per impostare il criterio dell'organizzazione per istanze VM specifiche.
Seleziona le norme applicabili Applicazione delle norme e Tipo di norma.
Nella sezione Valori del criterio, seleziona Personalizzato.
Inserisci un URI per un'istanza VM e premi Invio. L'URI deve essere nel seguente formato:
projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Fai clic su Nuovo valore di criterio e inserisci gli URI per le istanze VM in base alle necessità.
Fai clic su Salva per applicare il vincolo.
gcloud
Per impostare un vincolo di accesso IP esterno, è necessario prima l'ID della tua organizzazione.
Puoi trovare l'ID organizzazione eseguendo il
comando organizations list
e
cercando l'ID numerico nella risposta:
gcloud organizations list
L'interfaccia a riga di comando gcloud restituisce un elenco di organizzazioni nel seguente formato:
DISPLAY_NAME ID example-organization1 29252605212 example-organization2 1234567890
Utilizza il comando gcloud resource-manager org-policies set-policy
per impostare il criterio. Devi fornire il criterio come file JSON.
Crea un file JSON nel seguente formato:
{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME", "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME", "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME" ] } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiesta, ad esempioexample-project
. Tieni presente che questo criterio è diverso dalla configurazione dei criteri dell'organizzazione, che richiedono l'ID numerico dell'organizzazione.ZONE
: la zona dell'istanza.VM_NAME
: il nome dell'istanza della macchina virtuale
In alternativa, puoi specificare un elenco deniedValues
per indicare le istanze VM a cui vuoi esplicitamente impedire di avere un indirizzo IP esterno. Le istanze non presenti nell'elenco possono avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues
o
deniedValues
, ma non entrambi.
Quindi, passa il file con la richiesta:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --organization=ORGANIZATION_ID
Sostituisci ORGANIZATION_ID
con l'ID numerico dell'organizzazione.
Se non vuoi che le VM abbiano accesso IP esterno, puoi impostare un
criterio con allValues
impostato su DENY
:
{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } }
API
Utilizza l'API setOrgPolicy()
per definire il vincolo. Le VM nell'elenco allowedValue
specificate hanno indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues
per esprimere
le istanze VM a cui vuoi esplicitamente impedire di avere un indirizzo
IP esterno. Le istanze non presenti nell'elenco possono avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues
o
deniedValues
, ma non entrambi.
Ad esempio, la seguente è una richiesta per applicare il vincolo compute.vmExternalIpAccess
a un'organizzazione in cui le istanze VM di determinati progetti all'interno dell'organizzazione possono avere indirizzi IP esterni:
POST https://cloudresourcemanager.googleapis.com/v1/organizations/ORGANIZATION_ID:setOrgPolicy
dove ORGANIZATION_ID
è l'ID numerico dell'organizzazione.
Ora, nel corpo della richiesta, fornisci il criterio desiderato per questo vincolo:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME", "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME", "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME" ] } } }
Se non vuoi che le istanze abbiano accesso IP esterno, puoi impostare un criterio con allValues
impostato su DENY
:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } } }
Imposta il criterio a livello di progetto
L'impostazione di un criterio a livello di progetto sostituisce il criterio a livello di organizzazione. Ad esempio, se il livello dell'organizzazione è example-vm-1
nell'elenco allowedValues
, ma il criterio a livello di progetto ha la stessa VM nell'elenco deniedValues
, l'istanza VM non avrà un indirizzo IP esterno.
console
Segui la stessa procedura descritta in Impostare un vincolo del criterio a livello di organizzazione, ma scegli il progetto desiderato dal selettore progetti anziché dall'organizzazione.
gcloud
Utilizza il comando gcloud resource-manager org-policies set-policy
per impostare il
criterio. Devi fornire il criterio come file JSON. Crea un file JSON nel seguente formato:
{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME" ] } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiesta, ad esempioexample-project
. Tieni presente che si tratta di un criterio diverso dall'impostazione dei criteri dell'organizzazione, che richiedono un ID numerico dell'organizzazione.ZONE
: la zona dell'istanza.VM_NAME
: il nome dell'istanza della macchina virtuale.
In alternativa, puoi specificare un elenco deniedValues
di istanze VM a cui vuoi esplicitamente impedire di avere un indirizzo IP esterno. Le istanze non presenti nell'elenco possono avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues
o deniedValues
,
ma non entrambi.
Quindi, passa il file con la richiesta:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=example-project
API
Utilizza l'API setOrgPolicy
per definire il vincolo. Le VM nell'elenco allowedValue
specificate hanno indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues
per esprimere
le istanze VM a cui vuoi esplicitamente impedire di avere un indirizzo
IP esterno. Le istanze non presenti nell'elenco possono avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues
o
deniedValues
, ma non entrambi.
Ad esempio, la seguente è una richiesta per impostare il vincolo compute.vmExternalIpAccess
su un progetto per consentire a istanze VM specifiche di avere indirizzi IP esterni:
POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setOrgPolicy
Sostituisci PROJECT_ID
con l'ID progetto di questa richiesta.
Il corpo della richiesta contiene il criterio desiderato per questo vincolo:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME" ] } } }
Best practice
Evita di utilizzare l'elenco
deniedValues
con questo vincolo. Se definisci i valori nell'elencodeniedValues
, significa che solo le istanze VM nell'elencodeniedValues
non possono utilizzare indirizzi IP esterni. Questo potrebbe costituire un problema di sicurezza se vuoi controllare esattamente quali VM possono avere indirizzi IP esterni. Se vuoi rimuovere determinate VM dall'elencoallowedValues
, aggiorna il criterio esistente per rimuovere le VM daallowedList
invece di inserire le VM nell'elencodeniedValues
in una gerarchia inferiore.Se vuoi impostare un criterio su gran parte della gerarchia delle risorse, ma escludere determinati progetti, ripristina il criterio predefinito utilizzando il metodo
setOrgPolicy
specificando l'oggettorestoreDefault
per consentire l'associazione di tutte le VM nei progetti a indirizzi IP esterni. I criteri attualmente applicati ai progetti non sono interessati dall'impostazione predefinita.Utilizza i criteri dell'organizzazione insieme ai ruoli IAM per controllare meglio il tuo ambiente. Questo criterio viene applicato solo alle istanze VM, ma se vuoi controllare e limitare meglio gli indirizzi IP esterni sui dispositivi di rete, puoi concedere il ruolo
compute.networkAdmin
alle parti appropriate.Tutti i servizi e i prodotti in esecuzione su Compute Engine all'interno dell'organizzazione o del progetto con il criterio abilitato sono soggetti a questo criterio dell'organizzazione. In particolare, i servizi come Google Kubernetes Engine, Dataflow, Dataproc e Cloud SQL sono interessati da questo criterio. Se si tratta di un problema, Google consiglia di configurare altri servizi e prodotti in un progetto diverso a cui non è applicato il criterio dell'organizzazione e di utilizzare il networking tra progetti, se necessario.
Passaggi successivi
- Scopri di più sugli indirizzi IP.
- Ulteriori informazioni su reti e firewall.
- Scopri come indirizzare le istanze VM utilizzando il DNS interno.
- Consulta i prezzi di VPC.