Configura indirizzi IP interni statici

Questa pagina mostra come configurare e gestire IPv4 o IPv6 interno statico per le istanze di macchine virtuali (VM) Compute Engine.

Se un'istanza VM richiede un indirizzo IP interno fisso non cambia, puoi ottenere un indirizzo IP interno statico per quella VM utilizzando una delle seguenti opzioni:

Per informazioni su come gestire gli indirizzi IP interni secondari, consulta Intervalli IP alias.

In Compute Engine, ogni istanza VM può avere interfacce di rete multiple. Ogni interfaccia può avere un indirizzo IP esterno, un indirizzo IP interno principale e uno o più indirizzi IP interni secondari. Per saperne di più sugli indirizzi IP, leggi la documentazione sugli indirizzi IP.

Con gli indirizzi IP interni statici, puoi sempre utilizzare lo stesso indirizzo IP per una VM, anche se devi eliminarla e ricrearla.

Per configurare un indirizzo IP esterno statico invece di un indirizzo IP interno, vedi Configurare indirizzi IP esterni statici.

Prima di iniziare

  • Ulteriori informazioni sugli indirizzi IP.
  • Se non l'hai già fatto, configura l'autenticazione. Autenticazione è Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione Compute Engine come segue.

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

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

      gcloud init
    2. Set a default region and zone.
    3. Terraform

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

      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 maggiori informazioni, consulta Set up authentication for a local development environment.

      REST

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

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per maggiori informazioni, consulta Autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare e gestire gli indirizzi IP statici, chiedi all'amministratore di concederti i seguenti ruoli IAM sul tuo progetto:

Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Questi ruoli predefiniti le autorizzazioni necessarie per configurare e gestire gli indirizzi IP statici. Per vedere le autorizzazioni esatte obbligatorie, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per configurare e gestire gli indirizzi IP statici sono necessarie le seguenti autorizzazioni:

  • compute.instances.update sull'istanza VM
  • compute.instances.updateNetworkInterface sull'istanza VM
  • compute.instances.addAccessConfig sull'istanza VM
  • compute.instances.deleteAccessConfig sull'istanza VM
  • compute.networks.list sulla rete
  • compute.subnetworks.use sulla subnet
  • compute.subnetworks.list sulla subnet
  • Per creare le VM:
    • compute.instances.create nel progetto
    • Per utilizzare un'immagine personalizzata per creare la VM: compute.images.useReadOnly sull'immagine
    • Per utilizzare uno snapshot per creare la VM: compute.snapshots.useReadOnly nello snapshot
    • Per utilizzare un modello di istanza per creare la VM: compute.instanceTemplates.useReadOnly nel modello di istanza
    • Per assegnare una rete legacy alla VM,: compute.networks.use nel progetto
    • Per specificare un indirizzo IP statico per la VM: compute.addresses.use nel progetto
    • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy: compute.networks.useExternalIp nel progetto
    • Per specificare una subnet per la VM: compute.subnetworks.use nel progetto o nella subnet scelta
    • Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC,: compute.subnetworks.useExternalIp nel progetto o nella subnet scelta
    • Per impostare i metadati dell'istanza VM per la VM: compute.instances.setMetadata nel progetto
    • Per impostare i tag per la VM: compute.instances.setTags sulla VM
    • Per impostare le etichette per la VM: compute.instances.setLabels sulla VM
    • Per impostare un account di servizio che la VM deve utilizzare: compute.instances.setServiceAccount sulla VM
    • Per creare un nuovo disco per la VM: compute.disks.create nel progetto
    • Per collegare un disco esistente in modalità di sola lettura o lettura/scrittura: compute.disks.use sul disco
    • Per collegare un disco esistente in modalità di sola lettura: compute.disks.useReadOnly sul disco

Potresti anche riuscire a ottenere queste autorizzazioni con ruoli personalizzati e altri ruoli predefiniti.

