Creare e utilizzare intervalli interni

Questo documento descrive come creare, utilizzare ed eliminare gli intervalli interni.

Gli intervalli interni consentono di gestire uno spazio di indirizzi IP unificato nelle reti Virtual Private Cloud (VPC) consentendo di allocare blocchi di indirizzi IP interni e specificare come possono essere utilizzati.

Prima di iniziare

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per lavorare con gli intervalli interni, chiedi all'amministratore di concederti il ruolo IAM Compute Network Admin (roles/compute.networkAdmin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Prenota intervalli interni

Quando crei un intervallo interno, devi specificare almeno due elementi: gli indirizzi IP da allocare e la rete in cui allocare gli indirizzi. Puoi creare un intervallo interno IPv4 o IPv6 con un blocco CIDR specifico oppure puoi fare in modo che Google Cloud allochi automaticamente un blocco IPv4. Non puoi creare un intervallo interno IPv6 con un blocco di indirizzi allocato automaticamente.

Quando richiedi un blocco CIDR IPv4 allocato automaticamente, fornisci una lunghezza del prefisso e uno o più blocchi CIDR IPv4 di destinazione facoltativi. Se non specifichi un blocco CIDR di destinazione, Google Cloud utilizza i seguenti intervalli di destinazione predefiniti:

  • Per le reti VPC in modalità personalizzata, gli intervalli predefiniti sono 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
  • Per le reti VPC in modalità automatica, gli intervalli predefiniti sono 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

Google Cloud tiene conto delle allocazioni di indirizzi IP esistenti e alloca all'intervallo interno un blocco CIDR senza costi delle dimensioni scelte all'interno dei blocchi CIDR di destinazione. Puoi perfezionare ulteriormente questa allocazione fornendo un elenco facoltativo di blocchi CIDR da escludere. Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco dei blocchi esclusi non può essere aggiornato dopo la creazione di un intervallo interno.

Per controllare il metodo utilizzato da Google Cloud per selezionare automaticamente un blocco senza costi, puoi specificare una strategia di allocazione. Se non specifichi una strategia di allocazione, Google Cloud alloca in modo casuale un intervallo di indirizzi IP liberi all'interno dei blocchi CIDR di destinazione (o dell'intervallo predefinito, se non sono specificati blocchi CIDR di destinazione).

Gli intervalli interni IPv6 consentono di impedire l'assegnazione automatica di indirizzi IP a nuove subnet solo IPv6 o dual-stack. Gli intervalli interni IPv6 devono avere il tipo di utilizzo EXTERNAL_TO_VPC e il tipo di peering FOR_SELF. Devi includere un blocco CIDR IPv6 specifico e il campo overlaps deve essere vuoto o non specificato.

Per impedire agli utenti di aggiornare il blocco CIDR o la configurazione di sovrapposizione di un intervallo interno, puoi creare un intervallo interno immutabile. Gli intervalli interni immutabili impediscono modifiche a queste proprietà, ma puoi comunque aggiornare la descrizione. L'immutabilità non può essere modificata dopo la creazione dell'intervallo interno.

Per impostazione predefinita, Google Cloud blocca la creazione di risorse o intervalli interni se condividono indirizzi IP sovrapposti nella stessa rete VPC. Puoi configurare un intervallo interno IPv4 per consentire la sovrapposizione con gli intervalli di indirizzi di subnet esistenti, route nuove ed esistenti o entrambi. Non puoi creare risorse Google Cloud che utilizzano indirizzi IP di un intervallo interno esistente, a meno che tu non associ esplicitamente la risorsa all'intervallo interno (per le subnet) o non configuri la sovrapposizione (per le route).

Console

  1. Nella console Google Cloud , vai alla pagina Intervalli interni.

    Vai a Intervalli interni

  2. Fai clic su Riserva intervallo interno.

  3. Inserisci un nome.

  4. (Facoltativo) Inserisci una descrizione.

  5. Seleziona una versione IP.

    • Se selezioni IPv4, procedi nel seguente modo:

      1. Specifica se l'intervallo interno è immutabile.
      2. Seleziona un metodo di prenotazione.

        • Se selezioni Automatico:

          1. Seleziona un algoritmo di allocazione.
          2. Seleziona una lunghezza del prefisso.
          3. Inserisci un intervallo di indirizzi IP di destinazione. Puoi aggiungere più intervalli target.
          4. (Facoltativo) Fai clic su Aggiungi un intervallo da escludere e poi inserisci un intervallo di indirizzi IP da escludere. Puoi aggiungere più intervalli esclusi.

            Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone ad alcun intervallo escluso. Questo elenco non può essere aggiornato dopo la creazione dell'intervallo interno.

        • Se selezioni Specifica, inserisci un intervallo IP in notazione CIDR.

      3. Seleziona una rete.

      4. Seleziona un tipo di peering.

      5. Seleziona un tipo di utilizzo.

      6. (Facoltativo) Nella sezione Sovrapposizioni consentite, specifica se l'intervallo interno può sovrapporsi a subnet esistenti, a route nuove ed esistenti o a entrambi.

    • Se selezioni IPv6, procedi nel seguente modo:

      1. Specifica se l'intervallo interno è immutabile.
      2. Seleziona Specifica, quindi inserisci un blocco CIDR IPv6 o IPv6 mappato a IPv4.
      3. Seleziona una rete.
      4. Fai clic su Peering e poi seleziona Per sé.
      5. Fai clic su Utilizzo, quindi seleziona Esterno al VPC.
  6. Fai clic su Prenota.

