Prenota un indirizzo IP esterno statico

Puoi prenotare indirizzi IP esterni statici per l'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, consulta Prenotare un indirizzo interno statico.

Prima di iniziare

  • Ulteriori informazioni sugli indirizzi IP.
  • Ulteriori informazioni su quote e limiti per 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 viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.

    Seleziona la scheda relativa a come intendi utilizzare gli esempi in questa pagina:

    Console

    Quando utilizzi la console Google Cloud per accedere ai servizi e alle API di Google Cloud, non devi configurare l'autenticazione.

    gcloud

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Imposta una regione e una zona predefinite.

    Terraform

    Per utilizzare gli esempi Terraform in questa pagina da un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.

    1. Installa Google Cloud CLI.
    2. Per initialize gcloud CLI, esegui questo comando:

      gcloud init
    3. Crea credenziali di autenticazione locali per il tuo Account Google:

      gcloud auth application-default login

    Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.

    REST

    Per utilizzare gli esempi di API REST su questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init

Autorizzazioni

Per prenotare indirizzi IPv6 statici esterni a livello regionale mediante la console Google Cloud, è necessario selezionare una rete e una subnet. Tuttavia, per visualizzare un elenco delle reti e delle subnet disponibili, devi disporre delle seguenti autorizzazioni IAM:

  • compute.networks.list
  • compute.subnetworks.list

Informazioni sugli indirizzi IP esterni statici

Un indirizzo IP esterno statico è l'indirizzo IP riservato alla tua risorsa finché non decidi di rilasciarlo. Se disponi di un indirizzo IP che i tuoi clienti o utenti utilizzano per accedere al tuo servizio, puoi prenotarlo in modo che solo la tua risorsa possa utilizzarlo. Puoi anche promuovere un indirizzo IP esterno temporaneo a un indirizzo IP esterno statico.

Per ulteriori informazioni, consulta la sezione Indirizzi IP.

Nella tabella seguente sono elencati gli indirizzi IP esterni statici supportati da Google Cloud.

Tipo di indirizzo IP Risorsa Intervallo IP Origine Associato a
Indirizzi IPv4 esterni a livello di regione VM e bilanciatori del carico a livello di regione /32 Pool di indirizzi IP esterni di Google Progetto
Indirizzi IPv6 esterni a livello di regione VM e bilanciatori del carico a livello di regione supportati /96 Intervallo di indirizzi IPv6 esterni della subnet Subnet
Indirizzi IPv4 esterni globali Bilanciatori del carico globali /32 Pool di indirizzi IP esterni di Google Progetto
Indirizzi IPv6 esterni globali Bilanciatori del carico globali /64 Pool di indirizzi IP esterni di Google Progetto

Per un elenco dei bilanciatori del carico a livello di regione e globale, consulta il riepilogo dei tipi di bilanciatori del carico.

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 riservati al 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 ciascuna di queste può avere un solo indirizzo IP esterno temporaneo o statico.

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

  • Gli indirizzi IP esterni assegnati si trovano sullo stesso host fisico della VM e si trovano nella stessa regione della VM per tutti gli scopi, inclusi routing, latenza e prezzi. Ciò vale indipendentemente dalle informazioni di geolocalizzazione internet.

Nota: le interfacce di rete possono ricevere traffico da più regole di forwarding, che potrebbero gestire altri indirizzi IP esterni. Qualsiasi numero 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 sul bilanciamento del carico.

Prenota un nuovo indirizzo IP esterno statico

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

