Prenotazione di un indirizzo IP esterno statico

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.

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

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

  1. Vai alla pagina Prenota un indirizzo statico.

    Vai a Prenota un indirizzo statico

  2. Scegli un nome per il nuovo indirizzo.

  3. Specifica se si tratta di un indirizzo IPv4 o IPv6. Gli indirizzi IPv6 globali possono essere utilizzati solo con bilanciatori del carico globali.

  4. 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.

  5. Se si tratta di un indirizzo IP a livello di area geografica, seleziona l'area geografica in cui crearlo.

  6. Facoltativo: seleziona una risorsa per collegare l'IP.

  7. 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 sono IPv4.

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 chiamare
  • REGION: nome dell'area geografica per questa richiesta
  • PROJECT_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.

module "address" {
  source       = "terraform-google-modules/address/google"
  version      = "3.0.0"
  project_id   = var.project_id # Replace this with your service project ID in quotes
  region       = "europe-west1"
  address_type = "EXTERNAL"
  names = [
    "regional-external-ip-address-1",
    "regional-external-ip-address-2",
    "regional-external-ip-address-3"
  ]
}

L'esempio seguente crea un indirizzo IPv6 esterno globale:

resource "google_compute_global_address" "default" {
  project      = var.project_id # Replace this with your service project ID in quotes
  name         = "ipv6-address"
  address_type = "EXTERNAL"
  ip_version   = "IPV6"
}

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

  1. Vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica i dettagli della VM.

  3. Espandi la sezione Networking, dischi, sicurezza, gestione, single tenancy.

  4. Espandi la sezione Networking e procedi nel seguente modo:

    1. Nella sezione Interfacce di rete, espandi un'interfaccia di rete per modificarla.
    2. Nell'elenco IP esterno, seleziona l'indirizzo IP esterno statico prenotato.
    3. Per completare la modifica dell'interfaccia di rete predefinita, fai clic su Fine.
  5. 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

  1. Vai alla pagina Istanze VM.

    Vai alle istanze VM

  2. Fai clic sul nome dell'istanza a cui vuoi assegnare un IP esterno. Viene visualizzata la pagina dei dettagli dell'istanza.
  3. Nella pagina dei dettagli dell'istanza, completa i passaggi seguenti:

    1. Fai clic su Modifica.
    2. In Interfacce di rete, fai clic sul pulsante Modifica.

      Sezione interfaccia di rete.

    3. In IP esterno, seleziona un indirizzo IP esterno temporaneo o statico da assegnare all'istanza.

      Opzioni IP interne ed esterne.

    4. Fai clic su Fine.

  4. Fai clic su Salva.

gcloud

  1. [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.

  2. 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.
  3. Aggiungi il nuovo indirizzo IP esterno.

    Utilizzando il comando secondario instances add-access-config, aggiungi un nuovo indirizzo IP esterno:

    Nota: non sostituire IP_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.

  1. 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 richiesta
    • ZONE: zona in cui si trova la VM
    • VM_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.

  2. 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
  3. 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

  1. Vai alla pagina Indirizzi IP esterni.

    Vai agli indirizzi IP esterni

  2. Nella stessa riga dell'indirizzo IP che vuoi promuovere in statico, fai clic su Prenota.
  3. 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 chiamare
  • IP_ADDRESS: l'indirizzo IP che vuoi promuovere
  • REGION: 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/addresses
Il corpo della richiesta deve contenere quanto segue:
{
  "name": "ADDRESS_NAME",
  "address": "IP_ADDRESS"
}

Sostituisci quanto segue:

  • ADDRESS_NAME: il nome che vuoi chiamare
  • IP_ADDRESS: l'indirizzo IP che vuoi promuovere
  • REGION: area geografica a cui appartiene l'indirizzo IP
  • PROJECT_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.

Vai agli 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 richiesta
  • PROJECT_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

  1. Vai alla pagina Indirizzi IP esterni.

    Vai agli indirizzi IP esterni

  2. 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 IP
  • REGION: nome dell'area geografica per la richiesta
  • PROJECT_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

  1. Vai alla pagina Indirizzi IP esterni.

    Vai agli indirizzi IP esterni

  2. Seleziona l'indirizzo IP statico di cui vuoi annullare l'assegnazione.
  3. Fai clic su Cambia per aprire la finestra di dialogo Allega indirizzo IP.
  4. Dall'elenco a discesa Allega a, seleziona Nessuno.
  5. 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:

  1. Recupera il nome della configurazione dell'accesso da eliminare. Per ottenere il nome, utilizza il comando gcloud compute instances describe. Sostituisci VM_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
    
  2. 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.
  3. 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.

  1. 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
  2. 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 richiesta
    • ZONE: zona in cui si trova la VM
    • VM_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

  1. Vai alla pagina Indirizzi IP esterni.

    Vai agli indirizzi IP esterni

  2. Seleziona la casella accanto all'indirizzo IP da rilasciare.
  3. 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 IP
  • REGION: nome dell'area geografica per questa richiesta
  • PROJECT_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:

Le seguenti procedure consentono di configurare e gestire indirizzi IPv6 esterni a livello di area geografica statico:

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.

    1. 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.

    2. 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.

  1. 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 campo users mostra la VM che utilizza l'indirizzo IP.
  2. 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.
  3. 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 o deniedList, 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

  1. Vai alla pagina Criteri dell'organizzazione.

    Vai ai criteri dell'organizzazione

  2. Se necessario, seleziona l'organizzazione richiesta dal menu a discesa del progetto.
  3. Fai clic su Definisci IP esterni consentiti per le istanze VM.
  4. 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.
  5. Seleziona Personalizza per impostare il criterio dell'organizzazione per istanze VM specifiche.

    Personalizzazione del criterio dell'organizzazione in corso...

  6. Seleziona le norme applicabili Applicazione delle norme e Tipo di norma.

  7. Nella sezione Valori del criterio, seleziona Personalizzato.

  8. 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
    
  9. Fai clic su Nuovo valore di criterio e inserisci gli URI per le istanze VM in base alle necessità.

  10. 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 esempio example-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.

Selettore di progetti.

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 esempio example-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'elenco deniedValues, significa che solo le istanze VM nell'elenco deniedValues 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'elenco allowedValues, aggiorna il criterio esistente per rimuovere le VM da allowedList invece di inserire le VM nell'elenco deniedValues 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'oggetto restoreDefault 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