Prenotare un indirizzo IP esterno statico

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Puoi prenotare indirizzi IP esterni statici per la tua istanza di macchina virtuale (VM). Puoi anche modificare, elencare e rilasciare indirizzi IP statici per la tua VM.

Gli indirizzi IP esterni possono essere statici o temporanei. Se una 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 temporanei esistenti.

Se hai bisogno di un indirizzo IP statico sulla tua rete Compute Engine interna, leggi invece Prenotare un indirizzo interno statico.

In Compute Engine, ogni 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 per l'utilizzo di indirizzi IP esterni statici

  • 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 quel progetto. Utilizza il sottocomando compute addresses list per visualizzare un elenco di indirizzi IP esterni statici disponibili per il progetto.

  • Ogni VM può avere più interfacce di rete, ma ogni interfaccia di rete può avere un solo indirizzo IP esterno che è temporaneo o statico.

  • Non puoi modificare il nome di un indirizzo IP statico.

  • Gli indirizzi IP esterni assegnati esistono nello stesso host fisico dell'istanza VM e si trovano nella stessa area geografica della VM per tutti gli scopi, inclusi routing, latenza e prezzi. Ciò vale indipendentemente dalle informazioni di ricerca relative alla 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 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 i bilanciatori del carico globali.

  • Un indirizzo a livello di area geografica IPv4 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 di Google Cloud.

Per prenotare un indirizzo IPv6 esterno a livello di regione (anteprima) per le VM, consulta Indirizzo IPv6 esterno a livello di regione statico.

Prenota un nuovo indirizzo IP esterno statico

Dopo aver prenotato l'indirizzo, assegnalo a una nuova istanza durante la sua creazione o a un'istanza esistente.

Console

  1. Vai alla pagina Prenota un indirizzo statico.

    Vai a Prenotare 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 è a livello di regione o globale. Se prenoti un indirizzo IP statico per un'istanza o per un bilanciatore del carico a livello di regione, scegli A livello di regione. Se prenoti un indirizzo IP statico per un bilanciatore del carico globale, scegli Globale.

  5. Se si tratta di un indirizzo IP a livello di regione, seleziona la regione in cui creare l'indirizzo.

  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 a questo indirizzo.

gcloud compute addresses create ADDRESS_NAME \
    --global \
    --ip-version [IPV4 | IPV6]

Se vuoi prenotare un indirizzo IP a livello di regione, utilizza il campo --region:

gcloud compute addresses create ADDRESS_NAME  \
    --region=REGION

Sostituisci quanto segue:

  • ADDRESS_NAME: il nome che vuoi assegnare a questo indirizzo.
  • REGION: l'area geografica in cui vuoi prenotare questo indirizzo. Questa regione deve corrispondere a quella della risorsa a cui vuoi collegare l'indirizzo IP. Tutti gli indirizzi IP a livello di regione 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 regione, chiama il metodo addresses.insert a livello di regione:

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 all'indirizzo
  • REGION: il nome della regione 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 usare 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 regione.

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 VM

Quando crei una VM, gli 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 Creare un'istanza

  2. Specifica i dettagli della VM.

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

  4. Espandi la sezione Networking e segui questi passaggi:

    1. Nella sezione Interfacce di rete, espandi un'interfaccia di rete per modificarla.
    2. Nell'elenco IP esterno, seleziona l'indirizzo IP esterno statico che hai prenotato.
    3. Per terminare la modifica dell'interfaccia di rete predefinita, fai clic su Fine.
  5. Continua 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 della VM.
  • IP_ADDRESS: l'indirizzo IP da assegnare all'istanza. Utilizza l'indirizzo IP esterno statico prenotato, non il nome.

API