Console

  1. Nella console Google Cloud, vai alla pagina Prenota un indirizzo statico.

    Vai a Prenota un indirizzo statico

  2. Scegli un nome per il nuovo indirizzo.

  3. Specifica se il livello di servizio di rete è Premium o Standard. La prenotazione di indirizzi statici IPv6 è supportata solo nel livello Premium.

  4. Specifica se si tratta di un indirizzo IPv4 o IPv6.

  5. Specifica se questo indirizzo IP è regionale o globale.

    • Se intendi prenotare un indirizzo IP statico per un bilanciatore del carico globale, scegli Globale e fai clic su Prenota.
    • Se prenoti un indirizzo IP statico per una VM o un bilanciatore del carico a livello di regione, scegli A livello di regione, quindi seleziona la regione in cui creare l'indirizzo.
  6. Se stai prenotando un indirizzo IPv6 esterno a livello di regione, scegli anche quanto segue:

    • Rete: la rete VPC
    • Subnet: la subnet da cui assegnare l'indirizzo IPv6 statico a livello di regione
    • Tipo di endpoint: scegli Istanza VM o Bilanciatore del carico di rete
  7. (Facoltativo) Se prenoti l'indirizzo IP esterno statico per una VM, nell'elenco Collegato a, seleziona una VM a cui associare l'indirizzo IP.

  8. Fai clic su Prenota per prenotare l'indirizzo IP.

gcloud

Per prenotare un indirizzo IP esterno statico, utilizza il comando gcloud compute addresses create.

Utilizza le seguenti istruzioni per prenotare un indirizzo IPv4 o IPv6 esterno statico:

  • Per prenotare un indirizzo IP globale, utilizza i campi --global e --ip-version. Per il campo --ip-version, specifica IPv4 o IPv6. Gli indirizzi IP globali possono essere utilizzati solo con i bilanciatori del carico globali.

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

    Sostituisci ADDRESS_NAME con il nome che vuoi associare a questo indirizzo.

  • Per prenotare un indirizzo IPv4 esterno 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 associare a questo indirizzo.
    • REGION: la regione in cui vuoi prenotare questo indirizzo. Questa regione deve trovarsi nella stessa regione della risorsa a cui vuoi collegare l'indirizzo IP.
  • Per prenotare un indirizzo IPv6 esterno a livello di regione, utilizza i campi --region, --subnet, --ip-version e --endpoint-type. Viene assegnato un intervallo IPv6 /96 dalla subnet specificata.

    gcloud compute addresses create IPV6_ADDRESS_NAME \
       --region=REGION \
       --subnet=SUBNET_NAME \
       --ip-version=IPV6 \
       --endpoint-type=[VM | NETLB]
    

    Sostituisci quanto segue:

    • IPV6_ADDRESS_NAME: un nome per l'indirizzo.
    • REGION: la regione dell'indirizzo.
    • SUBNET_NAME: la subnet da cui assegnare l'indirizzo IPv6 statico a livello di regione. La subnet deve avere un intervallo di indirizzi IPv6 esterni assegnato.
    • VM | NETLB: il tipo di endpoint, che si tratti di una VM o di un bilanciatore del carico di rete.

Per visualizzare il risultato, utilizza il comando gcloud compute addresses describe:

gcloud compute addresses describe ADDRESS_NAME

Terraform

Puoi utilizzare la risorsa google_compute_address per creare un indirizzo IP esterno a livello di regione.

resource "google_compute_address" "default" {
  name   = "my-test-static-ip-address"
  region = "us-central1"
}

Il seguente esempio mostra come utilizzare la risorsa google_compute_global_address per creare 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"
}

REST

  • 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:

    • PROJECT_ID: l'ID progetto per questa richiesta
    • REGION: il nome della regione per questa richiesta
    • ADDRESS_NAME: il nome che vuoi associare all'indirizzo
  • 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"
    }
    

    Per vedere il risultato, utilizza il metodo addresses.get.

  • Per gli indirizzi IPv6 statici a livello di regione, chiama il metodo addresses.insert:

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

    Il corpo della richiesta deve contenere quanto segue:

    {
      "name": "ADDRESS_NAME",
      "ipVersion": "IPV6",
      "ipv6EndpointType": "VM|LB",
      "networkTier": "PREMIUM",
      "subnetwork": "SUBNET"
    }
    

    Sostituisci SUBNET con la subnet per questo progetto.

    Per vedere il risultato, utilizza il metodo addresses.get.

Assegna un indirizzo IP esterno statico a una nuova VM