gcloud

  • Per riservare un intervallo interno per un blocco CIDR IPv4 o IPv6 specifico, utilizza il comando gcloud network-connectivity internal-ranges create.

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --ip-cidr-range=CIDR_RANGE \
        --network=NETWORK_NAME \
        --description="DESCRIPTION" \
        --peering=PEERING_TYPE \
        --usage=USAGE_TYPE
    

    Sostituisci quanto segue:

    • RANGE_NAME: il nome del nuovo intervallo interno
    • CIDR_RANGE: il blocco CIDR IPv4, IPv6 o IPv6 mappato su IPv4 da allocare al nuovo intervallo interno
      • Se specifichi un blocco IPv6, devi procedere nel seguente modo:
        • Imposta il tipo peering su FOR_SELF.
        • Imposta il tipo usage su EXTERNAL_TO_VPC.
    • NETWORK_NAME: il nome della rete in cui creare l'intervallo interno
    • DESCRIPTION: una descrizione facoltativa dell'intervallo interno
    • PEERING_TYPE: il tipo di peering dell'intervallo interno

      Le opzioni sono FOR_SELF, FOR_PEER e NOT_SHARED. FOR_SELF è il valore predefinito.

    • USAGE_TYPE: il tipo di utilizzo dell'intervallo interno

      Le opzioni sono FOR_VPC, EXTERNAL_TO_VPC e FOR_MIGRATION. Il valore predefinito è FOR_VPC.

  • Per prenotare un intervallo interno IPv4 con un blocco CIDR allocato automaticamente, utilizza il seguente comando:

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --network=NETWORK_NAME \
        --prefix-length=PREFIX_LENGTH \
        --target-cidr-range=TARGET_CIDR_RANGE \
        --peering=PEERING_TYPE \
        --usage=USAGE_TYPE \
        --description="DESCRIPTION" \
        --allocation-strategy=ALLOCATION_STRATEGY
        [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
    

    Sostituisci quanto segue:

    • PREFIX_LENGTH: la lunghezza del prefisso degli indirizzi IP allocati
    • TARGET_CIDR_RANGE: il blocco CIDR di destinazione da cui allocare un blocco di indirizzi IPv4

      • Per le reti VPC in modalità personalizzata, i blocchi CIDR predefiniti sono 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
      • Per le reti VPC in modalità automatica, i blocchi CIDR predefiniti sono 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

      Puoi inserire più blocchi CIDR in un elenco separato da virgole.

    • ALLOCATION_STRATEGY: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo interno

      Le opzioni sono RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE e FIRST_SMALLEST_FITTING. Il valore predefinito è RANDOM.

    • FIRST_N_LOOKUP_SIZE: per la strategia di allocazione RANDOM_FIRST_N_AVAILABLE, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casuale

      Includi questo flag solo se scegli la strategia di allocazione RANDOM_FIRST_N_AVAILABLE.

  • Se vuoi escludere intervalli di indirizzi IP quando riservi un intervallo interno IPv4 con un blocco CIDR allocato automaticamente, utilizza il seguente comando:

    gcloud alpha network-connectivity internal-ranges create RANGE_NAME \
        --network=NETWORK_NAME \
        --prefix-length=PREFIX_LENGTH \
        --target-cidr-range=TARGET_CIDR_RANGE \
        --peering=PEERING_TYPE \
        --usage=USAGE_TYPE \
        --description="DESCRIPTION" \
        --exclude-cidr-ranges=EXCLUDED_RANGES
    

    Sostituisci EXCLUDED_RANGES con un elenco separato da virgole di uno o più blocchi CIDR IPv4 da escludere. Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco non può essere aggiornato dopo la creazione dell'intervallo interno.

  • Per prenotare un intervallo interno IPv4 con sovrapposizione, utilizza il seguente comando:

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --ip-cidr-range=CIDR_RANGE \
        --network=NETWORK_NAME \
        --description="DESCRIPTION" \
        --peering=PEERING_TYPE \
        --usage=USAGE_TYPE \
        --overlaps=OVERLAPS
    

    Sostituisci OVERLAPS con il tipo di sovrapposizione da consentire. Le opzioni sono OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Puoi includere entrambi i valori in un elenco separato da virgole.

  • Per riservare un intervallo interno immutabile, utilizza il seguente comando:

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --ip-cidr-range=CIDR_RANGE \
        --network=NETWORK_NAME \
        --description="DESCRIPTION" \
        --peering=PEERING_TYPE \
        --usage=USAGE_TYPE \
        --immutable
    

API

  • Per prenotare un intervallo interno per un blocco CIDR IPv4 o IPv6 specifico, invia una richiesta POST al metodo projects.locations.internalRanges.create.

    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "ipCidrRange": "CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE"
    }
    

    Sostituisci quanto segue:

    • PROJECT_ID: l'ID del progetto padre per l'intervallo interno
    • RANGE_NAME: il nome dell'intervallo interno
    • CIDR_RANGE: il blocco CIDR IPv4, IPv6 o IPv6 mappato a IPv4 da allocare all'intervallo interno
      • Se specifichi un blocco IPv6, devi procedere nel seguente modo:
        • Imposta il tipo peering su FOR_SELF.
        • Imposta il tipo usage su EXTERNAL_TO_VPC.
    • NETWORK_NAME: il nome della rete in cui creare l'intervallo interno
    • DESCRIPTION: una descrizione facoltativa del nuovo intervallo interno
    • PEERING_TYPE: il tipo di peering dell'intervallo interno

      Le opzioni sono FOR_SELF, FOR_PEER e NOT_SHARED. FOR_SELF è il valore predefinito.

    • USAGE_TYPE: il tipo di utilizzo dell'intervallo interno

      Le opzioni sono FOR_VPC, EXTERNAL_TO_VPC e FOR_MIGRATION. Il valore predefinito è FOR_VPC.

  • Per prenotare un intervallo interno IPv4 con un blocco CIDR allocato automaticamente, invia la seguente richiesta:

    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "prefixLength": PREFIX_LENGTH,
      "targetCidrRange": "TARGET_CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "allocationOptions": {
        "allocationStrategy": "ALLOCATION_STRATEGY",
        ["firstAvailableRangesLookupSize": FIRST_N_LOOKUP_SIZE]
      }
    }
    

    Sostituisci quanto segue:

    • PREFIX_LENGTH: la lunghezza del prefisso CIDR per il blocco di indirizzi IP dell'intervallo
    • TARGET_CIDR_RANGE: il blocco CIDR di destinazione da cui allocare un blocco di indirizzi IPv4

      • Per le reti VPC in modalità personalizzata, i blocchi CIDR predefiniti sono 10.0.0.0/8, 172.16.0.0/12 e 192.168.0.0/16.
      • Per le reti VPC in modalità automatica, i blocchi CIDR predefiniti sono 10.0.0.0/9, 172.16.0.0/12 e 192.168.0.0/16.

      Puoi specificare più blocchi CIDR in un array JSON.

    • ALLOCATION_STRATEGY: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo interno

      Le opzioni sono RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE e FIRST_SMALLEST_FITTING. Il valore predefinito è RANDOM.

    • FIRST_N_LOOKUP_SIZE: per la strategia di allocazione RANDOM_FIRST_N_AVAILABLE, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casuale

      Includi questo campo solo se scegli la strategia di allocazione RANDOM_FIRST_N_AVAILABLE.

  • Se vuoi escludere intervalli di indirizzi IP quando prenoti un intervallo IPv4 interno con un blocco CIDR allocato automaticamente, invia la seguente richiesta:

    POST https://networkconnectivity.googleapis.com/v1alpha1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "prefixLength": PREFIX_LENGTH,
      "targetCidrRange": "TARGET_CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "excludeCidrRanges": ["EXCLUDED_RANGE_1","EXCLUDED_RANGE_2"]
    }
    

    Sostituisci EXCLUDED_RANGE_1 e EXCLUDED_RANGE_2 con uno o più blocchi CIDR IPv4 da escludere. Google Cloud alloca un blocco di indirizzi IP all'intervallo interno che non si sovrappone a nessun blocco escluso. L'elenco non può essere aggiornato dopo la creazione dell'intervallo interno.

  • Per prenotare un intervallo interno IPv4 con sovrapposizione, invia la seguente richiesta:

    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "ipCidrRange": "CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "overlaps": ["OVERLAPS"]
    }
    

    Sostituisci OVERLAPS con il tipo di sovrapposizione da consentire. Le opzioni sono OVERLAP_EXISTING_SUBNET_RANGE e OVERLAP_ROUTE_RANGE. Puoi includere entrambi i valori in un array JSON.

  • Per prenotare un intervallo interno immutabile, invia la seguente richiesta:

    POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "ipCidrRange": "CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE",
      "immutable": true
    }
    