Limitazioni

  • Non puoi annullare l'assegnazione o modificare l'indirizzo IPv4 interno di una risorsa esistente. Per Ad esempio, non è possibile assegnare un nuovo indirizzo IP interno statico a un un'istanza VM arrestata. Tuttavia, puoi promuovere l'IP interno temporaneo di una risorsa a un indirizzo IP interno statico, in modo che rimanga anche dopo l'eliminazione della risorsa.

  • Il numero di indirizzi IP interni statici che puoi prenotare non può superare della quota del tuo progetto. Per ulteriori informazioni, consulta quotas nella documentazione del VPC.

  • Solo una risorsa alla volta può usare un indirizzo IP interno statico.

  • La prenotazione di un indirizzo IP interno statico è supportata solo per reti VPC. Non è supportato per le reti in modalità legacy.

  • L'eliminazione di una risorsa non rilascia automaticamente un IP interno statico . Devi rilasciare manualmente gli indirizzi IP interni statici quando non li richiedono più.

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

  • Gli indirizzi IP interni statici sono a livello di regione, ovvero sono limitati a la regione in cui sono prenotati. Ad esempio: Se esiste un indirizzo IP interno statico riservato in Region A, può usare solo l'indirizzo IP in Region A.

Come configurare un indirizzo IP interno statico

Puoi prenotare un indirizzo IP interno statico e specificare l'indirizzo IP riservato durante la creazione di una VM. Puoi anche creare la VM con un ambiente un indirizzo IP interno, per poi promuoverlo a un indirizzo IP un indirizzo IP interno statico.

Per utilizzare un indirizzo IP interno statico, devi avere una rete VPC per il tuo progetto. Per visualizzare le reti VPC nel tuo progetto, consulta Visualizza le reti VPC.

Prenota un indirizzo IPv4 o IPv6 interno statico e poi associalo con una VM specifica

In questo scenario, prenoti separatamente un indirizzo IP interno statico e quindi assegnarlo a una VM:

  1. Scegli una subnet rete VPC. Per gli indirizzi IPv6, assicurati che si tratti di un subnet a doppio stack.

  2. Prenotare un indirizzo IP interno dall'intervallo IP principale della subnet. Questo passaggio crea una risorsa di indirizzo IP interno denominata che contiene quella specifica all'indirizzo IP interno. La prenotazione dell'indirizzo IP impedisce a Google Cloud di l'allocazione automatica di quell'indirizzo come indirizzo temporaneo.

  3. Utilizza l'indirizzo IP interno prenotato associandolo a un'istanza VM quando crei la risorsa VM.

Specifica un indirizzo IPv4 o IPv6 interno temporaneo per una VM e quindi promuovi l'indirizzo

In questo scenario, promuovi un indirizzo IPv4 o IPv6 interno temporaneo che ancora collegato a una VM:

  1. Scegli una subnet rete VPC. Per gli indirizzi IPv6, assicurati che si tratti di un subnet a doppio stack.

  2. Crea un'istanza VM con un'istanza un indirizzo IPv4 o IPv6 temporaneo allocato automaticamente oppure un indirizzo IPv4 specifico .

  3. Promuovi dall'indirizzo IP interno temporaneo a un indirizzo statico.

I due metodi sono descritti nella Figura 1.

Stati di prenotazione dell'indirizzo IP interno.
Figura 1. Stati di prenotazione dell'indirizzo IP interno (fai clic per ingrandire).

Visualizza gli indirizzi IP interni statici disponibili

Per visualizzare tutti gli indirizzi IP interni statici esistenti, completa quanto segue passaggi.

Console

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

    Vai a indirizzi IP

  2. Fai clic su Indirizzi IP interni.

gcloud

Usa il comando gcloud compute addresses list:

gcloud compute addresses list

API

Utilizza il metodo addresses.list:

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

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per questa richiesta
  • REGION: il nome della regione per questa richiesta

Per elencare tutti gli indirizzi in tutte le regioni, utilizza il Metodo addresses.aggregatedList:

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

Come vengono assegnati gli indirizzi IP interni

Alle interfacce di rete di una VM vengono assegnati indirizzi IP dalla subnet a cui sono connessi. Ogni interfaccia di rete ha un IPv4 interno principale assegnato dall'intervallo IPv4 principale della subnet. Se la VM viene utilizzata connessa a una subnet a doppio stack con un intervallo IPv6 interno, puoi assegnare un indirizzo IPv6 interno a ogni rete a riga di comando.