Nella richiesta di 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 ciascuna 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 Dettagli istanza.
  3. Nella pagina Dettagli istanza, completa i seguenti passaggi:

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

      Sezione dell'interfaccia di rete in cui è evidenziato il pulsante di modifica.

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

      Sezione dell'interfaccia di rete espansa con l'opzione IP esterno evidenziato.

    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 l'indirizzo non sia attualmente 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 assegna in modo casuale un indirizzo IP esterno temporaneo.

  2. Elimina le 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 di accesso, la configurazione 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 esistente utilizzando il sottocomando 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 della VM.
    • ACCESS_CONFIG_NAME: la configurazione dell'accesso da eliminare. Assicurati di inserire il nome completo tra virgolette.
  3. Aggiungi il nuovo indirizzo IP esterno.

    Utilizzando il sottocomando 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 della VM.
    • ACCESS_CONFIG_NAME: il nome che chiamerà 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é utilizzare 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

You can change the external IP address of a VM by adding a new access
configuration for that VM.
  1. Verifica che la VM abbia una configurazione di accesso esistente. Per controllare 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: la zona in cui si trova la VM
    • VM_NAME: il nome della VM Se esiste una configurazione di accesso esistente, 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 della VM.

  2. Elimina la configurazione dell'accesso esistente inviando 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 della VM facendo 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 statico prenotato non disponibile disponibile per il progetto.
    • ACCESS_CONFIG_NAME: il nome della configurazione dell'accesso. Il nome predefinito e consigliato è external-nat.

Promuovere un indirizzo IP esterno temporaneo

Se l'istanza ha un indirizzo IP esterno temporaneo e vuoi assegnarlo in modo permanente al tuo progetto, promuovi l'indirizzo IP esterno temporaneo a un indirizzo IP esterno statico. La promozione di un indirizzo IP esterno temporaneo a una prenotazione non fa sì che Google Cloud elimini i pacchetti inviati all'istanza. Sono inclusi i pacchetti inviati all'istanza direttamente o tramite un bilanciatore del carico.

Console

  1. Vai alla pagina Indirizzi IP esterni.

    Vai a 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 temporaneo 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 questo indirizzo
  • IP_ADDRESS: l'indirizzo IP da promuovere.
  • REGION: l'area geografica a cui appartiene l'indirizzo IP a livello di regione

API

Per promuovere un indirizzo IP temporaneo temporaneo, 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, effettua 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 questo indirizzo
  • IP_ADDRESS: l'indirizzo IP da promuovere.
  • REGION: regione a cui appartiene l'indirizzo IP
  • PROJECT_ID: l'ID progetto per questa richiesta

L'indirizzo IP esterno rimane collegato all'istanza anche dopo essere 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 di questo indirizzo 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 a Indirizzi IP esterni

gcloud

Utilizza il comando compute addresses list.

gcloud compute addresses list

API

Chiama il addresses.listmetodo:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/addresses

Sostituisci quanto segue:

  • REGION: il nome della regione 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

Descrivere un indirizzo IP esterno statico

Per ottenere informazioni su un indirizzo IP esterno statico, utilizza la console, l'interfaccia a riga di comando gcloud o l'API.

Console

  1. Vai alla pagina Indirizzi IP esterni.

    Vai a Indirizzi IP esterni

  2. Fai clic sull'indirizzo IP su cui vuoi ottenere maggiori informazioni.

gcloud

Utilizza il comando addresses describe e sostituisci ADDRESS_NAME con il nome dell'indirizzo IP esterno da 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: il nome dell'indirizzo IP.
  • REGION: il nome della regione per la richiesta
  • PROJECT_ID: l'ID progetto per la 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 utilizzando la console Google Cloud o eliminando la configurazione di accesso collegata alla VM che utilizza l'indirizzo. Puoi anche annullare l'assegnazione dell'indirizzo IP eliminando l'istanza. L'annullamento dell'assegnazione di un indirizzo IP esterno statico ti consente di riassegnarlo a un'altra risorsa.

L'annullamento dell'assegnazione di un indirizzo IP ne comporta la rimozione dalla risorsa, ma mantieni l'indirizzo IP prenotato per il tuo progetto.

