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 (roles/compute.networkAdmin) administrateur de réseau Compute sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Créer des plages internes

Lorsque vous créez une plage interne, vous spécifiez au moins deux adresses: les adresses IP à allouer et le réseau dans lequel allouer les adresses. Vous pouvez créer une plage interne avec une plage CIDR précise ou laisser Google Cloud la choisir automatiquement.

Créer une plage interne pour un bloc CIDR spécifique

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. Dans la section Méthode de réservation, sélectionnez Laissez-moi spécifier.

  6. Dans le champ Plage d'adresses IP, saisissez la plage d'adresses IP de la plage interne au format CIDR.

  7. Sélectionnez un réseau.

  8. Sélectionnez un type d'appairage.

  9. Sélectionnez un type d'utilisation.

  10. Cliquez sur Réserver.

gcloud

Utilisez la commande 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 : plage CIDR à allouer à la nouvelle plage interne.
  • 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 et EXTERNAL_TO_VPC. FOR_VPC est la valeur par défaut.

API

Envoyez une requête POST à la méthode 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 pour la plage interne.
  • RANGE_NAME: nom de la plage interne.
  • CIDR_RANGE: plage CIDR à allouer à la plage interne.
  • 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 et EXTERNAL_TO_VPC. FOR_VPC est la valeur par défaut.

Créer une plage interne avec un bloc CIDR alloué automatiquement

Lorsque vous créez une plage interne avec un bloc CIDR alloué automatiquement, vous spécifiez une longueur de préfixe et une ou plusieurs plages CIDR cibles. Google Cloud tient compte de toutes les allocations d'adresses IP existantes et alloue un bloc libre d'adresses IP de la taille choisie dans les plages CIDR cibles.

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. Dans la section Méthode de réservation, sélectionnez Automatique.

  6. Sélectionnez une longueur de préfixe.

  7. Dans le champ Plage d'adresses IP cible 1, saisissez une plage d'adresses IP à partir de laquelle allouer des adresses IP. Vous pouvez spécifier plusieurs plages d'adresses IP en cliquant sur Ajouter une plage d'adresses IP cible et en saisissant chaque plage.

  8. Sélectionnez un réseau.

  9. Sélectionnez un type d'appairage.

  10. Sélectionnez un type d'utilisation.

  11. Cliquez sur Réserver.

gcloud

Exécutez la commande internal-ranges create.

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 :

  • RANGE_NAME: nom de la plage interne.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.
  • PREFIX_LENGTH: longueur du préfixe des adresses IP allouées.
  • TARGET_CIDR_RANGE: plage CIDR cible à partir de laquelle allouer un bloc d'adresses IP. Vous pouvez saisir plusieurs plages 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.
  • 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 et EXTERNAL_TO_VPC. FOR_VPC est la valeur par défaut.
  • DESCRIPTION: description facultative de la nouvelle plage interne.

API

Envoyez une requête POST à la méthode internalRanges.create.

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet parent pour la plage interne.
  • RANGE_NAME: nom de la plage interne.
  • PREFIX_LENGTH: longueur du préfixe CIDR pour le bloc d'adresses IP de la plage.
  • TARGET_RANGE: plage CIDR cible à partir de laquelle allouer un bloc d'adresses IP. 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.
  • 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 et EXTERNAL_TO_VPC. FOR_VPC est la valeur par défaut.

Réserver des plages internes

La création de plages internes avec le type d'utilisation et le type d'appairage définis correctement permet à Google Cloud de s'assurer que les adresses IP allouées sont utilisées comme prévu. Les plages internes sont réservées à l'utilisation en fonction des paramètres que vous choisissez pour les types d'utilisation et d'appairage.

Réserver une plage interne pour un réseau sur site