Gli indirizzi IPv4 interni possono essere assegnati nei seguenti modi:

  • Compute Engine assegna un singolo indirizzo IPv4 dalla subnet IPv4 principale intervallo automaticamente.
  • Puoi assegnare un indirizzo IPv4 interno specifico quando crei una VM oppure prenotare un indirizzo IPv4 interno statico per il tuo progetto e assegna quell'indirizzo a un'interfaccia di rete VM.

Gli indirizzi IPv6 interni possono essere assegnati nei seguenti modi:

Utilizza indirizzi IP interni statici prenotati durante la creazione delle risorse

Dopo aver prenotato un indirizzo IP interno statico, puoi assegnare durante la creazione di una VM o di un bilanciatore del carico interno.

Le seguenti procedure descrivono come utilizzare l'IP interno statico indirizzi IP durante la creazione delle risorse:

Crea un'istanza VM con un indirizzo IPv4 o IPv6 interno riservato

Quando crei una VM connessa a una subnet a doppio stack con un l'intervallo IPv6 senza specificare alcun indirizzo IPv6 interno statico riservato, Compute Engine assegna automaticamente alla VM un servizio interno temporaneo Indirizzo IPv6 dall'intervallo IPv6 della subnet.

Console

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

    Vai a Crea un'istanza VM

  2. Espandi la sezione Opzioni avanzate.

  3. Espandi la sezione Networking.

  4. Per assegnare un indirizzo IPv4 interno:

    1. Seleziona una rete e una subnet.
    2. Seleziona un indirizzo IPv4 interno riservato dal Elenco Indirizzi IPv4 interni principali.

    In alternativa, seleziona Prenota indirizzo IP interno statico e prenotare un nuovo indirizzo IPv4 interno statico.

  5. Per assegnare un indirizzo IPv6 interno:

    1. Seleziona una rete che contiene una subnet IPv6.
    2. Seleziona una subnet a doppio stack dall'elenco Subnet. La subnet deve avere il tipo di accesso IPv6 INTERNAL.
    3. Per Tipo di stack IP, seleziona IPv4 e IPv6 (stack doppio).
    4. Seleziona un indirizzo IPv6 interno riservato dall'elenco Indirizzo IPv6 interno principale.

    In alternativa, seleziona Prenota indirizzo IPv6 interno statico e prenotare un nuovo indirizzo IPv6 interno statico.

  6. Per completare la modifica dell'interfaccia di rete predefinita, fai clic su Fine.

  7. Continua con il processo di creazione della VM.

  8. Fai clic su Crea.

gcloud

  • Usa il comando instances create per creare un'istanza VM con un indirizzo IPv4 interno riservato e usa il flag --private-network-ip per specificare l'indirizzo IP:

    gcloud compute instances create VM_NAME
        --private-network-ip IP_ADDRESS
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM che vuoi creare.
    • IP_ADDRESS: l'indirizzo IP che vuoi assegnare.

    Se utilizzi una rete in modalità subnet personalizzata, devi anche specificare la una subnet usando il parametro --subnet SUBNET.

  • Per creare un'istanza con un indirizzo IPv6 interno riservato, utilizza il metodo --internal-ipv6-address per specificare l'indirizzo IP:

    gcloud compute instances create VM_NAME
        --subnet SUBNETWORK
        --stack-type IPV4_IPV6
        --internal-ipv6-address INTERNAL_IPV6_ADDRESS
        --zone ZONE
    

    Sostituisci quanto segue:

    • VM_NAME: il nome della VM che vuoi creare.
    • SUBNETWORK: la subnet per l'indirizzo IPv6 interno.
    • INTERNAL_IPV6_ADDRESS: l'indirizzo IPv6 di /96, l'IP o l'URI della risorsa indirizzo. L'indirizzo IP deve essere prima di poterlo utilizzare.
    • ZONE: la zona per la VM.

REST