Console

  1. Vai alla pagina Indirizzi IP esterni.

    Vai a 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. Nell'elenco a discesa Allega a, seleziona Nessuno.
  5. Fai clic su OK.

gcloud

Puoi controllare se è in uso un indirizzo IP statico 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, segui questi passaggi:

  1. Ottieni il nome della configurazione dell'accesso da eliminare. Per trovare 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 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
    
  2. Elimina la configurazione dell'accesso.

    Utilizza 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 dell'accesso da eliminare. Assicurati di inserire il nome completo tra virgolette.
  3. Verifica che il tuo indirizzo IP esterno statico sia ora disponibile e sia contrassegnato come RESERVED anziché come 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 associata alla VM che utilizza l'indirizzo.

  1. Per controllare i dettagli di configurazione dell'accesso a una VM, invia 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 dell'accesso esistente inviando 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: la 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 rilasciarlo in modo che venga restituito al pool IP generico per altri utenti di Compute Engine.

Console

  1. Vai alla pagina Indirizzi IP esterni.

    Vai a 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: il nome dell'indirizzo IP.
  • REGION: il nome della regione per questa richiesta
  • PROJECT_ID: l'ID progetto per questa richiesta

Indirizzi IPv6 esterni a livello di area geografica statici

Se hai una subnet stack doppia con un intervallo IPv6 esterno, puoi prenotare indirizzi IPv6 statici da quella subnet.

Quando prenota un indirizzo IPv6 esterno a livello di area geografica, viene allocato un intervallo di indirizzi IPv6 /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 regione. La configurazione degli indirizzi IPv6 statici è supportata solo su nic0.

Quando configuri una VM con un indirizzo IPv6 statico, si applica quanto segue:

  • L'interfaccia della 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 è utilizzato solo per il rilevamento del vicinato.

  • La configurazione MTU sull'interfaccia di rete della VM si applica ai pacchetti IPv4 e IPv6.

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

Limitazioni

Se la tua rete VPC si trova 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 a livello di area geografica solo da una subnet nella tua rete VPC.

Prenota un nuovo indirizzo IPv6 statico a livello di regione

Quando prenoti un indirizzo IPv6 esterno a livello di regione, 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: regione per l'indirizzo.
  • SUBNET: la subnet da cui assegnare l'indirizzo IPv6 statico a livello di area geografica. La subnet deve avere un intervallo di indirizzi IPv6 esterni assegnato.

Elenca indirizzi IPv6 esterni regionali statici

Gli indirizzi IPv6 esterni regionali statici non vengono visualizzati in Google Cloud Console come indirizzi riservati. Utilizza Google Cloud CLI per visualizzare gli indirizzi.

gcloud compute addresses list \
    --regions=REGION

Sostituisci REGION con l'area geografica per cui vuoi elencare gli indirizzi.

Descrivere gli indirizzi IPv6 esterni regionali statici

Gli indirizzi IPv6 esterni regionali statici non vengono visualizzati in Google Cloud Console come indirizzi riservati. Utilizza Google Cloud CLI 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: regione dell'indirizzo.

Assegna un indirizzo IPv6 esterno a livello di regione a una nuova 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 della 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.

Promuovere un indirizzo IPv6 esterno temporaneo a livello di regione

Per promuovere un indirizzo IPv6 esterno temporaneo a un indirizzo IPv6 esterno statico a livello di regione, fornisci l'indirizzo IP esterno temporaneo utilizzando 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: la regione della risorsa di indirizzo IPv6
  • IPV6_ADDRESS: l'indirizzo IPv6 che stai promuovendo

Modifica la configurazione dell'indirizzo IPv6 esterno per le istanze esistenti