Dopo aver prenotato un indirizzo IP esterno statico, puoi assegnarlo a una VM.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Specifica i dettagli della VM.

  3. Espandi la sezione Opzioni avanzate.

  4. Espandi la sezione Networking.

  5. Nella sezione Interfacce di rete, espandi un'interfaccia di rete per modificarla.

  6. Per assegnare un indirizzo IPv4, segui questi passaggi:

    1. Seleziona una rete.
    2. Seleziona l'indirizzo IP dall'elenco Indirizzo IPv4 esterno.
  7. Per assegnare un indirizzo IPv6, segui questi passaggi:

    1. Seleziona una rete contenente una subnet IPv6.
    2. Seleziona una subnet a doppio stack dall'elenco Subnet.
    3. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
    4. Seleziona l'indirizzo IPv6 esterno riservato appena prenotato dall'elenco Indirizzo IPv6 esterno. In alternativa, seleziona CREA INDIRIZZO IP e prenota un nuovo indirizzo IPv6 esterno statico.
    5. In Network Service Tiers, seleziona Premium.
  8. Per completare la modifica dell'interfaccia di rete predefinita, fai clic su Fine.

  9. Continua con il processo di creazione della VM.

gcloud

Puoi creare una VM e assegnare un indirizzo IP esterno a livello di regione statico che hai già prenotato.

  • Per assegnare un indirizzo IPv4 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 alla VM. Utilizza l'indirizzo IP esterno statico riservato, non il nome dell'indirizzo.
  • Per assegnare un indirizzo IPv6 esterno statico:

    gcloud compute instances create VM_NAME \
        --subnet=SUBNET \
        --stack-type=IPV4_IPV6 \
        --external-ipv6-address=IPV6_ADDRESS \
        --external-ipv6-prefix-length=96 \
        --ipv6-network-tier=PREMIUM \
        --zone=ZONE
    

Terraform

Puoi utilizzare la risorsa google_compute_instance per assegnare un indirizzo IP esterno.

resource "google_compute_instance" "default" {
  name         = "dns-proxy-nfs"
  machine_type = "n1-standard-1"
  zone         = "us-central1-a"

  boot_disk {
    initialize_params {
      image = "ubuntu-1404-trusty-v20160627"
    }
  }

  network_interface {
    network = "default"
    access_config {
      nat_ip = google_compute_address.default.address
    }
  }
}

REST

Per assegnare un indirizzo IPv4 esterno statico a una nuova VM:

Nella richiesta di creazione di una nuova VM, fornisci esplicitamente la proprietà networkInterfaces[].accessConfigs[].natIP e l'indirizzo IPv4 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": "IPV4_ADDRESS"
     }],
    "network": "global/networks/default"
  }],
  "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "SOURCE_IMAGE"
      }
}]
}

Per assegnare un indirizzo IPv6 esterno statico a una nuova VM:

Nella richiesta di creazione di una nuova VM, fornisci esplicitamente la proprietà networkInterfaces[].ipv6AccessConfigs[].externalIpv6 e l'indirizzo IPv6 esterno che vuoi utilizzare. Ad esempio:

{
  "name": "VM_NAME",
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [{
          "accessConfigs": [{
              "name": "external-nat",
              "type": "ONE_TO_ONE_NAT"
          }],
          "ipv6AccessConfigs": [{
        "externalIpv6": "IOV6_ADDRESS",
        "externalIpv6PrefixLength": 96,
        "name": "external-ipv6-access-config",
        "networkTier": "PREMIUM",
        "type": "DIRECT_IPV6"
          }],
      "stackType": "IPV4_IPV6",
      "subnetwork":"SUBNETWORK
  }],
  "disks": [{
    "autoDelete": "true",
    "boot": "true",
    "mode": "READ_WRITE",
    "type": "PERSISTENT",
    "initializeParams": {
        "sourceImage": "SOURCE_IMAGE"
    },
  }],
 }

Modificare o assegnare un indirizzo IP esterno a una VM esistente

Puoi modificare o assegnare un indirizzo IP esterno, temporaneo o statico, a una VM esistente.