Per creare un'istanza VM con un indirizzo IP interno statico, utilizza Metodo instances.insert.

  • Per gli indirizzi IPv4 interni, fornisci esplicitamente il carattere Proprietà networkInterfaces[].networkIP con l'indirizzo IPv4 interno che vuoi assegnare per la VM.

    Ad esempio:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    
    {
    "name": "VM_NAME",
    "machineType": "zones/us-central1-f/machineTypes/e2-micro",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "network": "global/networks/default",
      "networkIP": "IPV4_ADDRESS"
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
    }

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui creare la VM.
    • ZONE: la zona in cui creare la VM.
    • VM_NAME: il nome della macchina virtuale.
    • IPV4_ADDRESS: l'indirizzo IPv4 interno da assegnare alla VM.
  • Per gli indirizzi IPv6 interni, specifica esplicitamente i valori per seguenti proprietà:

    • networkInterfaces[].stackType
    • networkInterfaces[].ipv6Address
    • networkInterfaces[].internalIpv6PrefixLength
    • networkInterfaces[].ipv6AccessType

    Ad esempio:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
    "name": "VM_NAME",
    "machineType": "zones/us-central1-f/machineTypes/e2-micro",
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "network": "global/networks/default",
      "stackType": "IPV4_IPV6"
      "ipv6Address": ""IPV6_ADDRESS"",
      "internalIpv6PrefixLength": 96
      "ipv6AccessType": INTERNAL,
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
    }

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui creare la VM.
    • ZONE: la zona in cui creare la VM.
    • VM_NAME: il nome della VM.
    • IPV6_ADDRESS: l'indirizzo IPv6 interno da assegnare alla VM.

Se elimini un'istanza VM con un indirizzo IP temporaneo, l'indirizzo torna indietro nel pool di indirizzi non allocati. Se hai bisogno di un indirizzo IP interno oltre la durata dell'istanza, puoi riservare un indirizzo IP interno statico.

Assegna un indirizzo interno statico all'interfaccia di rete secondaria di una VM

Quando crei un'istanza VM con più interfacce di rete, puoi utilizzare un indirizzo IPv4 o IPv6 interno statico riservato sia per l'istanza principale che per quella secondaria interfacce di rete.

Per utilizzare un indirizzo IPv4 o IPv6 interno statico per un'interfaccia di rete secondaria, consulta Creare istanze VM con più interfacce di rete.

Modificare o assegnare un indirizzo IPv6 interno a una VM esistente

Puoi modificare o assegnare un indirizzo IPv6 interno per un'istanza VM esistente.

Se all'istanza è già assegnato un indirizzo IPv6 interno, devi annulla l'assegnazione dell'indirizzo. Poi assegna un nuovo indirizzo a utilizzando l'interfaccia di rete dell'istanza.

Per modificare o assegnare un indirizzo IPv6 interno statico a una VM esistente completa i seguenti passaggi.

Console

  1. Prenota un indirizzo IPv6 interno statico.
  2. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze VM

  3. Fai clic sul nome dell'istanza di cui vuoi inserire l'indirizzo IPv6 interno modifica.
  4. Nella pagina Dettagli istanza, completa i seguenti passaggi:

    1. Fai clic su Modifica.
    2. Espandi Interfacce di rete.
    3. Nell'elenco Indirizzo IPv6 interno principale, seleziona una delle seguenti opzioni: Assegnato automaticamente (/96) o un indirizzo IPv6 interno statico riservato.
    4. Fai clic su Fine.
  5. Fai clic su Salva.

gcloud

Utilizza la Comando compute instances network-interfaces update.

gcloud compute instances network-interfaces update VM_NAME \
    --network-interface NIC \
    --ipv6-network-tier PREMIUM \
    --stack-type IPV4_IPV6 \
    --internal-ipv6-address INTERNAL_IPV6_ADDRESS \
    --zone ZONE

Sostituisci quanto segue:

  • VM_NAME: il nome della VM che vuoi creare.
  • NIC: il nome dell'interfaccia di rete da aggiornare.
  • INTERNAL_IPV6_ADDRESS: il valore interno /96 l'indirizzo IPv6 da assegnare all'interfaccia, il nome dell'indirizzo IP o URI della risorsa indirizzo.
  • ZONE: la zona per la VM.

REST

Utilizza il metodo instances.update. Aggiorna la proprietà networkInterfaces[].ipv6Address con il campo Indirizzo IPv6 che vuoi assegnare.