Riserva intervalli interni IPv4 per la migrazione delle subnet

Puoi utilizzare un intervallo interno per eseguire la migrazione di un intervallo CIDR da una subnet a un'altra. Per saperne di più, vedi Eseguire la migrazione degli intervalli di subnet IPv4.

gcloud

Utilizza il comando gcloud network-connectivity internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --peering=FOR_SELF \
    --usage=FOR_MIGRATION \
    --migration-source=SOURCE_SUBNET \
    --migration-target=TARGET_SUBNET

Sostituisci quanto segue:

  • RANGE_NAME: il nome dell'intervallo interno da creare
  • CIDR_RANGE: il blocco CIDR IPv4 della subnet che vuoi migrare
  • NETWORK_NAME: il nome della rete in cui creare l'intervallo interno
  • SOURCE_SUBNET: l'URI della subnet di origine
  • TARGET_SUBNET: l'URI della subnet di destinazione

API

Effettua una richiesta POST al metodo projects.locations.internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "peering": "FOR_SELF",
  "usage": "FOR_MIGRATION",
  "migration": {
    "source": "SOURCE_SUBNET",
    "target": "TARGET_SUBNET"
  }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto padre per l'intervallo interno
  • RANGE_NAME: il nome del nuovo intervallo interno
  • CIDR_RANGE: il blocco CIDR IPv4 della subnet che vuoi migrare
  • NETWORK_NAME: il nome della rete in cui creare l'intervallo interno
  • SOURCE_SUBNET: l'URI della subnet di origine
  • TARGET_SUBNET: l'URI della subnet di destinazione