Una VM può avere più interfacce e ciascuna può avere un indirizzo IP esterno. Se la VM ha già un indirizzo IP esterno, devi prima rimuovere questo indirizzo. Poi puoi assegnare un nuovo indirizzo IP esterno alla VM esistente.

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. Fai clic sul nome della VM 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. Espandi Interfacce di rete.
    3. Seleziona l'indirizzo IP esterno richiesto da assegnare alla VM:
      1. Per Indirizzo IPv4 esterno, seleziona Temporaneo o un indirizzo IPv4 esterno statico.
      2. Per Indirizzo IPv6 esterno, seleziona Temporaneo o un indirizzo IPv6 esterno statico.
    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 prenotare un indirizzo e assicurarti che l'indirizzo 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 assegna in modo casuale un indirizzo IP esterno temporaneo.

  2. Rimuovi l'assegnazione dell'indirizzo IP esistente.

    • Per rimuovere un indirizzo IPv4 da una VM, elimina le configurazioni di accesso esistenti.

      Puoi impostare una configurazione di accesso per ogni VM. Prima di provare ad assegnare una nuova configurazione di accesso a una VM, verifica se la VM ha una configurazione di accesso effettuando una richiesta utilizzando il comando 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 dell'accesso, devi eliminare quella 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.
    • Per rimuovere un indirizzo IPv6 da una VM, modifica il tipo di stack.

      Controlla se la tua VM ha una configurazione IPv6 effettuando una richiesta utilizzando il comando gcloud compute instances describe:

      gcloud compute instances describe VM_NAME \
          --zone=ZONE
      

      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
      

      Rimuovi la configurazione dell'indirizzo IPv6 esistente utilizzando il sottocomando instance network-interfaces update:

      gcloud compute instances network-interfaces update VM_NAME \
        --network-interface=NIC \
        --stack-type=IPV4_ONLY \
        --zone=ZONE
      

      Sostituisci quanto segue:

      • NIC: il nome dell'interfaccia di rete.
      • VM_NAME: il nome della VM.
      • ZONE: la zona della VM.
  3. Assegna il nuovo indirizzo IP esterno.

    • Per assegnare un indirizzo IPv4, utilizza il sottocomando instances add-access-config:

      Nota: non sostituire IP_ADDRESS con il nome dell'indirizzo IP statico. Devi usare 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 per 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é 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"
      
    • Per assegnare un intervallo di indirizzi IPv6, utilizza il sottocomando instance network-interfaces update:

      gcloud compute instances network-interfaces update VM_NAME \
        --network-interface==NIC \
        --ipv6-network-tier=PREMIUM \
        --stack-type=IPV4_IPV6 \
        --external-ipv6-address=IPV6_ADDRESS \
        --external-ipv6-prefix-length=96 \
        --zone=ZONE
      

      Sostituisci quanto segue:

      • VM_NAME: il nome della VM.
      • NIC: il nome dell'interfaccia di rete.
      • IPV6_ADDRESS: l'indirizzo IPv6 da assegnare alla VM. Specifica il primo indirizzo IPv6 nell'intervallo /96.
      • ZONE: la zona della VM.

REST

