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

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

  1. Dans la console Google Cloud, accédez à la page Plages internes.

    Accéder à la page "Plages internes"

  2. Cliquez sur Réserver une plage interne.

  3. Saisissez un nom.

  4. Facultatif: saisissez une description.

  5. Sélectionnez une version IP.

    • Si vous sélectionnez IPv4, procédez comme suit :
      1. Indiquez si la plage interne est immuable (Preview).
      2. 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.
      3. Sélectionnez un réseau.
      4. Sélectionnez un type d'appairage.
      5. Sélectionnez un type d'utilisation.
    • Si vous sélectionnez IPv6 (Preview), procédez comme suit :
      1. Indiquez si la plage interne est immuable (Aperçu).
      2. Sélectionnez Me permettre de spécifier, puis saisissez un bloc CIDR IPv6 ou IPv6 mappé sur IPv4.
      3. Sélectionnez un réseau.
      4. Cliquez sur Appairage, puis sélectionnez Pour moi-même.
      5. Cliquez sur Utilisation, puis sélectionnez Externe au VPC.
  6. 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 interne
    • CIDR_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.
    • NETWORK_NAME: nom du réseau dans lequel créer la plage interne
    • DESCRIPTION: description facultative de la plage interne
    • PEERING_TYPE: type d'appairage de la plage interne

      Les options sont FOR_SELF, FOR_PEER et NOT_SHARED. FOR_SELF est la valeur par défaut.

    • USAGE_TYPE: type d'utilisation de la plage interne

      Les options sont FOR_VPC, EXTERNAL_TO_VPC et FOR_MIGRATION. La valeur par défaut est FOR_VPC.

  • 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ées
    • TARGET_CIDR_RANGE: bloc CIDR cible à partir duquel allouer un bloc d'adresses IPv4

      Vous 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é ou 10.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 sont OVERLAP_EXISTING_SUBNET_RANGE et OVERLAP_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é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",
      "description": "DESCRIPTION",
      "peering": "PEERING_TYPE",
      "usage": "USAGE_TYPE"
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID: ID du projet parent de la plage interne
    • RANGE_NAME: nom de la plage interne
    • CIDR_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.
    • NETWORK_NAME: nom du réseau dans lequel créer la plage interne
    • DESCRIPTION: description facultative de la nouvelle plage interne
    • PEERING_TYPE: type d'appairage de la plage interne

      Les options sont FOR_SELF, FOR_PEER et NOT_SHARED. FOR_SELF est la valeur par défaut.

    • USAGE_TYPE: type d'utilisation de la plage interne

      Les options sont FOR_VPC, EXTERNAL_TO_VPC et FOR_MIGRATION. La valeur par défaut est FOR_VPC.

  • 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 plage
    • TARGET_CIDR_RANGE: bloc CIDR cible à partir duquel allouer un bloc d'adresses IPv4

      Vous 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é ou 10.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 et EXCLUDED_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 sont OVERLAP_EXISTING_SUBNET_RANGE et OVERLAP_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éer
  • CIDR_RANGE: bloc CIDR IPv4 du sous-réseau que vous souhaitez migrer
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne
  • SOURCE_SUBNET: URI du sous-réseau source
  • TARGET_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 interne
  • RANGE_NAME: nom de la nouvelle plage interne
  • CIDR_RANGE: bloc CIDR IPv4 du sous-réseau que vous souhaitez migrer
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne
  • SOURCE_SUBNET: URI du sous-réseau source
  • TARGET_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

  1. 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 sur For self.

  2. Dans la console Google Cloud, accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  3. Cliquez sur le nom d'un réseau VPC pour afficher la page des détails du réseau VPC.

  4. Cliquez sur Ajouter un sous-réseau. Dans la boîte de dialogue qui s'affiche:

    1. Indiquez un Nom.
    2. Sélectionnez une région.
    3. Cochez la case Associer à une plage interne.
    4. Pour Plage interne réservée, effectuez une sélection.
    5. Facultatif: Pour associer le sous-réseau à une partie de la plage interne, saisissez une plage IPv4.
    6. Cliquez sur Ajouter.

