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
- Per utilizzare gli esempi della riga di comando in questa guida, installa o esegui l'aggiornamento all'ultima versione di Google Cloud CLI.
- Devi abilitare l'API Network Connectivity nel tuo progetto.
- Identifica o crea una rete VPC.
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/12e192.168.0.0/16. - Per le reti VPC in modalità automatica, gli intervalli predefiniti sono
10.0.0.0/9,172.16.0.0/12e192.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
Nella console Google Cloud , vai alla pagina Intervalli interni.
Fai clic su Riserva intervallo interno.
Inserisci un nome.
(Facoltativo) Inserisci una descrizione.
Seleziona una versione IP.
Se selezioni IPv4, procedi nel seguente modo:
- Specifica se l'intervallo interno è immutabile.
Seleziona un metodo di prenotazione.
Se selezioni Automatico:
- Seleziona un algoritmo di allocazione.
- Seleziona una lunghezza del prefisso.
- Inserisci un intervallo di indirizzi IP di destinazione. Puoi aggiungere più intervalli target.
(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.
Seleziona una rete.
Seleziona un tipo di peering.
Seleziona un tipo di utilizzo.
(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:
- Specifica se l'intervallo interno è immutabile.
- Seleziona Specifica, quindi inserisci un blocco CIDR IPv6 o IPv6 mappato a IPv4.
- Seleziona una rete.
- Fai clic su Peering e poi seleziona Per sé.
- Fai clic su Utilizzo, quindi seleziona Esterno al VPC.
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_TYPESostituisci quanto segue:
RANGE_NAME: il nome del nuovo intervallo internoCIDR_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
peeringsuFOR_SELF. - Imposta il tipo
usagesuEXTERNAL_TO_VPC.
- Imposta il tipo
- Se specifichi un blocco IPv6, devi procedere nel seguente modo:
NETWORK_NAME: il nome della rete in cui creare l'intervallo internoDESCRIPTION: una descrizione facoltativa dell'intervallo internoPEERING_TYPE: il tipo di peering dell'intervallo internoLe opzioni sono
FOR_SELF,FOR_PEEReNOT_SHARED.FOR_SELFè il valore predefinito.USAGE_TYPE: il tipo di utilizzo dell'intervallo internoLe opzioni sono
FOR_VPC,EXTERNAL_TO_VPCeFOR_MIGRATION. Il valore predefinito èFOR_VPC.- Se utilizzi l'opzione
FOR_MIGRATION, devi specificare anche le subnet di origine e di destinazione. Per un esempio, vedi Riservare intervalli interni IPv4 per la migrazione delle subnet.
- Se utilizzi l'opzione
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 allocatiTARGET_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/12e192.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/12e192.168.0.0/16.
Puoi inserire più blocchi CIDR in un elenco separato da virgole.
- Per le reti VPC in modalità personalizzata, i blocchi CIDR predefiniti sono
ALLOCATION_STRATEGY: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo internoLe opzioni sono
RANDOM,FIRST_AVAILABLE,RANDOM_FIRST_N_AVAILABLEeFIRST_SMALLEST_FITTING. Il valore predefinito èRANDOM.FIRST_N_LOOKUP_SIZE: per la strategia di allocazioneRANDOM_FIRST_N_AVAILABLE, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casualeIncludi 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_RANGESSostituisci
EXCLUDED_RANGEScon 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=OVERLAPSSostituisci
OVERLAPScon il tipo di sovrapposizione da consentire. Le opzioni sonoOVERLAP_EXISTING_SUBNET_RANGEeOVERLAP_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
POSTal metodoprojects.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 internoRANGE_NAME: il nome dell'intervallo internoCIDR_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
peeringsuFOR_SELF. - Imposta il tipo
usagesuEXTERNAL_TO_VPC.
- Imposta il tipo
- Se specifichi un blocco IPv6, devi procedere nel seguente modo:
NETWORK_NAME: il nome della rete in cui creare l'intervallo internoDESCRIPTION: una descrizione facoltativa del nuovo intervallo internoPEERING_TYPE: il tipo di peering dell'intervallo internoLe opzioni sono
FOR_SELF,FOR_PEEReNOT_SHARED.FOR_SELFè il valore predefinito.USAGE_TYPE: il tipo di utilizzo dell'intervallo internoLe opzioni sono
FOR_VPC,EXTERNAL_TO_VPCeFOR_MIGRATION. Il valore predefinito èFOR_VPC.- Se utilizzi l'opzione
FOR_MIGRATION, devi specificare anche le subnet di origine e di destinazione. Per un esempio, vedi Riservare intervalli interni IPv4 per la migrazione delle subnet.
- Se utilizzi l'opzione
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'intervalloTARGET_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/12e192.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/12e192.168.0.0/16.
Puoi specificare più blocchi CIDR in un array JSON.
- Per le reti VPC in modalità personalizzata, i blocchi CIDR predefiniti sono
ALLOCATION_STRATEGY: la strategia di allocazione che vuoi utilizzare per il blocco CIDR di questo intervallo internoLe opzioni sono
RANDOM,FIRST_AVAILABLE,RANDOM_FIRST_N_AVAILABLEeFIRST_SMALLEST_FITTING. Il valore predefinito èRANDOM.FIRST_N_LOOKUP_SIZE: per la strategia di allocazioneRANDOM_FIRST_N_AVAILABLE, il numero di blocchi CIDR liberi da trovare prima di determinarne uno in modo casualeIncludi 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_1eEXCLUDED_RANGE_2con 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
OVERLAPScon il tipo di sovrapposizione da consentire. Le opzioni sonoOVERLAP_EXISTING_SUBNET_RANGEeOVERLAP_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 creareCIDR_RANGE: il blocco CIDR IPv4 della subnet che vuoi migrareNETWORK_NAME: il nome della rete in cui creare l'intervallo internoSOURCE_SUBNET: l'URI della subnet di origineTARGET_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 internoRANGE_NAME: il nome del nuovo intervallo internoCIDR_RANGE: il blocco CIDR IPv4 della subnet che vuoi migrareNETWORK_NAME: il nome della rete in cui creare l'intervallo internoSOURCE_SUBNET: l'URI della subnet di origineTARGET_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
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 VPCe imposta il tipo di peering suFor self.Nella console Google Cloud , vai alla pagina Reti VPC.
Fai clic sul nome di una rete VPC per visualizzare la pagina Dettagli rete VPC.
Fai clic su Aggiungi subnet. Nella finestra di dialogo visualizzata:
- Fornisci un nome.
- Seleziona una regione.
- Seleziona la casella di controllo Associa a un intervallo interno.
- Per Intervallo interno riservato, effettua una selezione.
- (Facoltativo) Per associare la subnet a una parte dell'intervallo interno, inserisci un intervallo IPv4.
- Fai clic su Aggiungi.
gcloud
- 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_VPCe imposta il tipo di peering suFOR_SELF. 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=REGIONSostituisci quanto segue:
SUBNET_NAME: il nome della subnet.PROJECT_ID: l'ID del progetto in cui creare la subnetRANGE_NAME: il nome dell'intervallo interno da associare alla subnetNETWORK_NAME: il nome della rete in cui creare la subnetREGION: 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=REGIONSostituisci
IP_RANGEcon 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.