Puoi modificare l'indirizzo IPv4 o IPv6 esterno di una VM aggiungendo una nuova configurazione di accesso per quella VM.

  1. Verifica se la VM ha una configurazione di accesso esistente. 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: la zona in cui si trova la VM
    • VM_NAME: il nome della VM

    Se esiste già una configurazione di accesso IPv4, la risposta è simile alla seguente:

    "networkInterfaces": [
      {
        "network":
        ...
        "name": "nic0",
        "accessConfigs": [
          {
            "type": "ONE_TO_ONE_NAT",
            "name": "External NAT",
            "natIP": "IPV4_ADDRESS",
            "networkTier": "PREMIUM",
            "kind": "compute#accessConfig"
          }
        ],
        ...
      }
    ]
    

    Il campo networkInterfaces[].accessConfigs[].natIP restituisce l'indirizzo IPv4 esterno statico della VM.

    Se esiste già una configurazione di accesso IPv6, la risposta è simile alla seguente:

    "networkInterfaces": [
      {
        "network":
        ...
        "name": "nic0",
        "ipv6AccessConfigs": [
          {
            type: "DIRECT_IPV6",
            "name": "external-ipv6",
            "externalIpv6": "IPV6_ADDRESS",
            "externalIpv6PrefixLength": 96,
            "networkTier": "PREMIUM",
            "kind": "compute#accessConfig"
          }
        ],
        ...
      }
    ]
    

    Il campo networkInterfaces[].ipv6AccessConfigs[].externalIpv6 restituisce l'indirizzo IPv6 esterno statico della VM.

  2. Elimina la configurazione di 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 effettuando una richiesta POST al metodo instances.addAccessConfig.

Modificare l'indirizzo IP di una regola di forwarding

Se devi aggiornare l'indirizzo IP in una regola di forwarding:

  1. Annulla l'assegnazione dell'indirizzo IP.

  2. Elimina la regola di forwarding utilizzando il comando gcloud compute forwarding-rules delete o il metodo forwardingRules.delete.

  3. Ricrea la regola di forwarding utilizzando il comando gcloud compute forwarding-rules create o il metodo forwardingRules.insert.

Promuovi un indirizzo IP esterno temporaneo

Se la tua VM ha un indirizzo IP esterno temporaneo e vuoi assegnarlo in modo permanente al progetto, promuovi l'indirizzo IP esterno temporaneo a un indirizzo IP esterno statico. La promozione di un indirizzo IP esterno temporaneo a riservato non comporta l'eliminazione dei pacchetti inviati alla VM da parte di Google Cloud. Sono inclusi i pacchetti inviati alla VM direttamente o tramite un bilanciatore del carico.

Console

  1. Vai alla pagina Indirizzi IP.

    Vai agli indirizzi IP

  2. Fai clic su Indirizzi IP esterni.
  3. (Facoltativo) Nel campo Filtro, cerca l'indirizzo IP temporaneo che vuoi promuovere.
  4. Nel menu Altre azioni () dell'indirizzo IP che vuoi promuovere, seleziona Promuovi a indirizzo IP statico.
  5. Inserisci un nome per il nuovo indirizzo IP statico e fai clic su Prenota.

gcloud

Segui le seguenti istruzioni per promuovere un indirizzo IPv4 o IPv6 esterno statico:

  • Per promuovere un indirizzo IPv4 esterno temporaneo a un indirizzo IPv4 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 regionale 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 associare all'indirizzo.
    • IP_ADDRESS: l'indirizzo IP che vuoi promuovere.
    • REGION: la regione a cui appartiene l'indirizzo IP a livello di regione.

    • Per promuovere un indirizzo IPv6 esterno a livello di regione temporaneo a un indirizzo IPv6 esterno a livello regionale statico, fornisci l'indirizzo IP esterno temporaneo utilizzando il flag --addresses con il comando compute addresses create.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --addresses=IPV6_ADDRESS \
        --prefix-length=96
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: nome per la risorsa indirizzo IP.
    • REGION: la regione per la risorsa di indirizzo IPv6.
    • IPV6_ADDRESS: l'indirizzo IPv6 che stai promuovendo.

REST

Per promuovere un indirizzo IP regionale 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

Specifica i valori per i campi obbligatori del corpo della richiesta:

  • Per gli indirizzi IPv4, il corpo della richiesta deve contenere i seguenti campi:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV4_ADDRESS"
      "addressType": "EXTERNAL"
    }
    
  • Per gli indirizzi IPv6, il corpo della richiesta deve contenere i seguenti campi:

    {
      "name": "ADDRESS_NAME",
      "address": "IPV6_ADDRESS"
      "prefixLength": 96
      "addressType": "EXTERNAL"
    }
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome che vuoi associare a questo indirizzo
    • IPV4_ADDRESS|IPV6_ADDRESS: l'indirizzo IPv4 o IPv6 che vuoi promuovere
    • REGION: la regione a cui appartiene l'indirizzo IPv4 o IPv6
    • PROJECT_ID: l'ID progetto per questa richiesta

