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 Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises avec 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 avec un bloc CIDR spécifique, ou laisser Cloud de Confiance by S3NS 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, Cloud de Confiance utilise les plages cibles par défaut suivantes :

  • Pour les réseaux VPC en mode personnalisé, les plages par défaut sont 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16.
  • Pour les réseaux VPC en mode automatique, les plages par défaut sont 10.0.0.0/9, 172.16.0.0/12 et 192.168.0.0/16.

Cloud de Confiance 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.Cloud de Confiance alloue un bloc d'adresses IP à la plage interne qui ne chevauche aucun bloc exclu. La liste des blocs exclus ne peut pas être mise à jour après la création d'une plage interne.

Pour contrôler la méthode utilisée par Cloud de Confiance pour sélectionner automatiquement un bloc libre, vous pouvez spécifier une stratégie d'allocation. Si vous ne spécifiez pas de stratégie d'allocation, Cloud de Confiancealloue de manière aléatoire une plage d'adresses IP libre dans les blocs CIDR cibles (ou la plage par défaut, si aucun bloc CIDR cible n'est spécifié).

Les plages IPv6 internes vous permettent d'empêcher l'attribution automatique d'adresses IP aux nouveaux sous-réseaux IPv6 uniquement ou à double pile. Les plages IPv6 internes 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 mettre à jour le bloc CIDR ou la configuration de chevauchement d'une plage interne, vous pouvez créer une plage interne immuable. Les plages internes immuables empêchent les modifications de ces propriétés, mais vous pouvez toujours mettre à jour la description. L'immuabilité ne peut pas être modifiée après la création de la plage interne.

Par défaut, Cloud de Confiance by S3NS 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 autoriser le chevauchement avec les plages d'adresses des sous-réseaux existants, des routes nouvelles et existantes, ou les deux. Vous ne pouvez pas créer de ressources Cloud de Confiance 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 si vous configurez le chevauchement (pour les routes).

Pour obtenir des exemples de cas d'utilisation de plages internes avec différentes combinaisons d'objectifs, d'appairage et d'utilisation, consultez Exemples de cas d'utilisation.

Console

  1. Dans la console Cloud de Confiance , 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. Pour Objectif, sélectionnez Sous-réseau VPC ou Adresses internes.

  6. Sélectionnez une version d'adresse IP :

    • Pour une plage interne IPv4, procédez comme suit :

      1. Indiquez si la plage interne est immuable.
      2. Sélectionnez une méthode de réservation.

        • Si vous sélectionnez Automatique, procédez comme suit :

          1. Sélectionnez un algorithme d'allocation.
          2. Sélectionnez une longueur de préfixe.
          3. Saisissez une plage d'adresses IP cible. Vous pouvez ajouter plusieurs plages cibles.
          4. Facultatif : cliquez sur Ajouter une plage à exclure, puis saisissez une plage d'adresses IP à exclure. Vous pouvez ajouter plusieurs plages d'exclusion.

            Cloud de Confiance alloue un bloc d'adresses IP à la plage interne qui ne chevauche aucune plage exclue. Cette liste ne peut pas être mise à jour après la création de la plage interne.

        • 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.

        Si la plage interne est définie sur Adresses internes, sélectionnez Pour soi.

      5. Sélectionnez un type d'utilisation.

      6. Dans la section Chevauchements autorisés, indiquez si la plage interne peut chevaucher des sous-réseaux existants, des routes nouvelles et existantes, ou les deux.

        Cette option n'est pas disponible si la plage interne est définie sur Adresses internes.

    • Pour une plage interne IPv6, procédez comme suit :

      1. Indiquez si la plage interne est immuable.
      2. Sélectionnez Me laisser spécifier, puis saisissez un bloc CIDR IPv6 ou IPv6 mappé IPv4.
      3. Sélectionnez un réseau.
      4. Dans le champ Appairage, sélectionnez Pour soi.
      5. Dans le champ Utilisation, sélectionnez Externe au VPC.
  7. Cliquez sur Réserver.

