Créer et utiliser des plages internes
Ce document explique comment créer, utiliser et supprimer des plages internes.
Les plages internes vous aident à gérer un espace d'adresses IP unifié sur les réseaux de cloud privé virtuel (VPC) en vous permettant d'allouer des blocs d'adresses IP internes et de spécifier comment ces blocs peuvent être utilisés.
Avant de commencer
- Pour utiliser les exemples de ligne de commande de ce guide, installez ou mettez à jour la dernière version de Google Cloud CLI.
- Vous devez activer l'API Network Connectivity dans votre projet.
- Identifiez ou créez un réseau VPC.
Rôles requis
Pour obtenir les autorisations nécessaires pour utiliser des plages internes, demandez à votre administrateur de vous accorder le rôle IAM administrateur de réseau Compute (roles/compute.networkAdmin
) sur votre projet.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.
Réserver des plages internes
Lorsque vous créez une plage interne, vous devez spécifier au moins deux éléments : les adresses IP à allouer et le réseau dans lequel allouer les adresses. Vous pouvez créer une plage interne IPv4 ou IPv6 (Preview) avec un bloc CIDR spécifique, ou laisser Google Cloud allouer automatiquement un bloc IPv4. Vous ne pouvez pas créer de plage interne IPv6 avec un bloc d'adresses alloué automatiquement.
Lorsque vous demandez un bloc CIDR IPv4 alloué automatiquement, vous fournissez une longueur de préfixe et un ou plusieurs blocs CIDR IPv4 cibles facultatifs. Si vous ne spécifiez pas de bloc CIDR cible, Google Cloud utilise les plages par défaut de 10.0.0.0/8
pour les réseaux VPC en mode personnalisé ou de 10.128.0.0/9
pour les réseaux VPC en mode automatique. Google Cloud tient compte des allocations d'adresses IP existantes et alloue à la plage interne un bloc CIDR libre de la taille choisie dans les blocs CIDR cibles. Vous pouvez affiner cette allocation en fournissant une liste facultative de blocs CIDR à exclure (Aperçu) à l'aide de la CLI gcloud ou en envoyant une requête API. Google Cloud attribue un bloc d'adresses IP à la plage interne qui ne se chevauche avec aucun bloc exclu. Vous ne pouvez pas modifier la liste des blocs exclus après avoir créé une plage interne.
Les plages internes IPv6 (Preview) vous permettent d'empêcher l'attribution automatique d'adresses IP aux nouveaux sous-réseaux IPv6 uniquement ou à double pile. Les plages internes IPv6 doivent avoir le type d'utilisation EXTERNAL_TO_VPC
et le type d'appairage FOR_SELF
. Vous devez inclure un bloc CIDR IPv6 spécifique, et le champ overlaps
doit être vide ou non spécifié.
Pour empêcher les utilisateurs de modifier le bloc CIDR ou la configuration de chevauchement d'une plage interne, vous pouvez créer une plage interne immuable (Preview). Les plages internes immuables empêchent toute modification de ces propriétés, mais vous pouvez toujours modifier la description. L'immuabilité ne peut pas être modifiée une fois la plage interne créée.
Par défaut, Google Cloud bloque la création de plages ou de ressources internes si elles partagent des adresses IP qui se chevauchent dans le même réseau VPC. Vous pouvez configurer une plage interne IPv4 pour permettre le chevauchement avec les plages d'adresses des routes, des sous-réseaux ou des deux. Vous ne pouvez pas créer de ressources Google Cloud qui utilisent des adresses IP d'une plage interne existante, sauf si vous associez explicitement la ressource à la plage interne (pour les sous-réseaux) ou configurez un chevauchement (pour les routes). Pour créer une plage interne avec chevauchement, utilisez Google Cloud CLI ou envoyez une requête API.
Console
Dans la console Google Cloud, accédez à la page Plages internes.
Cliquez sur Réserver une plage interne.
Saisissez un nom.
Facultatif: saisissez une description.
Sélectionnez une version IP.
- Si vous sélectionnez IPv4, procédez comme suit :
- Indiquez si la plage interne est immuable (Preview).
- Sélectionnez une méthode de réservation.
- Si vous sélectionnez Automatique, sélectionnez une longueur de préfixe, puis saisissez une plage d'adresses IP cible au format CIDR.
- Si vous sélectionnez Laissez-moi spécifier, saisissez une plage d'adresses IP au format CIDR.
- Sélectionnez un réseau.
- Sélectionnez un type d'appairage.
- Sélectionnez un type d'utilisation.
- Si vous sélectionnez IPv6 (Preview), procédez comme suit :
- Indiquez si la plage interne est immuable (Aperçu).
- Sélectionnez Me permettre de spécifier, puis saisissez un bloc CIDR IPv6 ou IPv6 mappé sur IPv4.
- Sélectionnez un réseau.
- Cliquez sur Appairage, puis sélectionnez Pour moi-même.
- Cliquez sur Utilisation, puis sélectionnez Externe au VPC.
- Si vous sélectionnez IPv4, procédez comme suit :
Cliquez sur Réserver.
gcloud
Pour réserver une plage interne pour un bloc CIDR IPv4 ou IPv6 (Preview) spécifique, utilisez la commande
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
Remplacez les éléments suivants :
RANGE_NAME
: nom de la nouvelle plage interneCIDR_RANGE
: bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4 à allouer à la nouvelle plage interne.- Si vous spécifiez un bloc IPv6 (Preview), vos options sont limitées comme suit :
- Le type
peering
est limité àFOR_SELF
. - Le type
usage
est limité àEXTERNAL_TO_VPC
.
- Le type
- Si vous spécifiez un bloc IPv6 (Preview), vos options sont limitées comme suit :
NETWORK_NAME
: nom du réseau dans lequel créer la plage interneDESCRIPTION
: description facultative de la plage internePEERING_TYPE
: type d'appairage de la plage interneLes options sont
FOR_SELF
,FOR_PEER
etNOT_SHARED
.FOR_SELF
est la valeur par défaut.USAGE_TYPE
: type d'utilisation de la plage interneLes options sont
FOR_VPC
,EXTERNAL_TO_VPC
etFOR_MIGRATION
. La valeur par défaut estFOR_VPC
.- Si vous utilisez l'option
FOR_MIGRATION
, vous devez également spécifier les sous-réseaux source et cible. Pour en savoir plus, consultez Réserver des plages internes IPv4 pour la migration de sous-réseaux.
- Si vous utilisez l'option
Pour réserver une plage interne IPv4 avec un bloc CIDR alloué automatiquement, utilisez la commande suivante:
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"
Remplacez les éléments suivants :
PREFIX_LENGTH
: longueur de préfixe des adresses IP allouéesTARGET_CIDR_RANGE
: bloc CIDR cible à partir duquel allouer un bloc d'adresses IPv4Vous pouvez saisir plusieurs blocs CIDR dans une liste séparée par des virgules. La valeur par défaut est
10.0.0.0/8
pour les réseaux VPC en mode personnalisé ou10.128.0.0/9
pour les réseaux VPC en mode automatique.
Si vous souhaitez exclure des plages d'adresses IP lorsque vous réservez une plage interne IPv4 avec un bloc CIDR alloué automatiquement (Aperçu), utilisez la commande suivante:
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
Remplacez
EXCLUDED_RANGES
par une liste séparée par une virgule d'un ou de plusieurs blocs CIDR IPv4 à exclure. Google Cloud alloue un bloc d'adresses IP à la plage interne qui ne se chevauche avec aucun bloc exclu. La liste ne peut pas être mise à jour une fois la plage interne créée.Pour réserver une plage interne IPv4 avec chevauchement, utilisez la commande suivante:
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
Remplacez
OVERLAPS
par le type de chevauchement à autoriser. Les options sontOVERLAP_EXISTING_SUBNET_RANGE
etOVERLAP_ROUTE_RANGE
. Vous pouvez inclure les deux valeurs dans une liste séparée par des virgules.Pour réserver une plage interne immuable (Preview), utilisez la commande suivante:
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
Pour réserver une plage interne pour un bloc CIDR IPv4 ou IPv6 (Preview) spécifique, envoyez une requête
POST
à la méthodeprojects.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" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent de la plage interneRANGE_NAME
: nom de la plage interneCIDR_RANGE
: bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4 à allouer à la plage interne- Si vous spécifiez un bloc IPv6 (Preview), vos options sont limitées comme suit :
- Le type
peering
est limité àFOR_SELF
. - Le type
usage
est limité àEXTERNAL_TO_VPC
.
- Le type
- Si vous spécifiez un bloc IPv6 (Preview), vos options sont limitées comme suit :
NETWORK_NAME
: nom du réseau dans lequel créer la plage interneDESCRIPTION
: description facultative de la nouvelle plage internePEERING_TYPE
: type d'appairage de la plage interneLes options sont
FOR_SELF
,FOR_PEER
etNOT_SHARED
.FOR_SELF
est la valeur par défaut.USAGE_TYPE
: type d'utilisation de la plage interneLes options sont
FOR_VPC
,EXTERNAL_TO_VPC
etFOR_MIGRATION
. La valeur par défaut estFOR_VPC
.- Si vous utilisez l'option
FOR_MIGRATION
, vous devez également spécifier les sous-réseaux source et cible. Pour en savoir plus, consultez Réserver des plages internes IPv4 pour la migration de sous-réseaux.
- Si vous utilisez l'option
Pour réserver une plage IPv4 interne avec un bloc CIDR alloué automatiquement, effectuez la requête suivante:
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" }
Remplacez les éléments suivants :
PREFIX_LENGTH
: longueur du préfixe CIDR pour le bloc d'adresses IP de la plageTARGET_CIDR_RANGE
: bloc CIDR cible à partir duquel allouer un bloc d'adresses IPv4Vous pouvez spécifier plusieurs plages CIDR dans un tableau JSON. La valeur par défaut est
10.0.0.0/8
pour les réseaux VPC en mode personnalisé ou10.128.0.0/9
pour les réseaux VPC en mode automatique.
Si vous souhaitez exclure des plages d'adresses IP lorsque vous réservez une plage interne IPv4 avec un bloc CIDR alloué automatiquement (Aperçu), effectuez la requête suivante:
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"] }
Remplacez
EXCLUDED_RANGE_1
etEXCLUDED_RANGE_2
par un ou plusieurs blocs CIDR IPv4 à exclure. Google Cloud alloue un bloc d'adresses IP à la plage interne qui ne chevauche aucun bloc exclu. La liste ne peut pas être mise à jour une fois la plage interne créée.Pour réserver une plage interne IPv4 avec chevauchement, effectuez la requête suivante:
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"] }
Remplacez
OVERLAPS
par le type de chevauchement à autoriser. Les options sontOVERLAP_EXISTING_SUBNET_RANGE
etOVERLAP_ROUTE_RANGE
. Vous pouvez inclure les deux valeurs dans un tableau JSON.Pour réserver une plage interne immuable (Preview), envoyez la requête suivante:
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 }
Réserver des plages internes IPv4 pour la migration de sous-réseaux
Vous pouvez utiliser une plage interne pour migrer une plage CIDR d'un sous-réseau à un autre. Pour en savoir plus, consultez Migrer des plages de sous-réseaux IPv4.
gcloud
Exécutez la commande 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
Remplacez les éléments suivants :
RANGE_NAME
: nom de la plage interne à créerCIDR_RANGE
: bloc CIDR IPv4 du sous-réseau que vous souhaitez migrerNETWORK_NAME
: nom du réseau dans lequel créer la plage interneSOURCE_SUBNET
: URI du sous-réseau sourceTARGET_SUBNET
: URI du sous-réseau cible
API
Envoyez une requête POST
à la méthode 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" } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent de la plage interneRANGE_NAME
: nom de la nouvelle plage interneCIDR_RANGE
: bloc CIDR IPv4 du sous-réseau que vous souhaitez migrerNETWORK_NAME
: nom du réseau dans lequel créer la plage interneSOURCE_SUBNET
: URI du sous-réseau sourceTARGET_SUBNET
: URI du sous-réseau cible
Créer des sous-réseaux avec des plages internes IPv4
Vous pouvez créer un sous-réseau IPv4 uniquement ou à double pile, et utiliser une plage interne pour spécifier la plage d'adresses IPv4 internes principales du sous-réseau. Le sous-réseau peut être associé à une plage interne entière ou à une partie de la plage. Les plages secondaires des sous-réseaux peuvent également être associées à des plages internes.
Console
Réservez une plage interne IPv4 dans le réseau où vous souhaitez créer un sous-réseau. Définissez le type d'utilisation de cette plage interne sur
For VPC
et le type d'appairage surFor self
.Dans la console Google Cloud, accédez à la page Réseaux VPC.
Cliquez sur le nom d'un réseau VPC pour afficher la page des détails du réseau VPC.
Cliquez sur Ajouter un sous-réseau. Dans la boîte de dialogue qui s'affiche:
- Indiquez un Nom.
- Sélectionnez une région.
- Cochez la case Associer à une plage interne.
- Pour Plage interne réservée, effectuez une sélection.
- Facultatif: Pour associer le sous-réseau à une partie de la plage interne, saisissez une plage IPv4.
- Cliquez sur Ajouter.
gcloud
- Réservez une plage interne IPv4 dans le réseau où vous souhaitez créer un sous-réseau. Définissez le type d'utilisation de cette plage interne sur
FOR_VPC
et le type d'appairage surFOR_SELF
. Effectuez l'une des opérations suivantes :
Pour créer un sous-réseau associé à une plage interne entière, utilisez la commande
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
Remplacez les éléments suivants :
SUBNET_NAME
: nom du sous-réseauPROJECT_ID
: ID du projet dans lequel créer le sous-réseauRANGE_NAME
: nom de la plage interne à associer au sous-réseauNETWORK_NAME
: nom du réseau dans lequel créer le sous-réseauREGION
: région dans laquelle créer le sous-réseau
Pour créer un sous-réseau associé à une partie d'une plage interne, utilisez la commande suivante:
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
Remplacez
IP_RANGE
par une plage CIDR IPv4 qui est un sous-ensemble de la plage interne.
Par exemple, les commandes suivantes créent un sous-réseau associé uniquement à la partie 10.9.1.0/24
d'une plage interne qui réserve le bloc CIDR 10.9.0.0/16
.
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- Réservez une plage interne IPv4 dans le réseau où vous souhaitez créer un sous-réseau. Définissez le type d'utilisation de cette plage interne sur
FOR_VPC
et le type d'appairage surFOR_SELF
. Effectuez l'une des opérations suivantes :
Pour créer un sous-réseau associé à une plage interne entière, envoyez une requête
POST
à la méthodesubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent du nouveau sous-réseauREGION
: région dans laquelle créer le sous-réseauSUBNET_NAME
: nom du nouveau sous-réseauPROJECT_ID
: ID du projet dans lequel créer un sous-réseauRANGE_NAME
: nom de la plage interne à utiliser pour le nouveau sous-réseauNETWORK
: nom du réseau dans lequel créer le sous-réseau
Pour créer un sous-réseau associé à une partie d'une plage interne, envoyez la requête suivante:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
Remplacez
IP_RANGE
par une plage CIDR IPv4 qui est un sous-ensemble de la plage interne.
Par exemple, les requêtes suivantes créent un sous-réseau associé uniquement à la partie 10.9.1.0/24
d'une plage interne contenant le bloc CIDR 10.9.0.0/16
.
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/v1/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
Créer des clusters GKE avec des plages internes IPv4
Vous pouvez utiliser des plages internes IPv4 pour allouer des adresses IP aux clusters de VPC natif de Google Kubernetes Engine (GKE).
gcloud
Créez les plages internes IPv4 suivantes à l'aide de la commande
gcloud network-connectivity internal-ranges create
.- Pour les nœuds GKE :
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- Pour les pods GKE :
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- Pour les services GKE :
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
Remplacez les éléments suivants :
NODE_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux nœuds GKEPOD_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux pods GKESERVICE_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux services GKENETWORK
: nom du réseau
Créez un sous-réseau avec les plages internes que vous avez créées à l'étape précédente à l'aide de la commande
gcloud compute networks subnets create
.gcloud compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
Remplacez les éléments suivants :
REGION
: la région du sous-réseau.PROJECT_ID
: ID du projet
Créez le cluster de VPC natif à l'aide de la commande
gcloud container clusters create
.gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
Remplacez
ZONE
par la zone du cluster.
API
Créez les plages internes suivantes en envoyant des requêtes
POST
à la méthodeprojects.locations.internalRanges.create
.- Pour les nœuds GKE :
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Pour les pods GKE :
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- Pour les services GKE :
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetNETWORK
: nom du réseauNODE_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux nœuds GKEPOD_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux pods GKESERVICE_PREFIX_LENGTH
: longueur de préfixe pour la plage interne associée aux services GKE
Créez un sous-réseau avec les plages internes que vous avez créées à l'étape précédente en envoyant une requête
POST
à la méthodesubnetworks.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetREGION
: la région du sous-réseau.NETWORK
: réseau du sous-réseau
Créez le cluster de VPC natif en envoyant une requête
POST
à la méthodeclusters.create
.POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projetZONE
: zone du clusterCLUSTER_NAME
: nom du nouveau clusterNETWORK
: réseau du cluster
Répertorier les plages internes
Vous pouvez lister les plages internes pour afficher toutes les plages internes de votre projet actuel ou d'un réseau VPC spécifique. Pour lister les projets dans un réseau VPC, utilisez Google Cloud CLI ou envoyez une requête API.
Console
Dans la console Google Cloud, accédez à la page Plages internes.
gcloud
Pour afficher toutes les plages internes de votre projet actuel, utilisez la commande
gcloud network-connectivity internal-ranges list
.gcloud network-connectivity internal-ranges list
Pour afficher toutes les plages internes d'un réseau VPC, utilisez la commande
internal-ranges list
et incluez un filtre.gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
Remplacez les éléments suivants :
NETWORK_NAME
: nom du réseau VPC dans lequel lister les plages internesPROJECT_ID
: ID du projet qui contient le réseau VPC.
API
Pour afficher toutes les plages internes d'un projet, envoyez une requête
GET
à la méthodeprojects.locations.internalRanges.list
.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
Remplacez
PROJECT_ID
par l'ID du projet dans lequel afficher les plages internes.Pour afficher toutes les plages internes d'un réseau VPC, envoyez une requête
GET
à la méthodeprojects.locations.internalRanges.list
et incluez un filtre.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
Remplacez
NETWORK_NAME
par le nom du réseau VPC dans lequel lister les plages internes.
Décrire les plages internes
Vous pouvez décrire une plage interne pour afficher les détails de la plage choisie, y compris les sous-réseaux qui lui sont associés.
Console
Dans la console Google Cloud, accédez à la page Plages internes.
Cliquez sur le Nom de la plage interne que vous souhaitez décrire.
gcloud
Utilisez la commande gcloud network-connectivity internal-ranges describe
.
gcloud network-connectivity internal-ranges describe RANGE_NAME
Remplacez RANGE_NAME
par le nom de la plage interne à décrire.
API
Envoyez une requête GET
à la méthode projects.locations.internalRanges.get
.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent de la plage interneRANGE_NAME
: nom de la plage interne à décrire
Mettre à jour les plages internes
Si une plage interne est immuable, vous ne pouvez modifier que la description. Si une plage interne est modifiable, vous pouvez étendre le bloc CIDR de la plage et mettre à jour sa propriété de chevauchement et sa description.
Pour étendre une plage interne, vous pouvez mettre à jour le bloc CIDR de la plage ou diminuer sa longueur de préfixe. Le bloc CIDR mis à jour doit contenir le bloc précédent.
Si vous souhaitez réduire la plage allouée ou modifier un autre élément, supprimez la plage interne et créez-en une autre.
Pour mettre à jour la propriété de chevauchement d'une plage interne IPv4, envoyez une requête API ou utilisez Google Cloud CLI.
Console
Dans la console Google Cloud, accédez à la page Plages internes.
Cliquez sur le nom de la plage interne que vous souhaitez mettre à jour.
Pour développer le bloc CIDR de la plage, cliquez sur Développer la plage, puis effectuez l'une des opérations suivantes:
- Pour les plages internes IPv4, cliquez sur Longueur de préfixe, puis procédez comme suit :
- Dans le champ Longueur de préfixe, sélectionnez une longueur de préfixe inférieure à celle du préfixe précédent.
- Cliquez sur Développer.
- Pour les plages internes IPv4 ou IPv6, cliquez sur Plage d'adresses IP, puis procédez comme suit :
- Saisissez un bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4. Le nouveau bloc doit contenir le précédent.
- Cliquez sur Développer.
- Pour les plages internes IPv4, cliquez sur Longueur de préfixe, puis procédez comme suit :
Pour mettre à jour la description de la plage, procédez comme suit:
- Cliquez sur Modifier la description.
- Saisissez une nouvelle description.
- Cliquez sur Enregistrer.
gcloud
Pour mettre à jour une plage interne, utilisez la commande
gcloud network-connectivity internal-ranges update
. Ignorez les options pour les propriétés que vous ne souhaitez pas modifier.gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --overlaps=OVERLAPS \ --description=DESCRIPTION
Remplacez les éléments suivants :
RANGE_NAME
: nom de la plage interneCIDR_RANGE
: bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4 développé, qui doit contenir le bloc précédentOVERLAPS
: type de chevauchement à autoriser (plages IPv4 uniquement)Les options sont
OVERLAP_EXISTING_SUBNET_RANGE
etOVERLAP_ROUTE_RANGE
. Vous pouvez inclure les deux valeurs dans une liste séparée par des virgules. Pour désactiver le chevauchement, incluez l'indicateur, mais ne spécifiez pas de valeur (--overlaps=
).DESCRIPTION
: description mise à jour
Pour étendre une plage interne en diminuant sa longueur de préfixe, utilisez la commande suivante:
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
Remplacez
PREFIX_LENGTH
par la longueur de préfixe mise à jour, qui doit être inférieure à la longueur de préfixe précédente.
API
Pour étendre une plage interne en mettant à jour sa plage CIDR, envoyez une requête
PATCH
à la méthodeprojects.locations.internalRanges.patch
.PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent de la plage interneRANGE_NAME
: nom de la plage interneCIDR_RANGE
: bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4 développé, qui doit contenir le bloc précédent
Pour étendre une plage interne en diminuant sa longueur de préfixe, effectuez la requête suivante:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
Remplacez
PREFIX_LENGTH
par la longueur du préfixe mise à jour, qui doit être inférieure à la longueur du préfixe précédent.Pour mettre à jour la propriété de chevauchement d'une plage interne IPv4, envoyez la requête suivante:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=overlaps { "overlaps": ["OVERLAPS"] }
Remplacez
OVERLAPS
par le type de chevauchement à autoriser. Les options sontOVERLAP_EXISTING_SUBNET_RANGE
etOVERLAP_ROUTE_RANGE
. Vous pouvez inclure les deux valeurs dans un tableau JSON. Pour désactiver le chevauchement, incluez le champ, mais ne spécifiez pas de valeur ("overlaps": []
).Pour mettre à jour la description d'une plage interne, envoyez la requête suivante:
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=description { "description": "DESCRIPTION" }
Remplacez
DESCRIPTION
par la description mise à jour.
Supprimer des plages internes
Vous pouvez supprimer une plage interne si elle n'est pas associée à une Google Cloud ressource telle qu'un sous-réseau. Pour supprimer une plage interne associée à une ressource Google Cloud , commencez par supprimer la ressource associée.
Console
Dans la console Google Cloud, accédez à la page Plages internes.
Cliquez sur le nom de la plage interne que vous souhaitez supprimer.
Cliquez sur Supprimer.
Pour confirmer l'opération, cliquez sur Supprimer.
gcloud
Exécutez la commande gcloud network-connectivity internal-ranges delete
.
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
Remplacez RANGE_TO_DELETE
par le nom de la plage interne à supprimer.
API
Envoyez une requête DELETE
à la méthode projects.locations.internalRanges.delete
.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet parent de la plage interneRANGE_NAME
: nom de la plage interne