L'indirizzo IP esterno rimane collegato alla VM 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 dalla VM esistente.

Elenca indirizzi IP esterni statici

Per elencare gli indirizzi IP esterni statici che hai prenotato per il tuo progetto, segui questi passaggi.

Console

Per visualizzare un elenco degli indirizzi IP per il tuo progetto, vai alla pagina Indirizzi IP esterni nella console Google Cloud.

Vai a Indirizzi IP esterni

gcloud

Utilizza il comando gcloud compute addresses list:

  • 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 a livello di regione 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 nomi di regioni separati da virgole:

    gcloud compute addresses list \
      --regions=REGION1,REGION2,..REGION_n_
    

REST

  • Per elencare gli indirizzi IPv4 o IPv6 a livello di regione, chiama il metodo addresses.list:

    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 regioni, chiama il metodo 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 richiesta

Descrivi un indirizzo IP esterno statico

Per ottenere informazioni su un indirizzo IP esterno statico, procedi nel seguente modo.

Console

  1. Nella console Google Cloud, vai alla pagina Indirizzi IP esterni.

    Vai a Indirizzi IP esterni

  2. Fai clic sull'indirizzo IP per il quale vuoi visualizzare ulteriori informazioni.

gcloud

Utilizza il comando addresses describe. Sostituisci ADDRESS_NAME con il nome dell'indirizzo IP esterno che vuoi descrivere.

  • Per un indirizzo IPv4 o IPv6 globale, utilizza il comando seguente:

    gcloud compute addresses describe ADDRESS_NAME --global
  • Per un indirizzo IPv4 o IPv6 a livello di regione, utilizza il comando seguente:

    gcloud compute addresses describe ADDRESS_NAME --region=REGION

REST

  • Per descrivere un indirizzo IPv4 o IPv6 a livello di regione, 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
  • Per descrivere un indirizzo IPv4 o IPv6 globale, chiama il metodo globalAddresses.get:

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome dell'indirizzo IP
    • PROJECT_ID: l'ID progetto per la richiesta

Annullare l'assegnazione di un indirizzo IP esterno statico

L'annullamento dell'assegnazione di un indirizzo IP ne comporta la rimozione dalla risorsa, ma l'indirizzo IP rimane riservato. Dopo l'annullamento dell'assegnazione dell'indirizzo IP, puoi riassegnarlo a un'altra risorsa.

Puoi anche annullare l'assegnazione dell'indirizzo IPv4 o IPv6 eliminando la VM.

Console

  1. Nella console Google Cloud, 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

  1. Controlla se è in uso un indirizzo IP statico 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.
  2. Recupera il nome della VM che utilizza l'indirizzo IP:

    gcloud compute addresses describe ADDRESS_NAME \
      --region=REGION
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome della risorsa indirizzo IPv6.
    • REGION: la regione della risorsa di 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/VM_NAME
    

    Il campo users mostra il nome della VM che utilizza l'indirizzo IP.

  3. Annulla l'assegnazione dell'indirizzo IP alla VM.

    • Per annullare l'assegnazione di un indirizzo IPv4, elimina il file di configurazione dell'accesso della VM:

      1. Recupera il nome della configurazione di accesso da eliminare. Per recuperarlo, 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 utilizzando 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 della VM.
        • ACCESS_CONFIG_NAME: il nome della configurazione di accesso da eliminare. Ricorda di inserire 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 VM_NAME \
        --network-interface=nic0 \
        --stack-type=IPV4_ONLY \
        --zone=ZONE
      

      Sostituisci quanto segue:

      • VM_NAME: il nome della VM che utilizza l'indirizzo IP.
      • ZONE: la zona della VM.
  4. Controlla che il tuo indirizzo IP esterno statico sia ora 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 indirizzo IP.