gcloud

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

  • Pour réserver une plage interne pour un bloc CIDR IPv4 ou IPv6 spécifique, 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
    

    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, vous devez procéder comme suit :
        • Définissez le type de peering sur FOR_SELF.
        • Définissez le type de usage sur 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 IPv4 interne 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" \
        --allocation-strategy=ALLOCATION_STRATEGY
        [--first-available-ranges-lookup-size=FIRST_N_LOOKUP_SIZE]
    

    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

      • Pour les réseaux VPC en mode personnalisé, les blocs CIDR par défaut sont 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16.
      • Pour les réseaux VPC en mode automatique, les blocs CIDR par défaut sont 10.0.0.0/9, 172.16.0.0/12 et 192.168.0.0/16.

      Vous pouvez saisir plusieurs blocs CIDR dans une liste d'éléments séparés par une virgule.

    • ALLOCATION_STRATEGY : stratégie d'allocation que vous souhaitez utiliser pour le bloc CIDR de cette plage interne.

      Les options sont RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE et FIRST_SMALLEST_FITTING. La valeur par défaut est RANDOM.

    • FIRST_N_LOOKUP_SIZE : pour la stratégie d'allocation RANDOM_FIRST_N_AVAILABLE, nombre de blocs CIDR libres à trouver avant d'en déterminer un de manière aléatoire.

      N'incluez cette option que si vous choisissez la stratégie d'allocation RANDOM_FIRST_N_AVAILABLE.

  • Si vous souhaitez exclure des plages d'adresses IP lors de la réservation d'une plage interne IPv4 avec un bloc CIDR à allocation automatique, 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 d'un ou de plusieurs blocs CIDR IPv4 à exclure, séparés par une virgule. Cloud de Confiance alloue un bloc d'adresses IP à la plage interne qui ne chevauche aucun bloc exclu. La liste ne peut pas être mise à jour après la création de la plage interne.

  • Pour réserver une plage IPv4 interne 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 d'éléments séparés par une virgule.

  • Pour réserver une plage interne immuable, 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
    
  • Pour réserver une plage interne à utiliser avec les points de terminaison Private Service Connect pour les API Google, utilisez la commande suivante. Vous ne pouvez pas utiliser l'option --overlaps avec l'objectif INTERNAL_ADDRESS.

    Lorsque vous choisissez la plage, tenez compte des exigences concernant les adresses IP pour les points de terminaison Private Service Connect qui ciblent les API Google.

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --ip-cidr-range=CIDR_RANGE \
        --network=NETWORK_NAME \
        --description="DESCRIPTION" \
        --peering=FOR_SELF \
        --usage=FOR_VPC \
        --purpose=INTERNAL_ADDRESS
    

API

  • Pour réserver une plage interne pour un bloc CIDR IPv4 ou IPv6 spécifique, envoyez une requête POST à la méthode projects.locations.internalRanges.create.

    POST https://networkconnectivity.s3nsapis.fr/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, vous devez procéder comme suit :
        • Définissez le type de peering sur FOR_SELF.
        • Définissez le type de usage sur 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 interne IPv4 avec un bloc CIDR alloué automatiquement, exécutez la requête suivante :

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

    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

      • Pour les réseaux VPC en mode personnalisé, les blocs CIDR par défaut sont 10.0.0.0/8, 172.16.0.0/12 et 192.168.0.0/16.
      • Pour les réseaux VPC en mode automatique, les blocs CIDR par défaut sont 10.0.0.0/9, 172.16.0.0/12 et 192.168.0.0/16.

      Vous pouvez spécifier plusieurs blocs CIDR dans un tableau JSON.

    • ALLOCATION_STRATEGY : stratégie d'allocation que vous souhaitez utiliser pour le bloc CIDR de cette plage interne.

      Les options sont RANDOM, FIRST_AVAILABLE, RANDOM_FIRST_N_AVAILABLE et FIRST_SMALLEST_FITTING. La valeur par défaut est RANDOM.

    • FIRST_N_LOOKUP_SIZE : pour la stratégie d'allocation RANDOM_FIRST_N_AVAILABLE, nombre de blocs CIDR libres à trouver avant d'en déterminer un de manière aléatoire

      N'incluez ce champ que si vous choisissez la stratégie d'allocation RANDOM_FIRST_N_AVAILABLE.

  • Si vous souhaitez exclure des plages d'adresses IP lors de la réservation d'une plage interne IPv4 avec un bloc CIDR alloué automatiquement, effectuez la requête suivante :

    POST https://networkconnectivity.s3nsapis.fr/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. Cloud de Confiance alloue un bloc d'adresses IP à la plage interne qui ne chevauche aucun bloc exclu. La liste ne peut pas être mise à jour après la création de la plage interne.

  • Pour réserver une plage interne IPv4 avec chevauchement, exécutez la requête suivante :

    POST https://networkconnectivity.s3nsapis.fr/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, envoyez la requête suivante :

    POST https://networkconnectivity.s3nsapis.fr/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
    }
    
  • Pour réserver une plage interne à utiliser avec les points de terminaison Private Service Connect pour les API Google, envoyez la requête suivante. Vous ne pouvez pas utiliser le champ overlaps avec l'objectif INTERNAL_ADDRESS.

    Lorsque vous choisissez la plage, tenez compte des exigences concernant les adresses IP pour les points de terminaison Private Service Connect qui ciblent les API Google.

    POST https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME
    {
      "ipCidrRange": "CIDR_RANGE",
      "network": "NETWORK_NAME",
      "description": "DESCRIPTION",
      "peering": "FOR_SELF",
      "usage": "FOR_VPC",
      "purpose": "INTERNAL_ADDRESS"
    }
    

Réserver des plages internes IPv4 pour la migration de sous-réseau

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.s3nsapis.fr/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 IPv4 internes

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 principale du sous-réseau. Le sous-réseau peut être associé à l'intégralité ou à une partie d'une plage interne. 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'objectif de cette plage interne sur Sous-réseau VPC, le type d'appairage sur Pour soi et le type d'utilisation sur Pour VPC.

  2. Dans la console Cloud de Confiance , 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'objectif sur VPC_SUBNET, le type d'appairage sur FOR_SELF et le type d'utilisation sur FOR_VPC.
  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'objectif sur VPC_SUBNET, le type d'appairage sur FOR_SELF et le type d'utilisation sur FOR_VPC.
  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.s3nsapis.fr/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 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.
    • Pour créer un sous-réseau associé à une partie d'une plage interne, envoyez la requête suivante :

      POST https://compute.s3nsapis.fr/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.s3nsapis.fr/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet
{
  "targetCidrRange": "10.9.0.0/16",
  "network": "network-b"
}
POST https://compute.s3nsapis.fr/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"
}