Ad esempio:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
  {
    ...
    "networkInterfaces": [{
      "accessConfigs": [{
        "type": "ONE_TO_ONE_NAT",
        "name": "External NAT",
      }],
      "stackType": "IPV4_IPV6"
      "ipv6Address": "IPV6_ADDRESS",
      "internalIpv6PrefixLength": 96
      "subnetwork": "regions/REGION/subnetworks/SUBNETWORK",
    }],
    "disks": [{
      "autoDelete": "true",
      "boot": "true",
      "type": "PERSISTENT",
      "initializeParams": {
          "sourceImage": "projects/debian-cloud/global/images/v20150818"
      }
    }]
  }
 

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui si trova la VM.
  • ZONE: la zona in cui creare la VM.
  • VM_NAME: il nome della VM.
  • IPV6_ADDRESS: l'indirizzo IPv6 interno da assegnare alla VM.

    Se specifichi l'URI della risorsa dell'indirizzo IPv6 interno o un Intervallo di indirizzi IPv6 come valore per IPV6_ADDRESS, devi lascia vuoto il valore di internalIpv6PrefixLength.

Gestisci indirizzi IP interni statici

Le seguenti procedure consentono di gestire gli indirizzi IP interni statici indirizzi IP per le tue VM:

Determina se un indirizzo IPv4 o IPv6 interno è temporaneo o statico

Gli indirizzi IP interni statici e temporanei si comportano e hanno lo stesso aspetto nella maggior parte i contesti. Tuttavia, con gli indirizzi IP interni statici puoi utilizzare per la stessa risorsa anche se la elimini e la crei nuovamente. In generale, se interrompi o elimini il comando, viene rilasciato risorsa.

Per determinare se un indirizzo è statico o temporaneo:

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

    Vai a indirizzi IP

  2. Trova l'indirizzo nell'elenco e controlla nella colonna Tipo il tipo di Indirizzo IP.

Annulla l'assegnazione di un indirizzo IPv6 interno statico

Puoi annullare l'assegnazione di un indirizzo IPv6 interno statico da un'istanza VM a doppio stack aggiornando il tipo di stack per l'interfaccia di rete dell'istanza oppure eliminando l'istanza al quale è assegnato l'indirizzo.

Quando annulli l'assegnazione di un indirizzo IPv6 interno, il sistema lo rimuove ma mantiene l'indirizzo riservato per il progetto. In seguito e riassegnare l'indirizzo a un'altra risorsa.

Per annullare l'assegnazione di un indirizzo IPv6 interno statico da un'istanza VM, completa la i seguenti passaggi.

Console

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

    Vai a Istanze VM

  2. Fai clic sul nome dell'istanza di cui vuoi inserire l'indirizzo IPv6 interno annullare l'assegnazione.
  3. Nella pagina Dettagli istanza, completa i seguenti passaggi:

    1. Fai clic su Modifica.
    2. Espandi Interfacce di rete.
    3. Per Tipo di stack IP, seleziona IPv4 (stack singolo).
    4. Fai clic su Fine.
  4. Fai clic su Salva.

gcloud

Utilizza la Comando compute instances network-interfaces update con il flag --stack-type impostato su IPV4_ONLY:

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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM la cui rete a riga di comando che vuoi aggiornare.
  • NIC: il nome dell'interfaccia di rete da aggiornare.
  • ZONE: la zona per la VM.

Verifica che l'indirizzo IPv6 interno statico sia ora disponibile e contrassegnato come RESERVED anziché IN_USE:

gcloud compute addresses list \
    --filter="region=REGION AND name=NAME"

REST

Aggiorna il tipo di stack di istanza dell'interfaccia di rete in cui l'interfaccia L'indirizzo IPv6 è collegato:

  1. Invia una richiesta PATCH a 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"
        ...
        }]
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto in cui si trova la VM.
    • ZONE: la zona in cui creare la VM.
    • VM_NAME: il nome della VM.

Rilascia un indirizzo IP interno statico

Se non hai più bisogno di un indirizzo IP IPv4 o IPv6 interno statico, puoi rilasciare l'indirizzo IP eliminando la risorsa dell'indirizzo IP. L'eliminazione di una VM rilascia automaticamente un indirizzo IP esterno statico. Devi rilasciare manualmente indirizzi IP esterni statici quando non sono più necessari.

Per rilasciare un indirizzo IP interno statico, vedi Rilasciare un indirizzo IPv4 o IPv6 interno statico nella documentazione del VPC.

Passaggi successivi