Ora che il tuo indirizzo IP esterno statico è disponibile, puoi scegliere di assegnarlo a un'altra VM.

REST

Per annullare l'assegnazione di un indirizzo IPv4 o IPv6 esterno statico, segui questi passaggi:

  • Per gli indirizzi IPv4, elimina la configurazione dell'accesso collegata alla VM che utilizza l'indirizzo.

    1. Per controllare 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 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
  • Per gli indirizzi IPv6, aggiorna il tipo di stack dell'interfaccia di rete per la VM a cui è collegato l'indirizzo IPv6.

    1. Invia una richiesta PATCH al metodo instances.updateNetworkInterface.

    2. Nel corpo della richiesta, aggiorna il valore del campo stackType in IPV4_ONLY.

      Ad esempio:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/updateNetworkInterface
      
      {
        "networkInterfaces": [{
          ...
          "stackType" : "IPV4_ONLY"
          ...
          }]
      }
      

Rilascia un indirizzo IP esterno statico

Se non hai più bisogno di un indirizzo IPv4 o IPv6 esterno statico, puoi rilasciare l'indirizzo IP eliminando la risorsa indirizzo IP.

Se utilizzi la console Google Cloud, puoi rilasciare un indirizzo IP statico solo se non è utilizzato da un'altra risorsa.

Se usi REST o gcloud CLI, puoi rilasciare un indirizzo IP indipendentemente dal fatto che sia utilizzato o meno da un'altra risorsa.

  • Se l'indirizzo IP non è utilizzato da una risorsa, viene restituito al pool di indirizzi IP esterni disponibili.

  • Se l'indirizzo IP è utilizzato da una risorsa, rimane collegato alla risorsa fino a quando la risorsa non viene eliminata.

Console

  1. Nella console Google Cloud, vai alla pagina Indirizzi IP esterni.

    Vai a Indirizzi IP esterni

  2. Seleziona l'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 IPv4 o IPv6 da rilasciare.

REST

  • Per rilasciare un indirizzo IPv4 o IPv6 a livello di regione, 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
  • Per rilasciare un indirizzo IPv4 o IPv6 globale, chiama il metodo globalAddresses.delete:

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/addresses/ADDRESS_NAME
    

    Sostituisci quanto segue:

    • ADDRESS_NAME: il nome dell'indirizzo IP
    • PROJECT_ID: l'ID progetto per questa richiesta

Limita gli indirizzi IP esterni a VM specifiche

Per determinati carichi di lavoro, potresti avere requisiti essenziali che includono limitazioni di sicurezza e di rete. Ad esempio, potresti voler limitare gli indirizzi IP esterni in modo che possano essere utilizzati solo da VM specifiche. Questa opzione può aiutare a prevenire l'esfiltrazione di dati o a mantenere l'isolamento della rete. Utilizzando un criterio dell'organizzazione, puoi limitare gli indirizzi IP esterni a VM specifiche con vincoli per controllare l'utilizzo degli indirizzi IP esterni delle VM all'interno di un'organizzazione o di un progetto.

Il vincolo per controllare l'indirizzo IP esterno sulle VM è:

constraints/compute.vmExternalIpAccess

Per utilizzare il vincolo, devi specificare un criterio con un allowedList di VM che possono avere indirizzi IP esterni. Se non specifichi un criterio, tutti gli indirizzi IP esterni sono consentiti per tutte le VM. Se il criterio viene applicato, è possibile assegnare un indirizzo IP esterno (temporaneo o statico) solo alle VM elencate nell'elenco allowedValues. Inoltre, alle altre VM di Compute Engine nell'organizzazione o nel progetto non esplicitamente definite nel criterio è vietato l'utilizzo di indirizzi IP esterni.

Le VM sono identificate nelle liste di autorizzazione e di negazione 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 dell'elenco solo alle VM.
  • Non puoi applicare il vincolo in modo retroattivo. Tutte le VM che hanno indirizzi IP esterni prima dell'abilitazione del criterio conservano gli 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 necessarie gestire e mantenere l'integrità e il ciclo di vita della VM. Il vincolo verifica solo l'URI della VM e non impedisce che le VM nella lista consentita vengano modificate, eliminate o ricreate.

