Puoi assegnare indirizzi IP esterni statici alle tue istanze bare metal e di macchine virtuali (VM). Puoi anche modificare, elencare e rilasciare indirizzi IP statici per le tue istanze. Per prenotare un indirizzo IP esterno statico, consulta Prenota un indirizzo IP esterno statico.
Gli indirizzi IP esterni possono essere statici o temporanei. Se un'istanza richiede un indirizzo IP esterno fisso che non cambia, segui questi passaggi:
- Ottieni un indirizzo IP esterno statico. Puoi prenotare nuovi indirizzi IP esterni o promuovere indirizzi IP esterni temporanei esistenti.
- Assegna l'indirizzo IP prenotato a un'istanza esistente oppure quando crei una nuova istanza.
Se hai bisogno di un indirizzo IP statico sulla tua rete Compute Engine interna, consulta Prenota un indirizzo IP interno statico.
Per informazioni su come prenotare un indirizzo IP esterno statico o creare un indirizzo IP esterno globale, consulta Prenota un indirizzo IP esterno statico.
Prima di iniziare
- Scopri di più sugli indirizzi IP.
- Scopri di più su quote e limiti per gli indirizzi IP esterni statici.
- Scopri di più sui prezzi degli indirizzi IP esterni.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud .
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
-
Per creare e aggiornare le istanze:
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) -
compute.instances.update
sull'istanza -
compute.instances.updateNetworkInterface
sull'istanza -
compute.instances.addAccessConfig
sull'istanza -
compute.instances.deleteAccessConfig
sull'istanza -
compute.networks.list
sulla rete -
compute.subnetworks.use
sulla subnet -
compute.subnetworks.list
sulla subnet -
Per creare istanze:
compute.instances.create
sul progetto- Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnly
sull'immagine - Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnly
sullo snapshot - Per utilizzare un modello di istanza per creare la VM:
compute.instanceTemplates.useReadOnly
sul modello di istanza - Per assegnare una rete legacy alla VM:
compute.networks.use
sul progetto - Per specificare un indirizzo IP statico per la VM:
compute.addresses.use
sul progetto - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete legacy:
compute.networks.useExternalIp
sul progetto - Per specificare una subnet per la VM:
compute.subnetworks.use
sul progetto o sulla subnet scelta - Per assegnare un indirizzo IP esterno alla VM quando viene utilizzata una rete VPC:
compute.subnetworks.useExternalIp
sul progetto o sulla subnet scelta - Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadata
sul progetto - Per impostare i tag per la VM:
compute.instances.setTags
sulla VM - Per impostare le etichette per la VM:
compute.instances.setLabels
sulla VM - Per impostare un service account che la VM possa utilizzare:
compute.instances.setServiceAccount
sulla VM - Per creare un nuovo disco per la VM:
compute.disks.create
sul progetto - Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura:
compute.disks.use
sul disco - Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnly
sul disco
Solo una risorsa alla volta può utilizzare un indirizzo IP esterno statico.
Non è possibile verificare 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 il progetto. Utilizza il sottocomando
gcloud compute addresses list
per visualizzare un elenco di indirizzi IP esterni statici disponibili per il progetto.Ogni VM può avere più interfacce di rete e a ogni interfaccia possono essere assegnati i seguenti indirizzi IP in base al tipo di stack:
- Interfacce solo IPv4:
- Un indirizzo IPv4 interno (obbligatorio)
- Un indirizzo IPv4 esterno (facoltativo)
- Interfacce a doppio stack (IPv4 e IPv6):
- Un indirizzo IPv4 interno (obbligatorio)
- Un indirizzo IPv4 esterno (facoltativo)
- Un intervallo di indirizzi IPv6
/96
, interno o esterno, ma non entrambi (obbligatorio)
- Interfacce solo IPv6 (Anteprima):
- Un intervallo di indirizzi IPv6
/96
, interno o esterno, ma non entrambi (obbligatorio)
- Un intervallo di indirizzi IPv6
- Interfacce solo IPv4:
Non puoi annullare l'assegnazione o modificare l'indirizzo IPv6 esterno di una VM con un'interfaccia di rete solo IPv6. Tuttavia, puoi promuovere un indirizzo IP esterno temporaneo di una risorsa a indirizzo IP esterno statico in modo che rimanga prenotato anche dopo l'eliminazione della risorsa.
Non puoi modificare il nome di un indirizzo IP statico.
Nella console Google Cloud , vai alla pagina Indirizzi IP.
Fai clic su Indirizzi IP esterni.
Per elencare tutti gli indirizzi IP, utilizza il seguente comando:
gcloud compute addresses list
Per elencare tutti gli indirizzi IP globali, utilizza il seguente comando:
gcloud compute addresses list --global
Per elencare tutti gli indirizzi IP regionali in una determinata regione, utilizza il seguente comando:
gcloud compute addresses list \ --regions=REGION
Sostituisci
REGION
con la regione per cui vuoi elencare gli indirizzi. Puoi elencare gli indirizzi di più regioni specificando i nomi delle regioni separati da virgole:gcloud compute addresses list \ --regions=REGION1,REGION2,..REGION_n_
Per elencare gli indirizzi IPv4 o IPv6 regionali, chiama il metodo
addresses.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaREGION
: il nome della regione per questa richiesta
Per elencare tutti gli indirizzi in tutte le regioni, chiama il metodo
addresses.aggregatedList
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/addresses
Per elencare gli indirizzi IPv4 o IPv6 globali, chiama il metodo
globalAddresses.list
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaNella console Google Cloud , vai alla pagina Crea un'istanza.
Per assegnare un indirizzo IP esterno statico all'istanza, segui questi passaggi:
Nel menu di navigazione, fai clic su Networking.
Nella sezione Interfacce di rete, specifica le interfacce di rete per l'istanza utilizzando le seguenti opzioni:
Per aggiungere un'interfaccia di rete, fai clic su Aggiungi un'interfaccia di rete. Quindi, nell'elenco Rete, seleziona una rete.
Per eliminare un'interfaccia di rete, fai clic su
Elimina.
Seleziona una delle seguenti opzioni:
Per assegnare un indirizzo IPv4 esterno statico, segui questi passaggi:
- Espandi un'interfaccia di rete.
- Seleziona l'indirizzo IP dall'elenco Indirizzo IPv4 esterno.
Per assegnare un indirizzo IPv6 esterno statico, segui questi passaggi:
- Espandi un'interfaccia di rete che contiene una subnet con un intervallo di indirizzi IPv6 esterno.
- Seleziona la subnet dall'elenco Subnet.
- Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio) o IPv6 (stack singolo).
- Seleziona l'indirizzo IPv6 esterno appena prenotato dall'elenco Indirizzo IPv6 esterno. In alternativa, seleziona Prenota indirizzo IPv6 esterno statico e prenota un nuovo indirizzo IPv6 esterno statico.
- In Livello di servizio di rete, seleziona Premium.
Per completare la modifica dell'interfaccia di rete, fai clic su Fine.
Continua il processo di creazione dell'istanza.
Per assegnare un indirizzo IPv4 esterno statico, segui questi passaggi:
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --address=IPV4_ADDRESS
Per assegnare un indirizzo IPv6 esterno statico, segui questi passaggi:
gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --subnet=SUBNET \ --stack-type=STACK_TYPE \ --external-ipv6-address=IPV6_ADDRESS \ --external-ipv6-prefix-length=96 \ --ipv6-network-tier=PREMIUM
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza di computing.ZONE
: la zona in cui creare l'istanza.IPV4_ADDRESS
: l'indirizzo IPv4 da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome dell'indirizzo.SUBNET
: una subnet contenente indirizzi IPv6 esterni.STACK_TYPE
: il tipo di stack per l'istanza,IPV4_IPV6
(doppio stack) oIPV6_ONLY
.IPV6_ADDRESS
: l'indirizzo IPv6 da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome dell'indirizzo.
Per assegnare un indirizzo IPv4 esterno statico a una nuova istanza di computing, segui questi passaggi:
Nella richiesta per creare una nuova istanza, fornisci esplicitamente la proprietà
networkInterfaces[].accessConfigs[].natIP
e l'indirizzo IPv4 esterno che vuoi utilizzare, ad esempio:{ "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT", "natIP": "IPV4_ADDRESS" }], "network": "global/networks/default" }], "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "SOURCE_IMAGE" } }] }
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza di computing.ZONE
: la zona in cui creare l'istanza.MACHINE_TYPE
: (Facoltativo) un URL completo o parziale della risorsa del tipo di macchina da utilizzare durante la creazione dell'istanza, nel formato:zones/ZONE/machineTypes/MACHINE_TYPE
IPV4_ADDRESS
: l'indirizzo IPv4 da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome dell'indirizzo.SOURCE_IMAGE
: una versione specifica di un'immagine pubblica, ad esempioprojects/debian-cloud/global/images/debian-10-buster-v20200309
o una famiglia di immagini, ad esempioprojects/debian-cloud/global/images/family/debian-10
.
Per assegnare un indirizzo IPv6 esterno statico a una nuova istanza, segui questi passaggi:
Nella richiesta per creare una nuova istanza, fornisci esplicitamente la proprietà
networkInterfaces[].ipv6AccessConfigs[].externalIpv6
e l'indirizzo IPv6 esterno che vuoi utilizzare, ad esempio:{ "name": "INSTANCE_NAME", "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE", "networkInterfaces": [{ "ipv6AccessConfigs": [{ "externalIpv6": "IPV6_ADDRESS", "externalIpv6PrefixLength": 96, "name": "external-ipv6-access-config", "networkTier": "PREMIUM", "type": "DIRECT_IPV6" }], "stackType": "STACK_TYPE", "subnetwork":"SUBNETWORK" }], "disks": [{ "autoDelete": "true", "boot": "true", "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "SOURCE_IMAGE" }, }], }
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza di computing.ZONE
: la zona in cui creare l'istanza.MACHINE_TYPE
: (Facoltativo) un URL completo o parziale della risorsa del tipo di macchina da utilizzare durante la creazione dell'istanza, nel formato:zones/ZONE/machineTypes/MACHINE_TYPE
IPV6_ADDRESS
: l'indirizzo IPv6 da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome dell'indirizzo.STACK_TYPE
: il tipo di stack per l'istanza,IPV4_IPV6
(doppio stack) oIPV6_ONLY
.SUBNET
: una subnet contenente indirizzi IPv6 esterni.SOURCE_IMAGE
: una versione specifica di un'immagine pubblica, ad esempio"projects/debian-cloud/global/images/debian-10-buster-v20200309"
o una famiglia di immagini, ad esempio"projects/debian-cloud/global/images/family/debian-10"
.
Nella console Google Cloud , vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza a cui vuoi assegnare un indirizzo IP esterno. Viene visualizzata la pagina Dettagli istanza.
Nella pagina Dettagli istanza, completa i seguenti passaggi:
- Fai clic su Modifica.
- Espandi Interfacce di rete.
- Seleziona l'indirizzo IP esterno richiesto da assegnare all'istanza.
Se l'istanza è solo IPv4 e vuoi assegnare un indirizzo IPv6, devi prima impostare il tipo di stack su doppio stack.
- Per Indirizzo IPv4 esterno, seleziona Temporaneo o un indirizzo IPv4 esterno statico.
- Per Indirizzo IPv6 esterno, seleziona Temporaneo o un indirizzo IPv6 esterno statico.
- Fai clic su Fine.
Fai clic su Salva.
(Facoltativo) Prenota un indirizzo IP esterno statico
Se vuoi assegnare un indirizzo IP esterno statico, devi prenotarne uno e assicurarti che non sia utilizzato 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 assegnerà in modo casuale un indirizzo IP esterno temporaneo.
Rimuovi eventuali assegnazioni di indirizzi IP esistenti, come descritto in Annulla l'assegnazione di un indirizzo IP esterno statico.
Assegna il nuovo indirizzo IP esterno.
Per assegnare un indirizzo IPv4, utilizza il sottocomando
instances add-access-config
:Nota: non sostituireIP_ADDRESS
con il nome dell'indirizzo IP statico. Devi utilizzare l'indirizzo IP effettivo.gcloud compute instances add-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME" --address=IP_ADDRESS
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza.ACCESS_CONFIG_NAME
: il nome per chiamare questa configurazione di accesso. Assicurati di includere il nome completo tra virgolette.IP_ADDRESS
: l'indirizzo IP da aggiungere.
Se vuoi che Compute Engine assegni un indirizzo IP esterno temporaneo anziché utilizzare un indirizzo IP esterno statico, ometti la proprietà
--address IP_ADDRESS
:gcloud compute instances add-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
Per impostare un'istanza a doppio stack e assegnare un indirizzo IPv6, utilizza il sottocomando
instance network-interfaces update
:gcloud compute instances network-interfaces update INSTANCE_NAME \ --network-interface=NIC \ --ipv6-network-tier=PREMIUM \ --stack-type=STACK_TYPE \ --external-ipv6-address=IPV6_ADDRESS \ --external-ipv6-prefix-length=96 \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza.NIC
: il nome dell'interfaccia di rete.STACK_TYPE
: il tipo di stack per l'istanza, che deve essereIPV4_IPV6
. Non puoi impostare il tipo di stack su IPV6_ONLY.IPV6_ADDRESS
: l'indirizzo IPv6 da assegnare all'istanza. Specifica il primo indirizzo IPv6 nell'intervallo/96
.ZONE
: la zona dell'istanza.
Rimuovi eventuali assegnazioni di indirizzi IP esistenti, come descritto in Annulla l'assegnazione di un indirizzo IP esterno statico.
Elimina la configurazione di accesso esistente inviando una richiesta
POST
al metodoinstances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteAccessConfig
Aggiungi una nuova configurazione di accesso all'interfaccia di rete dell'istanza inviando una richiesta
POST
al metodoinstances.addAccessConfig
.Per gli indirizzi IPv4, invia la seguente richiesta:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig { "natIP": "IPV4_ADDRESS", "name": "ACCESS_CONFIG_NAME" }
Per gli indirizzi IPv6, aggiorna
stackType
dell'interfaccia di rete aIPV4_IPV6
e aggiorna la proprietànetworkInterfaces[].ipv6AccessConfigs[].externalIpv6
e l'indirizzo IPv6 esterno che vuoi utilizzare.Per saperne di più, consulta Assegna un indirizzo IP esterno statico a una nuova istanza.
- Puoi applicare questo vincolo di elenco solo alle istanze.
- Non puoi applicare il vincolo in modo retroattivo. Tutte le istanze che hanno indirizzi IP esterni prima dell'attivazione della policy mantengono i propri indirizzi IP esterni.
- Questo vincolo accetta una
allowedList
o unadeniedList
, ma non entrambe nella stessa policy. - Spetta a te o a un amministratore con le autorizzazioni richieste gestire e mantenere l'integrità e il ciclo di vita dell'istanza. Il vincolo verifica solo l'URI dell'istanza e non impedisce che le istanze nella lista consentita vengano alterate, eliminate o ricreate.
- Vai alla pagina Policy 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 la policy per gli IP esterni. Se non riesci ad accedere allo strumento Modifica, significa che non disponi delle autorizzazioni corrette.
Seleziona Personalizza per impostare la policy dell'organizzazione per istanze specifiche.
Seleziona Applicazione policy e Tipo di policy.
In Valori policy, seleziona Personalizzato.
Inserisci un URI per un'istanza. L'URI deve avere il seguente formato:
projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Fai clic su Nuovo valore policy e inserisci gli URI per le istanze secondo necessità.
Fai clic su Salva per applicare il vincolo.
PROJECT_ID
: l'ID progetto per questa richiesta, ad esempioexample-project
. Tieni presente che questa operazione è diversa dalla configurazione delle policy dell'organizzazione, che richiedono l'ID numerico dell'organizzazione.ZONE
: la zona dell'istanzaINSTANCE_NAME
: il nome dell'istanzaPROJECT_ID
: l'ID progetto per questa richiesta, ad esempioexample-project
. Tieni presente che questa operazione è diversa dalla configurazione delle policy dell'organizzazione, che richiedono l'ID numerico dell'organizzazione.ZONE
: la zona dell'istanza.INSTANCE_NAME
: il nome dell'istanza.Evita di utilizzare l'elenco
deniedValues
con questo vincolo. Se definisci valori nell'elencodeniedValues
, solo alle istanze nell'elencodeniedValues
viene impedito di utilizzare indirizzi IP esterni. Questo potrebbe rappresentare un problema di sicurezza se vuoi controllare esattamente quali istanze possono avere indirizzi IP esterni. Se vuoi rimuovere determinate istanze dall'elencoallowedValues
, aggiorna la policy esistente per rimuoverle dall'elencoallowedList
anziché inserirle nell'elencodeniedValues
in una gerarchia inferiore.Se vuoi impostare una policy su gran parte della gerarchia delle risorse, ma esentare determinati progetti, ripristina la policy predefinita utilizzando il metodo
setOrgPolicy
specificando l'oggettorestoreDefault
per consentire l'associazione di tutte le istanze nei progetti a indirizzi IP esterni. Le policy attuali per i progetti non sono interessate dall'impostazione predefinita.Utilizza le policy dell'organizzazione insieme ai ruoli IAM per controllare meglio il tuo ambiente. Questa policy si applica solo alle istanze, ma se vuoi controllare e limitare meglio gli indirizzi IP esterni sui dispositivi di rete, puoi concedere il ruolo
compute.networkAdmin
alle persone adeguate.Tutti i servizi e i prodotti in esecuzione su Compute Engine all'interno dell'organizzazione o del progetto con la policy abilitata sono soggetti a questa policy dell'organizzazione. Nello specifico, questa policy interessa servizi come Google Kubernetes Engine, Dataflow, Dataproc e Cloud SQL. Se è un problema, Google consiglia di configurare altri servizi e prodotti in un progetto diverso, a cui non è applicata la policy dell'organizzazione, e di utilizzare VPC condiviso, se necessario.
Nella console Google Cloud , vai alla pagina Indirizzi IP.
Individua l'indirizzo nell'elenco e controlla la colonna Tipo per il tipo di indirizzo IP.
Nella console Google Cloud , vai alla pagina Indirizzi IP.
Fai clic su Indirizzi IP esterni.
Seleziona l'indirizzo IP statico di cui vuoi annullare l'assegnazione.
Fai clic su
Visualizza azioni e seleziona l'opzione Riassegna a un'altra risorsa.Nell'elenco a discesa Collega a, seleziona Nessuno.
Fai clic su Ok.
Controlla se un indirizzo IP statico è in uso utilizzando il comando
gcloud compute addresses list
:gcloud compute addresses list
L'output è simile al seguente:
NAME REGION ADDRESS STATUS example-address-ipv4 REGION 198.51.100.1 RESERVED example-address-new-ipv4 REGION 203.0.113.1 IN_USE example-address-ipv6 REGION 2001:db8:1:1:1:1:1:1 RESERVED example-address-new-ipv6 REGION 2001:db8:4:4:4:4:4:4 IN_USE
- Se l'indirizzo IP non è in uso, lo stato è
RESERVED
. - Se l'indirizzo IP è in uso, lo stato è
IN_USE
.
- Se l'indirizzo IP non è in uso, lo stato è
Recupera il nome dell'istanza che sta utilizzando l'indirizzo IP:
gcloud compute addresses describe ADDRESS_NAME \ --region=REGION
Sostituisci quanto segue:
ADDRESS_NAME
: il nome della risorsa dell'indirizzo IPv6.REGION
: la regione della risorsa dell'indirizzo IPv6.
L'output è simile al seguente:
address: IP_ADDRESS addressType: EXTERNAL ... 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/INSTANCE_NAME
Il campo
users
mostra il nome dell'istanza che sta utilizzando l'indirizzo IP.Annulla l'assegnazione dell'indirizzo IP all'istanza.
Per annullare l'assegnazione di un indirizzo IPv4, elimina il file della configurazione di accesso dell'istanza:
Recupera il nome della configurazione di accesso da eliminare. Per ottenere il nome, utilizza il comando
gcloud compute instances describe
. SostituisciINSTANCE_NAME
con il nome dell'istanza.gcloud compute instances describe INSTANCE_NAME
La configurazione di 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 di accesso utilizzando il comando
gcloud compute instances delete-access-config
:gcloud compute instances delete-access-config INSTANCE_NAME \ --access-config-name="ACCESS_CONFIG_NAME"
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza.ACCESS_CONFIG_NAME
: il nome della configurazione di accesso da eliminare. Assicurati di includere il nome completo tra virgolette.
Per annullare l'assegnazione di un intervallo di indirizzi IPv6, utilizza il comando
instance network-interfaces update
:gcloud compute instances network-interfaces update INSTANCE_NAME \ --network-interface=nic0 \ --stack-type=IPV4_ONLY \ --zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME
: il nome dell'istanza che sta utilizzando l'indirizzo IP.ZONE
: la zona dell'istanza.
Verifica che l'indirizzo IP esterno statico ora 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 dell'indirizzo IP.REGION
: la regione della risorsa dell'indirizzo IP.
Per gli indirizzi IPv4, elimina la configurazione di accesso collegata all'istanza che sta utilizzando l'indirizzo.
Per controllare i dettagli della configurazione di accesso di un'istanza, invia una richiesta
GET
al metodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Elimina la configurazione di accesso esistente inviando una richiesta
POST
al metodoinstances.deleteAccessConfig
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteAccessConfig
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaZONE
: la zona in cui si trova l'istanzaINSTANCE_NAME
: il nome dell'istanza
Per gli indirizzi IPv6, aggiorna il tipo di stack dell'interfaccia di rete per l'istanza a cui è collegato l'indirizzo IPv6.
Invia una richiesta
PATCH
al metodoinstances.updateNetworkInterface
.Nel corpo della richiesta, aggiorna il valore del campo
stackType
aIPV4_ONLY
.Ad esempio:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateNetworkInterface { "networkInterfaces": [{ ... "stackType" : "IPV4_ONLY" ... }] }
- Scopri di più sugli indirizzi IP.
- Scopri di più su reti e firewall.
- Scopri come indirizzare le istanze Compute Engine utilizzando il DNS interno.
- Esamina i prezzi del VPC.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione Google Cloud sull'autenticazione.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare e gestire gli indirizzi IP statici, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per configurare e gestire gli indirizzi IP statici. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per configurare e gestire gli indirizzi IP statici sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
Nota: le interfacce di rete possono ricevere traffico da più regole di forwarding, che potrebbero gestire altri indirizzi IP esterni. Non c'è un limite al numero di indirizzi IP esterni che possono fare riferimento a un'interfaccia di rete tramite queste regole di forwarding, ma a ogni interfaccia di rete può essere assegnato un solo indirizzo IPv4 esterno e un solo intervallo di indirizzi IPv6
/96
esterno.Per saperne di più sul bilanciamento del carico e sulle regole di forwarding, consulta la documentazione sul bilanciamento del carico.
Visualizza gli indirizzi IP esterni statici disponibili
Per elencare gli indirizzi IP esterni statici che hai prenotato per il tuo progetto:
Console
gcloud
Utilizza il comando
gcloud compute addresses list
:API
Go
Java
Python
Configura indirizzi IP esterni statici
Le sezioni seguenti descrivono come configurare indirizzi IP esterni statici per le istanze.
Crea un'istanza che utilizza un indirizzo IP esterno statico
Dopo aver prenotato un indirizzo IP esterno statico, puoi assegnarlo a un'istanza.
Console
gcloud
Puoi creare un'istanza e assegnare un indirizzo IP esterno regionale statico che hai già prenotato.
Terraform
Puoi utilizzare la risorsa
google_compute_instance
per assegnare un indirizzo IP esterno.REST
Go
Java
Python
Modifica o assegna un indirizzo IP esterno a un'istanza esistente
Puoi modificare o assegnare un indirizzo IP esterno, temporaneo o statico, a un'istanza solo IPv4 o dual-stack esistente. Questa procedura non è supportata per le istanze solo IPv6.
Un'istanza di computing può avere più interfacce. Un'interfaccia a stack singolo può avere un indirizzo IP esterno. Un'interfaccia a doppio stack può avere un indirizzo IPv4 esterno e un indirizzo IPv6 esterno. Se l'istanza ha già un indirizzo IP esterno, devi prima rimuoverlo. Quindi puoi assegnare un nuovo indirizzo IP esterno all'istanza esistente.
Console
gcloud
REST
Puoi modificare l'indirizzo IPv4 o IPv6 esterno di un'istanza aggiungendo una nuova configurazione di accesso per l'istanza.
Go
Java
Python
Limita gli indirizzi IP esterni a istanze specifiche
Per alcuni workload, potresti avere requisiti essenziali che includono limitazioni di sicurezza e di rete. Ad esempio, potresti voler limitare gli indirizzi IP esterni in modo che solo istanze di computing specifiche possano utilizzarli. Questa opzione può contribuire a impedire l'esfiltrazione di dati o mantenere l'isolamento della rete. Con una policy dell'organizzazione, puoi limitare gli indirizzi IP esterni a istanze specifiche con vincoli per controllare l'utilizzo degli indirizzi IP esterni per le istanze all'interno di un'organizzazione o di un progetto.
Il vincolo per il controllo dell'indirizzo IP esterno sulle istanze è:
constraints/compute.vmExternalIpAccess
Per utilizzare il vincolo, specifica una policy con una
allowedList
contenente le istanze che possono avere indirizzi IP esterni. Se non specifichi una policy, tutti gli indirizzi IP esterni sono consentiti per tutte le istanze. Quando la policy è attiva, solo alle istanze elencate nell'elencoallowedValues
può essere assegnato un indirizzo IP esterno, temporaneo o statico, mentre alle altre istanze Compute Engine dell'organizzazione o del progetto non definite esplicitamente nella policy è vietato utilizzare indirizzi IP esterni.Le istanze vengono identificate nella lista consentita e nella lista bloccata utilizzando il relativo URI:
projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME
Specifiche per la limitazione degli indirizzi IP esterni
Autorizzazioni necessarie per limitare gli indirizzi IP esterni
Per impostare un vincolo a livello di progetto o di organizzazione, devi avere ricevuto il ruolo
orgpolicy.policyAdmin
sull'organizzazione.Imposta il vincolo delle policy a livello di organizzazione
Console
gcloud
Per impostare un vincolo per l'accesso IP esterno, devi prima conoscere l'ID della tua organizzazione. Per trovare l'ID dell'organizzazione esegui il comando
organizations list
e cerca l'ID numerico nella risposta:gcloud organizations list
gcloud CLI 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 la policy. Devi fornire le policy come file JSON. Crea un file JSON nel seguente formato:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } }
Sostituisci quanto segue:
In alternativa, puoi specificare un elenco
deniedValues
per indicare le istanze a cui vuoi vietare esplicitamente di avere un indirizzo IP esterno. A qualsiasi istanza non presente nell'elenco viene implicitamente consentito avere un indirizzo IP esterno. Puoi specificare soloallowedValues
odeniedValues
, 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 vuoi impedire a tutte le istanze l'accesso IP esterno, puoi impostare una policy con
allValues
impostato suDENY
:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } }
REST
Utilizza l'API
setOrgPolicy()
per definire il vincolo. Le istanze nell'elencoallowedValue
specificato possono avere indirizzi IP esterni. In alternativa, puoi specificare un elencodeniedValues
per indicare le istanze alle quali vuoi vietare esplicitamente l'assegnazione di un indirizzo IP esterno. A qualsiasi istanza non presente nell'elenco viene implicitamente consentito avere un indirizzo IP esterno. Puoi specificare soloallowedValues
odeniedValues
, ma non entrambi.Ad esempio, di seguito è riportata una richiesta di applicazione del vincolo
compute.vmExternalIpAccess
a un'organizzazione in cui le istanze 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 la policy per questo vincolo:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME", "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } } }
Se vuoi impedire a tutte le istanze l'accesso IP esterno, puoi impostare una policy con
allValues
impostato suDENY
:{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allValues": "DENY" } } }
Imposta la policy a livello di progetto
L'impostazione di una policy a livello di progetto sostituisce la policy a livello di organizzazione. Ad esempio, se a livello di organizzazione
example-vm-1
è presente nell'elencoallowedValues
, ma nella policy a livello di progetto la stessa istanza si trova nell'elencodeniedValues
, all'istanza non sarà consentito avere un indirizzo IP esterno.Console
Segui la stessa procedura descritta in Imposta un vincolo delle policy a livello di organizzazione, ma scegli il progetto dal selettore dei progetti, anziché dall'organizzazione.
gcloud
Utilizza il comando
gcloud resource-manager org-policies set-policy
per impostare la policy. Devi fornire le policy come file JSON. Crea un file JSON nel seguente formato:{ "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } }
Sostituisci quanto segue:
In alternativa, puoi specificare un elenco
deniedValues
per indicare le istanze alle quali vuoi vietare esplicitamente l'assegnazione di un indirizzo IP esterno. A qualsiasi istanza non presente nell'elenco viene implicitamente consentito avere un indirizzo IP esterno. Puoi specificare soloallowedValues
odeniedValues
, ma non entrambi.Quindi, passa il file con la richiesta:
gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=example-project
REST
Utilizza l'API
setOrgPolicy
per definire il vincolo. Le istanze nell'elencoallowedValue
specificato possono avere indirizzi IP esterni. In alternativa, puoi specificare un elencodeniedValues
per indicare le istanze alle quali vuoi vietare esplicitamente l'assegnazione di un indirizzo IP esterno. A qualsiasi istanza non presente nell'elenco viene implicitamente consentito avere un indirizzo IP esterno. Puoi specificare soloallowedValues
odeniedValues
, ma non entrambi.Ad esempio, di seguito è riportata una richiesta di impostazione del vincolo
compute.vmExternalIpAccess
su un progetto per consentire a istanze specifiche di avere indirizzi IP esterni:POST https://cloudresourcemanager.googleapis.com/v1/projects/PROJECT_ID:setOrgPolicy
Sostituisci
PROJECT_ID
con l'ID progetto per questa richiesta.Il corpo della richiesta contiene la policy per questo vincolo:
{ "policy": { "constraint": "constraints/compute.vmExternalIpAccess", "listPolicy": { "allowedValues": [ "projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME" ] } } }
Best practice per limitare gli indirizzi IP esterni
Gestisci gli indirizzi IP esterni statici
Le sezioni seguenti descrivono come gestire indirizzi IP esterni statici per le istanze.
Determina se un indirizzo IP interno è temporaneo o statico
Gli indirizzi IP interni statici e temporanei si comportano e appaiono allo stesso modo nella maggior parte dei contesti. Tuttavia, con gli indirizzi IP interni statici puoi utilizzare lo stesso indirizzo IP per la stessa risorsa anche se la elimini e la ricrei. In genere, un indirizzo IP temporaneo viene rilasciato se arresti o elimini la risorsa.
Per determinare se un indirizzo è statico o temporaneo, segui questi passaggi:
Annulla l'assegnazione di un indirizzo IP esterno statico
Se annulli l'assegnazione di un indirizzo IP, questo viene rimosso dalla risorsa, ma rimane prenotato. Una volta annullata l'assegnazione, puoi riassegnare l'indirizzo IP a un'altra risorsa. Questa procedura è supportata per le istanze a doppio stack, ma non per quelle solo IPv6.
Puoi anche annullare l'assegnazione dell'indirizzo IPv4 o IPv6 eliminando l'istanza.
Console
gcloud
Ora che il tuo indirizzo IP esterno statico è disponibile, puoi scegliere di assegnarlo a un'altra istanza.
REST
Per annullare l'assegnazione di un indirizzo IPv4 o IPv6 esterno statico, segui questi passaggi:
Java
Python
Rilascia un indirizzo IP esterno statico
Se non hai più bisogno di un indirizzo IP IPv4 o IPv6 esterno statico, puoi rilasciarlo eliminando la risorsa indirizzo IP. L'eliminazione di un'istanza non comporta il rilascio automatico di un indirizzo IP esterno statico. Devi rilasciare manualmente gli indirizzi IP esterni statici quando non sono più necessari.
Per rilasciare un indirizzo IP esterno statico, consulta Rilascia un indirizzo IP esterno statico nella documentazione del VPC.
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-06-30 UTC.
-