Puoi modificare una VM esistente per aggiungere o rimuovere una configurazione di indirizzo IPv6 esterno.

  • Per visualizzare la configurazione IPv6 corrente, 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 della VM
    • ZONE: la zona della 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 doppio 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 della VM
    • ZONE: la zona della VM
  • Per assegnare un indirizzo IPv6 esterno a livello di area geografica statico, modifica il tipo di stack da stack singolo a doppio stack. Prima di assegnare l'indirizzo, verifica che la VM non disponga già di una configurazione IPv6 esterna.

    1. Prenotare un indirizzo IPv6 esterno statico.

      Se vuoi assegnare un indirizzo IPv6 esterno a livello di area geografica, devi prenotarne uno e assicurarti che non sia in uso da un'altra risorsa. L'indirizzo IPv6 riservato deve trovarsi nella stessa regione e nella stessa subnet della VM.

    2. Per aggiungere un indirizzo IPv6 statico a livello di area geografica:

      Utilizzando il sottocomando 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 della VM
      • IPV6_ADDRESS: l'indirizzo IPv6 da assegnare alla VM. Specifica il primo indirizzo IPv6 nell'intervallo /96.
      • ZONE: la zona della VM

Annulla l'assegnazione di un indirizzo IPv6 esterno statico a livello di regione

Puoi annullare l'assegnazione di un indirizzo IPv6 esterno statico a livello di area geografica eliminando l'istanza o modificando il tipo di stack dell'istanza in IPv4. L'annullamento dell'assegnazione di un indirizzo IP statico rimuove l'indirizzo dalla risorsa, ma conserva l'indirizzo IP riservato.

Se vuoi rimuovere la prenotazione, puoi pubblicare un indirizzo IPv6 esterno statico a livello di area geografica.

  1. Controlla lo stato della risorsa dell'indirizzo IP utilizzando il comando compute addresses describe.

    gcloud compute addresses describe ADDRESS_NAME \
        --region=REGION
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: nome della risorsa dell'indirizzo IPv6
    • REGION: la regione 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, status è IN_USE e nel campo users viene visualizzata la VM che utilizza l'indirizzo IP.
  2. Se l'indirizzo IP è in uso, annulla l'assegnazione dell'indirizzo IPv6 esterno a livello di area geografica dalla 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: nome dell'istanza della macchina virtuale che utilizza l'indirizzo IP
    • ZONE: la zona dell'istanza
  3. Verifica che il tuo indirizzo IPv6 esterno statico sia ora disponibile e sia 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 IPv6.
    • REGION: regione dell'indirizzo IPv6.

Rilascia un indirizzo IPv6 esterno a livello di area geografica statico

Se non hai più bisogno dell'indirizzo IPv6 prenotato, puoi rilasciarlo. L'indirizzo rilasciato viene restituito al pool di indirizzi temporanei nella subnet ed è disponibile per l'utilizzo da parte di 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 VM specifiche

Per determinati carichi di lavoro potrebbero essere necessari requisiti essenziali che includono restrizioni di sicurezza e rete. Ad esempio, potresti voler limitare gli indirizzi IP esterni in modo che solo VM specifiche possano utilizzarli. Questa opzione può aiutare a prevenire l'esfiltrazione dei dati o mantenere l'isolamento di rete. Con un criterio dell'organizzazione, puoi limitare gli indirizzi IP esterni a 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 degli indirizzi IP esterni sulle VM è:

constraints/compute.vmExternalIpAccess

Per utilizzare il vincolo, devi specificare un criterio con allowedList delle VM che possono avere indirizzi IP esterni. Se non specifichi un criterio, tutti gli indirizzi IP esterni sono consentiti per tutte le VM. Quando il criterio è applicato, solo alle VM elencate nell'elenco allowedValues può essere assegnato un indirizzo IP esterno, temporaneo o statico, e altre VM di Compute Engine nell'organizzazione o nel progetto che non sono definite esplicitamente nel criterio non sono autorizzate a utilizzare gli indirizzi IP esterni.

Le VM sono identificate negli elenchi degli elementi consentiti e non consentiti utilizzando l'URI della VM:

projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

Specifiche per la limitazione degli indirizzi IP esterni

  • Puoi applicare questo vincolo di elenco solo alle VM.
  • Non puoi applicare il vincolo in modo retroattivo. Tutte le VM che hanno indirizzi IP esterni prima di abilitare il criterio mantengono i propri indirizzi IP esterni.
  • Questo vincolo accetta un allowedList o un 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 necessarie per limitare gli indirizzi IP esterni