gcloud

  1. 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 sur FOR_SELF.
  2. 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éseau
      • PROJECT_ID: ID du projet dans lequel créer le sous-réseau
      • RANGE_NAME: nom de la plage interne à associer au sous-réseau
      • NETWORK_NAME: nom du réseau dans lequel créer le sous-réseau
      • REGION: 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

  1. 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 sur FOR_SELF.
  2. 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éthode subnetworks.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éseau
      • REGION: région dans laquelle créer le sous-réseau
      • SUBNET_NAME: nom du nouveau sous-réseau
      • PROJECT_ID: ID du projet dans lequel créer un sous-réseau
      • RANGE_NAME: nom de la plage interne à utiliser pour le nouveau sous-réseau
      • NETWORK: 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

  1. Créez les plages internes IPv4 suivantes à l'aide de la commande gcloud network-connectivity internal-ranges create.

    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
    
    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 GKE
    • POD_PREFIX_LENGTH: longueur de préfixe pour la plage interne associée aux pods GKE
    • SERVICE_PREFIX_LENGTH: longueur de préfixe pour la plage interne associée aux services GKE
    • NETWORK : nom du réseau
  2. 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
  3. 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

  1. Créez les plages internes suivantes en envoyant des requêtes POST à la méthode projects.locations.internalRanges.create.

    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"
    }
    
    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 projet
    • NETWORK : nom du réseau
    • NODE_PREFIX_LENGTH: longueur de préfixe pour la plage interne associée aux nœuds GKE
    • POD_PREFIX_LENGTH: longueur de préfixe pour la plage interne associée aux pods GKE
    • SERVICE_PREFIX_LENGTH: longueur de préfixe pour la plage interne associée aux services GKE
  2. 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éthode subnetworks.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 projet
    • REGION : la région du sous-réseau.
    • NETWORK: réseau du sous-réseau
  3. Créez le cluster de VPC natif en envoyant une requête POST à la méthode clusters.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 projet
    • ZONE: zone du cluster
    • CLUSTER_NAME : nom du nouveau cluster
    • NETWORK: 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

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 internes
    • PROJECT_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éthode projects.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éthode projects.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

  1. Dans la console Google Cloud, accédez à la page Plages internes.

    Accéder à la page "Plages internes"

  2. 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 interne
  • RANGE_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

  1. Dans la console Google Cloud, accédez à la page Plages internes.

    Accéder à la page "Plages internes"

  2. Cliquez sur le nom de la plage interne que vous souhaitez mettre à jour.

  3. 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 :
      1. Dans le champ Longueur de préfixe, sélectionnez une longueur de préfixe inférieure à celle du préfixe précédent.
      2. Cliquez sur Développer.
    • Pour les plages internes IPv4 ou IPv6, cliquez sur Plage d'adresses IP, puis procédez comme suit :
      1. Saisissez un bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4. Le nouveau bloc doit contenir le précédent.
      2. Cliquez sur Développer.
  4. Pour mettre à jour la description de la plage, procédez comme suit:

    1. Cliquez sur Modifier la description.
    2. Saisissez une nouvelle description.
    3. 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 interne
    • CIDR_RANGE: bloc CIDR IPv4, IPv6 ou IPv6 mappé sur IPv4 développé, qui doit contenir le bloc précédent
    • OVERLAPS: type de chevauchement à autoriser (plages IPv4 uniquement)

      Les options sont OVERLAP_EXISTING_SUBNET_RANGE et OVERLAP_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éthode projects.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 interne
    • RANGE_NAME: nom de la plage interne
    • CIDR_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 sont OVERLAP_EXISTING_SUBNET_RANGE et OVERLAP_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

  1. Dans la console Google Cloud, accédez à la page Plages internes.

    Accéder à la page "Plages internes"

  2. Cliquez sur le nom de la plage interne que vous souhaitez supprimer.

  3. Cliquez sur Supprimer.

  4. 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 interne
  • RANGE_NAME: nom de la plage interne