Autorizzazioni necessarie per la limitazione degli 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 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, non disponi delle autorizzazioni corrette.
  5. Seleziona Personalizza per impostare il criterio dell'organizzazione per VM specifiche.

    Personalizza l'opzione nella pagina di modifica del criterio dell'organizzazione.

  6. Seleziona le opzioni Applicazione delle norme e Tipo di criterio obbligatorie.

  7. In Valori del criterio, seleziona Personalizzato.

  8. Inserisci un URI per una 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 del criterio e inserisci gli URI delle VM in base alle tue esigenze.

  10. Fai clic su Salva per applicare il vincolo.

gcloud

Per impostare un vincolo per l'accesso IP esterno, devi prima disporre dell'ID organizzazione. Per trovare l'ID 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 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 questa operazione è diversa dalla configurazione dei criteri dell'organizzazione, che richiedono l'ID numerico dell'organizzazione.
  • ZONE: la zona della VM
  • VM_NAME: il nome della VM

In alternativa, puoi specificare un elenco deniedValues per indicare alle VM per cui vuoi vietare esplicitamente di avere un indirizzo IP esterno. Qualsiasi VM non presente nell'elenco sarebbe implicitamente autorizzata ad avere un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Quindi, trasmetti il file con la tua 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 nessuna VM abbia accesso IP esterno, puoi impostare un criterio con allValues impostato su DENY:

{
  "constraint": "constraints/compute.vmExternalIpAccess",
  "listPolicy": {
    "allValues": "DENY"
  }
}

REST

Utilizza l'API setOrgPolicy() per definire il vincolo. Le VM nell'elenco allowedValue da te specificato sono autorizzate ad avere indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues per indicare le VM a cui vuoi vietare esplicitamente di avere un indirizzo IP esterno. Qualsiasi VM non presente nell'elenco sarebbe implicitamente autorizzata ad avere un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Ad esempio, di seguito è riportata una richiesta per applicare il vincolo compute.vmExternalIpAccess a un'organizzazione in cui le 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, indica il criterio 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 nessuna VM abbia 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 a livello di organizzazione example-vm-1 è presente nell'elenco allowedValues, ma il criterio a livello di progetto include la stessa VM nell'elenco deniedValues, la VM non può avere un indirizzo IP esterno.

Console

Segui la stessa procedura documentata in Impostare un vincolo del criterio a livello di organizzazione, ma scegli il tuo progetto dal selettore di progetti 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 questa operazione è diversa dalla configurazione dei criteri dell'organizzazione, che richiedono l'ID numerico dell'organizzazione.
  • ZONE: la zona della VM.
  • VM_NAME: il nome della VM.

In alternativa, puoi specificare un elenco deniedValues di VM per le quali vuoi esplicitamente di vietare l'uso di un indirizzo IP esterno. Qualsiasi VM non presente nell'elenco potrebbe avere implicitamente un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Quindi, trasmetti il file con la tua richiesta:

gcloud resource-manager org-policies set-policy MY_POLICY.JSON --project=example-project

REST

Utilizza l'API setOrgPolicy per definire il vincolo. Le VM nell'elenco allowedValue specificato sono autorizzate ad avere indirizzi IP esterni. In alternativa, puoi specificare un elenco deniedValues per indicare le VM a cui vuoi vietare esplicitamente di avere un indirizzo IP esterno. A qualsiasi VM non presente nell'elenco è implicitamente consentito avere un indirizzo IP esterno. Puoi specificare solo allowedValues o deniedValues, ma non entrambi.

Ad esempio, di seguito è riportata una richiesta per 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 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 rischio per la 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 anziché inserirle 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 a tutte le VM nei progetti di essere associate a indirizzi IP esterni. L'impostazione predefinita non influisce sui criteri attuali per i progetti.

  • 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 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, 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 VPC condiviso, se necessario.

Passaggi successivi