Vous pouvez créer une plage interne réservée à une utilisation sur site uniquement. Lorsque vous réservez une plage pour une utilisation sur site, Google Cloud ne vous permet pas de créer des sous-réseaux ou des routes dans le réseau VPC parent si la nouvelle ressource est en conflit avec la plage réservée.

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. Dans la section Méthode de réservation, sélectionnez Laissez-moi spécifier.

  6. Dans le champ Plage d'adresses IP, saisissez la plage d'adresses IP de la plage interne au format CIDR.

  7. Sélectionnez un réseau.

  8. Cliquez sur Appairage, puis sélectionnez Non partagé.

  9. Cliquez sur Utilisation, puis sélectionnez Externe au VPC.

  10. Cliquez sur Réserver.

gcloud

Exécutez la commande internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --description="reserved for on-premises" \
    --usage=EXTERNAL_TO_VPC \
    --peering=NOT_SHARED

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne à réserver pour une utilisation sur site.
  • CIDR_RANGE: plage CIDR à allouer pour une utilisation sur site.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

API

Envoyez une requête POST à la méthode internalRanges.create.

POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
{
  "ipCidrRange": "CIDR_RANGE",
  "network": "NETWORK_NAME",
  "description": "reserved for on-premises use",
  "usage": "EXTERNAL_TO_VPC",
  "peering": "NOT_SHARED"
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet parent pour la plage interne.
  • RANGE_NAME: nom de la nouvelle plage interne.
  • CIDR_RANGE: longueur du préfixe CIDR pour le bloc d'adresses IP de la plage.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

Réserver une plage interne pour les réseaux de pairs

Vous pouvez créer une plage interne réservée aux réseaux VPC appairés. Lorsque vous réservez une plage pour des réseaux VPC appairés, aucune ressource du réseau VPC parent de la plage ne peut l'utiliser. Seuls les réseaux VPC de pairs et de pairs à pairs sont autorisés à utiliser la plage.

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. Dans la section Méthode de réservation, sélectionnez Laissez-moi spécifier.

  6. Dans le champ Plage d'adresses IP, saisissez la plage d'adresses IP de la plage interne au format CIDR.

  7. Sélectionnez un réseau.

  8. Cliquez sur Appairage, puis sélectionnez Pour l'appairage.

  9. Cliquez sur Utilisation, puis sélectionnez Pour le VPC.

  10. Cliquez sur Réserver.

gcloud

Utilisez la commande internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --target-cidr-range=TARGET_CIDR_RANGE \
    --prefix-length=PREFIX_LENGTH \
    --network=NETWORK_NAME \
    --peering=FOR_PEER \
    --usage=FOR_VPC

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne à réserver pour les réseaux de pairs uniquement.
  • TARGET_CIDR_RANGE: plage CIDR cible à partir de laquelle allouer un bloc d'adresses IP. Vous pouvez spécifier plusieurs plages 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.
  • PREFIX_LENGTH: longueur du préfixe des adresses IP allouées.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

API

Envoyez une requête POST à la méthode internalRanges.create.

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",
  "peering": "FOR_PEER",
  "usage": "FOR_VPC"
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet parent pour la plage interne.
  • RANGE_NAME: nom de la plage interne.
  • PREFIX_LENGTH: longueur du préfixe CIDR pour le bloc d'adresses IP de la plage.
  • TARGET_CIDR_RANGE: plage CIDR à partir de laquelle allouer un bloc d'adresses IP. 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.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

Réserver une plage interne pour un réseau VPC local

Vous pouvez créer une plage interne réservée pour un réseau VPC local uniquement. La plage réservée n'est pas annoncée par les réseaux VPC pairs, et les réseaux VPC appairés ne peuvent pas utiliser la plage interne de manière visible par le réseau VPC parent.

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. Dans la section Méthode de réservation, sélectionnez Laissez-moi spécifier.

  6. Dans le champ Plage d'adresses IP, saisissez la plage d'adresses IP de la plage interne au format CIDR.

  7. Sélectionnez un réseau.

  8. Cliquez sur Appairage, puis sélectionnez Non partagé.

  9. Cliquez sur Utilisation, puis sélectionnez Pour le VPC.

  10. Cliquez sur Réserver.

gcloud

Exécutez la commande internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE \
    --network=NETWORK_NAME \
    --peering=NOT_SHARED \
    --usage=FOR_VPC

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne à réserver pour une utilisation dans un réseau VPC local.
  • CIDR_RANGE: longueur du préfixe CIDR pour le bloc d'adresses IP de la plage.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

API

Envoyez une requête POST à la méthode internalRanges.create.

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

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet parent pour la plage interne.
  • RANGE_NAME: nom de la nouvelle plage interne.
  • CIDR_RANGE: longueur du préfixe CIDR pour le bloc d'adresses IP de la plage.
  • NETWORK_NAME: nom du réseau dans lequel créer la plage interne.

Créer des sous-réseaux avec des plages internes

Vous pouvez créer un sous-réseau et utiliser une plage interne pour spécifier la plage d'adresses IP internes du sous-réseau. Le sous-réseau peut être associé à une plage interne entière ou seulement à une partie de la plage. Les plages secondaires des sous-réseaux peuvent également être associées à des plages internes.

Pour créer un sous-réseau associé à une plage interne, utilisez Google Cloud CLI ou envoyez une requête API.

Créer un sous-réseau qui utilise l'ensemble d'une plage interne

Pour créer un sous-réseau qui utilise une plage interne complète pour sa plage d'adresses IP internes, procédez comme suit :

gcloud

  1. Créez une plage interne dans le réseau sur lequel vous souhaitez créer un sous-réseau. Définissez le type d'utilisation sur cette plage interne sur FOR_VPC, et le type d'appairage sur FOR_SELF.
  2. Exécutez la commande subnets create.

    gcloud beta 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.

API

  1. Créez une plage interne dans le réseau sur lequel vous souhaitez créer un sous-réseau. Définissez le type d'utilisation sur cette plage interne sur FOR_VPC, et le type d'appairage sur FOR_SELF.
  2. Envoyez une requête POST à la méthode subnetworks.insert.

    POST https://compute.googleapis.com/compute/beta/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 pour le 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.

Créer un sous-réseau qui utilise une partie d'une plage interne

Pour créer un sous-réseau qui utilise une partie d'une plage interne pour sa plage d'adresses IP internes, procédez comme suit :

gcloud

  1. Créez une plage interne dans le réseau sur lequel vous souhaitez créer un sous-réseau. Définissez le type d'utilisation sur cette plage interne sur FOR_VPC, et le type d'appairage sur FOR_SELF.
  2. Exécutez la commande subnets create.

    gcloud beta 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 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 nouveau sous-réseau.
    • IP_RANGE: plage CIDR qui constitue un sous-ensemble de la plage interne.
    • 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.

Par exemple, les deux 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 beta 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. Créez une plage interne dans le réseau sur lequel vous souhaitez créer un sous-réseau. Définissez le type d'utilisation sur cette plage interne sur FOR_VPC, et le type d'appairage sur FOR_SELF.
  2. Envoyez une requête POST à la méthode subnetworks.insert.

    POST https://compute.googleapis.com/compute/beta/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 les éléments suivants :

    • PROJECT_ID: ID du projet parent pour le nouveau sous-réseau.
    • REGION : région dans laquelle créer le sous-réseau.
    • 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 nouveau sous-réseau.
    • IP_RANGE: plage CIDR qui constitue un sous-ensemble de la plage interne choisie.
    • NETWORK: nom du réseau dans lequel créer le sous-réseau.

Par exemple, les deux 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/beta/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

Vous pouvez utiliser des plages internes pour allouer des adresses IP aux clusters de VPC natif de Google Kubernetes Engine (GKE).

Pour créer un cluster de VPC natif avec des plages internes, utilisez Google Cloud CLI ou envoyez une requête API.

gcloud

  1. Créez les plages internes suivantes à l'aide de la commande 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 du préfixe de la plage interne associée aux nœuds GKE.
    • POD_PREFIX_LENGTH: longueur du préfixe de la plage interne associée aux pods GKE.
    • SERVICE_PREFIX_LENGTH: longueur du préfixe de 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 subnets create.

    gcloud beta 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 :

    • NETWORK : nom du réseau.
    • REGION : région du sous-réseau.
    • PROJECT_ID : ID du projet
  3. Créez le cluster de VPC natif à l'aide de la commande 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
    

API

  1. Créez les plages internes suivantes en envoyant des requêtes POST à la méthode 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 du préfixe de la plage interne associée aux nœuds GKE.
    • POD_PREFIX_LENGTH: longueur du préfixe de la plage interne associée aux pods GKE.
    • SERVICE_PREFIX_LENGTH: longueur du préfixe de 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/beta/projects/PROJECT_ID/regions/REGION/subnetworks
    {
      "name": "gke-subnet-1",
      "network": "https://compute.googleapis.com/compute/beta/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 : 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 répertorier les plages internes pour afficher toutes les plages internes de votre projet actuel ou d'un réseau VPC spécifique. Pour répertorier les projets d'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 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 répertorier 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 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 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 répertorier les plages internes.

Décrire une plage interne

Vous pouvez décrire une plage interne pour afficher les détails de la plage choisie, y compris les sous-réseaux associés à la plage interne.

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 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 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 pour la plage interne.
  • RANGE_NAME: nom de la plage interne à décrire.

Étendre une plage interne

Vous pouvez étendre la plage d'adresses IP allouée à une ressource de plage interne, mais il n'est pas possible de la réduire. La plage mise à jour doit contenir la plage précédente. Si vous souhaitez affiner la plage allouée ou modifier un autre élément, supprimez la plage interne et créez-en une nouvelle.

Étendre la plage CIDR d'une plage interne

Pour étendre une plage interne en mettant à jour sa plage CIDR d'adresses IP, procédez comme suit :

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. Cliquez sur Étendre la plage.

  4. Cliquez sur Plage d'adresses IP.

  5. Saisissez une nouvelle plage d'adresses IP, qui doit contenir la plage précédente.

  6. Cliquez sur Développer.

gcloud

Utilisez la commande internal-ranges update.

gcloud network-connectivity internal-ranges update RANGE_NAME \
    --ip-cidr-range=CIDR_RANGE

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne.
  • CIDR_RANGE: plage CIDR mise à jour, qui doit contenir la plage précédente.

API

Envoyez une requête PATCH à la méthode 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 pour la plage interne.
  • RANGE_NAME: nom de la plage interne.
  • CIDR_RANGE: plage CIDR mise à jour, qui doit contenir la plage précédente.

Étendre une plage interne en diminuant sa longueur de préfixe

Pour étendre une plage interne en diminuant sa longueur de préfixe, procédez comme suit :

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. Cliquez sur Étendre la plage.

  4. Cliquez sur Longueur du préfixe.

  5. Dans la liste Longueur de préfixe, sélectionnez une longueur de préfixe inférieure à la longueur du préfixe existante.

  6. Cliquez sur Développer.

gcloud

Utilisez la commande internal-ranges update.

gcloud network-connectivity internal-ranges update RANGE_NAME \
    --prefix-length=PREFIX_LENGTH

Remplacez les éléments suivants :

  • RANGE_NAME: nom de la plage interne.
  • PREFIX_LENGTH: longueur du préfixe mis à jour, qui doit être inférieure à la longueur de préfixe précédente.

API

Envoyez une requête PATCH à la méthode internalRanges.patch.

PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength
{
  "prefixLength": PREFIX_LENGTH
}

Remplacez les éléments suivants :

  • PROJECT_ID: ID du projet parent pour la plage interne.
  • RANGE_NAME: nom de la plage interne.
  • PREFIX_LENGTH: longueur du préfixe mis à jour, qui doit être inférieure à la longueur de préfixe précédente.

Supprimer une plage interne

Vous pouvez supprimer une plage interne si elle n'est pas associée à une ressource Google Cloud, 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

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