Crea subnet con intervalli interni IPv4

Puoi creare una subnet solo IPv4 o a doppio stack e utilizzare un intervallo interno per specificare l'intervallo di indirizzi IPv4 interni primari della subnet. La subnet può essere associata a un intero intervallo interno o solo a una parte dell'intervallo. Gli intervalli secondari per le subnet possono essere associati anche a intervalli interni.

Console

  1. Prenota un intervallo interno IPv4 nella rete in cui vuoi creare una nuova subnet. Imposta il tipo di utilizzo in questo intervallo interno su For VPC e imposta il tipo di peering su For self.

  2. Nella console Google Cloud , vai alla pagina Reti VPC.

    Vai a Reti VPC

  3. Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.

  4. Fai clic su Aggiungi subnet. Nella finestra di dialogo visualizzata:

    1. Fornisci un nome.
    2. Seleziona una regione.
    3. Seleziona la casella di controllo Associa a un intervallo interno.
    4. Per Intervallo interno riservato, effettua una selezione.
    5. (Facoltativo) Per associare la subnet a una parte dell'intervallo interno, inserisci un intervallo IPv4.
    6. Fai clic su Aggiungi.

gcloud

  1. Prenota un intervallo interno IPv4 nella rete in cui vuoi creare una nuova subnet. Imposta il tipo di utilizzo in questo intervallo interno su FOR_VPC e imposta il tipo di peering su FOR_SELF.
  2. Esegui una delle seguenti operazioni:

    • Per creare una subnet associata a un intervallo interno completo, utilizza il comando gcloud compute networks subnets create.

      gcloud compute networks subnets create SUBNET_NAME \
          --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \
          --network=NETWORK_NAME \
          --region=REGION
      

      Sostituisci quanto segue:

      • SUBNET_NAME: il nome della subnet.
      • PROJECT_ID: l'ID del progetto in cui creare la subnet
      • RANGE_NAME: il nome dell'intervallo interno da associare alla subnet
      • NETWORK_NAME: il nome della rete in cui creare la subnet
      • REGION: la regione in cui creare la subnet
    • Per creare una subnet associata a una parte di un intervallo interno, utilizza il seguente comando:

      gcloud compute networks subnets create SUBNET_NAME \
          --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \
          --range=IP_RANGE \
          --network=NETWORK_NAME \
          --region=REGION
      

      Sostituisci IP_RANGE con un intervallo CIDR IPv4 che sia un sottoinsieme dell'intervallo interno.

Ad esempio, i seguenti comandi creano una subnet associata solo alla parte 10.9.1.0/24 di un intervallo interno che riserva il blocco CIDR 10.9.0.0/16.