Réserver des adresses IP internes globales pour les points de terminaison Private Service Connect

Vous pouvez réserver des adresses IPv4 internes globales pour les points de terminaison Private Service Connect pour les API Google globales à partir d'une plage interne.

Console

  1. Réservez une plage interne IPv4 dans le réseau VPC où vous souhaitez réserver l'adresse IP interne globale. Définissez le type d'objectif sur Adresses internes, le type d'appairage sur Pour soi et le type d'utilisation sur Pour VPC.
  2. Créez un point de terminaison Private Service Connect pour les API Google globales, en réservant une adresse IP interne globale à partir d'une collection d'adresses IP qui représente la plage interne.

gcloud

  1. Réservez une plage interne IPv4 dans le réseau VPC où vous souhaitez réserver l'adresse IP interne globale. Définissez le type d'objectif sur INTERNAL_ADDRESS, le type d'appairage sur FOR_SELF et le type d'utilisation sur FOR_VPC.

  2. Réservez une adresse IPv4 de la plage interne à l'aide de la commande gcloud compute addresses create.

    La commande suivante alloue automatiquement une adresse IP à partir de la plage interne. Pour choisir une adresse IP spécifique, utilisez l'option --addresses pour spécifier une adresse IP dans la plage interne.

    gcloud compute addresses create ADDRESS_NAME \
        --global \
        --network=NETWORK_NAME \
        --purpose=PRIVATE_SERVICE_CONNECT \
        --internal-range=https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
    

    Remplacez les éléments suivants :

    • ADDRESS_NAME : nom de l'adresse IP.

    • NETWORK_NAME : nom du réseau VPC dans lequel créer l'adresse IP.

    • PROJECT_ID : ID du projet contenant la plage interne.

    • RANGE_NAME : nom de la plage interne à partir de laquelle l'adresse IP doit être allouée.

API

  1. Réservez une plage interne IPv4 dans le réseau VPC où vous souhaitez réserver l'adresse IP interne globale. Définissez le type d'objectif sur INTERNAL_ADDRESS, le type d'appairage sur FOR_SELF et le type d'utilisation sur FOR_VPC.

  2. Réservez une adresse IPv4 de la plage interne à l'aide de la méthode globalAddresses.insert.

    L'exemple suivant alloue automatiquement une adresse IP à partir de la plage interne. Pour choisir une adresse IP spécifique, utilisez le champ address pour spécifier une adresse IP dans la plage interne.

    POST https://compute.s3nsapis.fr/compute/v1/projects/PROJECT_ID/global/addresses
    {
      "name": "ADDRESS_NAME",
      "addressType": "INTERNAL",
      "purpose": "PRIVATE_SERVICE_CONNECT",
      "ipCollection": "https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME",
      "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME"
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID : ID du projet

    • ADDRESS_NAME : nom de l'adresse IP.

    • RANGE_NAME : nom de la plage interne à partir de laquelle l'adresse IP doit être allouée.

    • NETWORK_NAME : nom du réseau VPC dans lequel créer l'adresse IP.

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 : 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.s3nsapis.fr/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.s3nsapis.fr/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.s3nsapis.fr/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.s3nsapis.fr/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 : 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.s3nsapis.fr/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.s3nsapis.fr/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.s3nsapis.fr/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 des 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 Cloud de Confiance , 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.s3nsapis.fr/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 des 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 soit mettre à jour le bloc CIDR de la plage, soit réduire la longueur de son 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 la Google Cloud CLI.

Console

  1. Dans la console Cloud de Confiance , 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 étendre le bloc CIDR de la plage, cliquez sur Étendre la plage, puis effectuez l'une des opérations suivantes :

    • Pour les plages internes IPv4, cliquez sur Longueur du 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é 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 des 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é 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 d'éléments séparés par une virgule. Pour désactiver le chevauchement, incluez l'option, 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.s3nsapis.fr/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é IPv4 développé, qui doit contenir le bloc précédent.
  • Pour étendre une plage interne en diminuant sa longueur de préfixe, envoyez la requête suivante :

    PATCH https://networkconnectivity.s3nsapis.fr/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength
    {
      "prefixLength": 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.

  • Pour mettre à jour la propriété de chevauchement d'une plage interne IPv4, envoyez la requête suivante :

    PATCH https://networkconnectivity.s3nsapis.fr/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.s3nsapis.fr/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 ressource Cloud de Confiancetelle qu'un sous-réseau. Pour supprimer une plage interne associée à une ressource Cloud de Confiance , commencez par supprimer la ressource associée.

Console

  1. Dans la console Cloud de Confiance , 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.s3nsapis.fr/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.