Per impostare un vincolo a livello di progetto o di organizzazione, devi aver ricevuto il ruolo orgpolicy.policyAdmin nell'organizzazione.

Imposta il vincolo del criterio a livello di organizzazione

Console

  1. Vai alla pagina Criteri dell'organizzazione.

    Vai a Criteri organizzativi

  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 VM specifiche.

    Personalizza opzione nella pagina Modifica criterio dell'organizzazione.

  6. Seleziona i criteri obbligatori Applicazione delle norme e Tipo di norma.

  7. In Valori dei criteri, seleziona Personalizzato.

  8. Inserisci un URI per una VM e premi Invio. L'URI deve essere nel formato seguente:

    projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
    
  9. Fai clic su Nuovo valore del criterio e inserisci gli URI per le VM, se necessario.

  10. Fai clic su Salva per applicare il vincolo.

gcloud

Per impostare un vincolo per l'accesso IP esterno, devi avere l'ID 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 formato seguente:

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 si tratta di una procedura diversa rispetto all'impostazione 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 incluse 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 una VM abbia 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 specificato possono avere indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues per esprimere VM che vuoi esplicitamente di impedire agli indirizzi IP esterni. Qualsiasi istanza non in elenco potrebbe avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Ad esempio, di seguito è riportata una richiesta di applicazione del 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.

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 prevale sul 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, alla VM non sarà consentito avere un indirizzo IP esterno.

Console

Segui la stessa procedura descritta in Imposta un vincolo di criterio a livello di organizzazione, ma scegli il progetto desiderato dal selettore di progetto anziché dall'organizzazione.

Selettore di progetto.

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 una procedura diversa rispetto all'impostazione 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 di VM a cui vuoi esplicitamente impedire di avere un indirizzo IP esterno. Qualsiasi istanza non presente nell'elenco potrebbe 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 specificato possono avere indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues in modo da esprimere le VM a cui vuoi vietare esplicitamente di avere un indirizzo IP esterno. Le istanze non incluse nell'elenco possono implicitamente avere un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Ad esempio, la richiesta seguente consente di impostare il vincolo compute.vmExternalIpAccess su un progetto per consentire a VM 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 il criterio desiderato per questo vincolo:

{
  "policy": {
    "constraint": "constraints/compute.vmExternalIpAccess",
    "listPolicy": {
      "allowedValues": [
        "projects/PROJECT_ID/zones/ZONE/instances/VM_NAME"
      ]
    }
  }
}

Best practice per la limitazione degli indirizzi IP esterni

  • Evita di utilizzare l'elenco deniedValues con questo vincolo. Se definisci valori nell'elenco deniedValues, significa che solo le VM nell'elenco deniedValues non possono utilizzare indirizzi IP esterni. Questo potrebbe rappresentare un problema di sicurezza se vuoi controllare esattamente quali VM possono avere indirizzi IP esterni. Se vuoi rimuovere alcune VM dall'elenco allowedValues, aggiorna il criterio esistente per rimuovere le VM da allowedList, invece di inserire le VM nell'elenco deniedValues a 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 dei progetti a indirizzi IP esterni. I criteri attualmente in vigore per i progetti non sono interessati dall'impostazione predefinita.

  • Utilizza il criterio dell'organizzazione insieme ai ruoli IAM per controllare meglio il tuo ambiente. Questo criterio si applica solo alle 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 al criterio dell'organizzazione. In particolare, i criteri come Google Kubernetes Engine, Dataflow, Dataproc e Cloud SQL sono interessati da questo criterio. Se questo è un problema, Google consiglia di configurare altri servizi e prodotti in un progetto diverso a cui non è applicato il criterio dell'organizzazione e, se necessario, di utilizzare il VPC condiviso.

Passaggi successivi