Configurer l'accès aux services privés

L'accès aux services privés est une connexion privée entre votre réseau VPC et un réseau appartenant à Google ou à un tiers. Google ou le tiers sont des entités proposant des services. Ils sont également appelés producteurs de services. La connexion privée permet aux instances de VM de votre réseau VPC de communiquer avec les services auxquels vous accédez exclusivement à l'aide d'adresses IP internes. Les instances de VM n'ont pas besoin d'accès Internet ni d'adresses IP externes pour accéder aux services disponibles via l'accès aux services privés.

Pour utiliser l'accès aux services privés, procédez comme suit :

Pour en savoir plus sur les autres options d'accès privé, consultez Options d'accès privé pour les services.

Avant de commencer

Pour établir une connexion privée, suivez les étapes requises comme suit :

Autorisations

Les propriétaires de projet et les membres IAM dotés du rôle d'administrateur de réseaux Compute (roles/compute.networkAdmin) peuvent créer des plages d'adresses IP allouées et gérer les connexions privées.

Pour en savoir plus sur les rôles Compute Engine, consultez Rôles et autorisations IAM de Compute Engine.

Choisir une plage d'adresses IP pour la plage allouée

La création d'une plage allouée réserve une plage d'adresses IP à utiliser par le producteur de services. Tenez compte des éléments suivants lorsque vous choisissez une plage pour votre répartition :

  • Consultez la documentation du producteur de services pour savoir s'il a des exigences ou des recommandations concernant la taille de la plage allouée.

    Pour les services Google, la taille minimale est un bloc unique /24, mais la taille recommandée est un bloc /16.

  • Sélectionnez une plage allouée qui soit complètement distincte des plages de sous-réseaux actuelles et futures, y compris les plages de sous-réseaux issues de réseaux connectés à l'aide de l'appairage de réseaux VPC, ainsi que les plages de sous-réseaux issues de spokes VPC connectés au même hub Network Connectivity Center.

  • Sélectionnez une plage qui ne correspond pas exactement aux destinations de routes statiques ou dynamiques personnalisées, ou qui ne contient pas de telles destinations.

    Lorsqu'un producteur de services sélectionne une partie inutilisée d'une plage allouée afin de la proposer pour de nouvelles ressources, il exclut toutes les destinations de routage personnalisées qui correspondent exactement à la plage allouée ou qui s'y inscrivent. Lorsqu'un réseau VPC contient une plage allouée et des routes personnalisées dont les destinations correspondent à la plage allouée ou s'y inscrivent, la partie utilisable de la plage allouée est réduite. Cette configuration peut entraîner des erreurs inattendues d'allocation épuisée.

    Voici par exemple ce qui va se produire si vous créez une plage allouée pour la plage 10.0.0.0/16 :

    • S'il existe une route personnalisée contenant une destination pour 10.0.0.0/16, ou si cette route personnalisée est créée ultérieurement, l'ensemble de la plage 10.0.0.0/16 va être considéré comme indisponible. Si un producteur de services tente d'utiliser la plage allouée,Google Cloud renvoie une erreur d'allocation épuisée.

    • S'il existe une route personnalisée contenant une destination pour 10.0.0.0/20, ou si cette route personnalisée est créée ultérieurement, la partie 10.0.0.0/20 de la plage allouée 10.0.0.0/16 va être considérée comme indisponible. Si un producteur de services tente d'utiliser la plage allouée et que la partie disponible de cette plage est insuffisante pour un producteur de services, Google Cloud renvoie une erreur d'allocation épuisée.

    • S'il existe une route personnalisée contenant une destination pour 10.0.0.0/8, ou si cette route personnalisée est créée ultérieurement, cela n'affecte pas la disponibilité de la plage allouée 10.0.0.0/16.

  • Sélectionnez une plage qui n'entre pas en conflit avec vos autres besoins en adresses IP :

    • Certains produits Google et certains produits tiers utilisent la plage 172.17.0.0/16 pour le routage au sein du système d'exploitation invité. Par exemple, le réseau de la liaison Docker par défaut utilise cette plage. Si vous dépendez d'un produit qui fait appel à la plage 172.17.0.0/16, n'utilisez pas cette plage 172.17.0.0/16 comme une plage allouée pour l'accès aux services privés.
    • Si vous utilisez un réseau VPC en mode automatique, vous ne pouvez pas créer de plage allouée correspondant à la plage 10.128.0.0/9, ou la chevauchant. Google utilise la plage 10.128.0.0/9 pour les sous-réseaux créés automatiquement, y compris ceux des futures régions.
  • Sélectionnez un bloc CIDR suffisamment grand pour répondre à vos besoins actuels et futurs.

    Si, par la suite, vous constatez que la taille de la plage est insuffisante, élargissez-la si possible. Bien que vous puissiez affecter plusieurs allocations à un seul producteur de services, Google applique un quota sur le nombre de plages d'adresses IP que vous pouvez allouer, mais ne limite pas la taille (masque de réseau) de chaque plage.

Créer une plage allouée

La procédure suivante permet de créer une plage d'adresses IP allouée.

Si un service Google attribue une plage en votre nom, il utilise le format suivant pour nommer l'allocation : google-managed-services-CONSUMER_NETWORK_NAME. Si cette allocation existe déjà, les services Google n'en créeront pas d'autre. Vous pouvez utiliser la même convention de dénomination que Google pour signaler à d'autres utilisateurs ou services Google qu'une allocation pour Google existe déjà.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC qui se connectera à un producteur de services.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.

  5. Cliquez sur Allouer une plage d'adresses IP.

  6. Saisissez un nom et une description pour la plage allouée.

  7. Configurez la plage d'adresses IP pour l'allocation :

    • Pour spécifier une plage d'adresses IP spécifique, sélectionnez Personnalisée, puis saisissez un bloc CIDR, tel que 192.168.0.0/16.
    • Pour laisser Google sélectionner une plage disponible, sélectionnez Automatique, puis saisissez une longueur de préfixe, telle que 16.
  8. Cliquez sur Allouer pour créer la plage allouée.

gcloud

Pour créer une plage allouée dans votre réseau VPC, utilisez la commande gcloud compute addresses create.

  • Pour spécifier une plage d'adresses et une longueur de préfixe (masque de sous-réseau), utilisez les options --addresses et --prefix-length. Par exemple, pour allouer le bloc CIDR 192.168.0.0/16, spécifiez 192.168.0.0 pour l'adresse et 16 pour la longueur du préfixe.

        gcloud compute addresses create RESERVED_RANGE_NAME \
            --global \
            --purpose=VPC_PEERING \
            --addresses=192.168.0.0 \
            --prefix-length=16 \
            --description="DESCRIPTION" \
            --network=VPC_NETWORK
        
    • Pour spécifier seulement une longueur de préfixe (masque de sous-réseau), utilisez simplement l'option prefix-length. Si vous ne spécifiez pas de plage d'adresses,Google Cloud sélectionne automatiquement une plage d'adresses non utilisée sur votre réseau VPC. L'exemple suivant choisit une plage d'adresses IP non utilisée avec une longueur de préfixe de 16 bits.
        gcloud compute addresses create RESERVED_RANGE_NAME \
            --global \
            --purpose=VPC_PEERING \
            --prefix-length=16 \
            --description="DESCRIPTION" \
            --network=VPC_NETWORK
        

    Remplacez les éléments suivants :

    • RESERVED_RANGE_NAME : nom de la plage allouée. Exemple : my-allocated-range.

    • DESCRIPTION : description de la plage. Exemple : allocated for my-service.

    • VPC_NETWORK : nom de votre réseau VPC. Exemple : my-vpc-network.

    L'exemple suivant crée une connexion privée à Google afin que les instances de VM du réseau VPC my-network puissent accéder aux services Google compatibles avec l'accès aux services privés.

    gcloud compute addresses create google-managed-services-my-network \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=16 \
        --description="peering range for Google" \
        --network=my-network
    

Terraform

Pour créer une plage allouée dans votre réseau VPC, utilisez la ressource google_compute_global_address.

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

Si vous voyez une erreur concernant l'autorisation compute.globalAddresses.list pour le projet, consultez la section Autorisations de compte de service.

Répertorier des plages d'adresses IP allouées

Pour répertorier les plages d'adresses IP allouées, utilisez la commande gcloud compute addresses list.

gcloud compute addresses list --global --filter="purpose=VPC_PEERING"

Créer une connexion privée

Une fois que vous avez créé une plage allouée, vous pouvez créer une connexion privée à un producteur de services. La connexion privée établit une connexion d'appairage de réseaux VPC entre votre réseau VPC et le réseau du producteur de services.

Tenez compte des points suivants lorsque vous créez une connexion privée :

  • Si un seul producteur de services offre plusieurs services, vous n'avez besoin que d'une seule connexion privée pour tous les services du producteur.
  • Si un même producteur de services propose plusieurs services et que vous souhaitez contrôler les plages allouées utilisées pour différentes ressources de service, vous pouvez utiliser plusieurs réseaux VPC, chacun avec ses propres connexions privées. Cette configuration vous permet de sélectionner un réseau particulier lorsque vous créez une ressource de service géré, afin de vous assurer que les plages allouées associées sont bien utilisées pour la nouvelle ressource.
  • Ne réutilisez pas la même plage allouée pour plusieurs producteurs de services. Si vous vous connectez à plusieurs producteurs de services, utilisez une plage allouée unique pour chacun d'entre eux. L'utilisation de plages allouées différentes permet d'éviter le chevauchement des adresses IP et vous aide à gérer les paramètres réseau, tels que les routes et les règles de pare-feu, pour chaque producteur de services.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC qui se connectera à un producteur de services.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexions privées aux services.

  5. Cliquez sur Créer une connexion pour créer une connexion privée entre votre réseau et un producteur de services.

  6. Pour l'allocation attribuée, sélectionnez une ou plusieurs plages attribuées existantes qui ne sont pas utilisées par d'autres producteurs de services.

  7. Cliquez sur Connecter pour créer la connexion.

gcloud

  1. Utilisez la commande gcloud services vpc-peerings connect.

    gcloud services vpc-peerings connect \
        --service=servicenetworking.googleapis.com \
        --ranges=RESERVED_RANGE_NAME \
        --network=VPC_NETWORK
    

    Remplacez les éléments suivants :

    • RESERVED_RANGE_NAME : nom d'une ou de plusieurs plages allouées.

    • VPC_NETWORK : nom de votre réseau VPC.

    La commande lance une opération longue. Elle affiche un nom d'opération.

  2. Pour vérifier si l'opération a réussi, utilisez la commande gcloud services vpc-peerings operations describe.

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    Remplacez OPERATION_NAME par le nom de l'opération renvoyé à l'étape précédente.

Vous pouvez spécifier plusieurs plages allouées lorsque vous créez une connexion privée. Par exemple, si une plage est épuisée, vous pouvez affecter d'autres plages allouées. Le service utilise les adresses IP de toutes les plages mises à disposition, dans l'ordre que vous avez déterminé.

Terraform

Pour créer une connexion privée, utilisez la ressource google_service_networking_connection.

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

Lister les connexions privées

Après avoir créé une connexion privée, vous pouvez la répertorier pour vérifier qu'elle existe. La liste des plages allouées associées à chaque connexion est également affichée. Par exemple, si vous ne vous souvenez plus de la plage que vous avez attribuée à une connexion, consultez la liste pour la retrouver.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC qui contient les connexions.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexions privées aux services pour afficher toutes les connexions privées du réseau.

gcloud

Utilisez la commande gcloud services vpc-peerings list.

gcloud services vpc-peerings list \
    --network=VPC_NETWORK

Remplacez VPC_NETWORK par le nom de votre réseau VPC.

Modifier une connexion privée

Vous ne pouvez pas modifier une plage allouée, mais vous pouvez mettre à jour une connexion privée pour ajouter ou supprimer des plages allouées sans interrompre le trafic.

  • Ajouter des plages : si vous êtes sur le point d'épuiser la plage existante, vous pouvez ajouter ou remplacer une plage allouée au fur et à mesure des ajustements que vous effectuez. Si vous ajoutez une autre plage allouée à une connexion privée, le producteur de services dispose de plus d'adresses IP lorsqu'il crée des ressources de service pour un service qu'il fournit. Vous ne pouvez pas réserver une plage allouée spécifique dans une connexion privée pour réserver son utilisation à un service particulier.

    Pour en savoir plus sur l'ajout ou le remplacement de plages, consultez Épuisement de la plage d'adresses IP.

  • Supprimer des plages : lorsque vous supprimez une plage d'une connexion privée, les critères suivants s'appliquent :

    • La plage allouée n'est plus associée à la connexion privée, mais elle n'est pas supprimée.

    • Les ressources existantes de producteurs de services peuvent continuer à utiliser la plage supprimée.

    • L'accès aux services privés n'utilise pas les plages supprimées pour allouer de nouveaux sous-réseaux.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC qui contient les connexions.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexions privées aux services pour afficher toutes les connexions privées du réseau.

  5. Cliquez sur un nom de connexion dans la liste.

  6. Dans la liste Allocation attribuée, sélectionnez les plages allouées que vous souhaitez associer à la connexion privée. Décochez les cases correspondant aux plages allouées que vous souhaitez supprimer de la connexion privée.

  7. Cliquez sur OK.

gcloud

Pour ajouter ou supprimer des plages d'adresses IP allouées, qui ont été attribuées sur une connexion privée existante, utilisez la commande gcloud services vpc-peerings update.

gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=RESERVED_RANGE_NAME \
    --network=VPC_NETWORK \
    [--force]

Remplacez les éléments suivants :

  • RESERVED_RANGE_NAME : liste d'un ou de plusieurs noms de plages allouées à attribuer à la connexion privée.

    RESERVED_RANGE_NAME remplace la liste des plages allouées précédente. Si vous omettez une plage précédemment associée à cette connexion privée, celle-ci est supprimée de la connexion. Vous devez utiliser l'option --force pour supprimer une plage.

  • VPC_NETWORK : nom de votre réseau VPC.

Supprimer une plage d'adresses IP allouée

Avant de supprimer une plage d'adresses IP allouée, vérifiez si la plage est utilisée par une connexion privée.

Si la plage d'adresses IP allouée est utilisée, commencez par modifier la connexion privée pour la supprimer. Supprimez ensuite la plage d'adresses IP allouée.

Si vous supprimez une adresse IP allouée utilisée et que vous ne modifiez pas la connexion privée, les éléments suivants s'appliquent :

  • Les connexions existantes restent actives, mais rien n'empêche votre réseau VPC d'utiliser des adresses IP qui chevauchent le réseau du producteur de services.

  • Si vous supprimez la seule plage d'adresses IP allouée associée à une connexion privée, le service ne peut pas créer de sous-réseaux, car il n'y a pas de plage d'adresses IP allouée à sélectionner.

  • Si vous créez ultérieurement une plage d'adresses IP allouée correspondant à la plage supprimée ou en la chevauchant, l'ajout de la plage à une connexion privée échoue.

Pour éviter ces problèmes, modifiez toujours vos connexions privées lorsque vous supprimez une plage d'adresses IP allouée en cours d'utilisation.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC contenant les attributions à supprimer.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.

  5. Sélectionnez l'allocation à supprimer.

  6. Cliquez sur Libérer pour renvoyer la plage d'adresses IP allouées au pool d'adresses IP internes disponibles sur le réseau.

    Si la plage d'adresses IP est toujours allouée à une connexion existante, vous devez saisir une confirmation supplémentaire avant de pouvoir libérer l'allocation.

  7. Cliquez à nouveau sur Libérer pour confirmer la suppression.

gcloud

Supprimez l'allocation en spécifiant son nom.

gcloud compute addresses delete NAME \
    --global

Remplacez NAME par le nom de la plage allouée que vous souhaitez supprimer.

Supprimer une connexion privée

Pour supprimer une connexion privée, suivez la procédure décrite dans cette section. N'essayez pas de supprimer une connexion privée en supprimant directement la connexion d'appairage de réseaux VPC associée.

Avant de supprimer une connexion privée, vous devez supprimer toutes les instances de service auxquelles vous accédez via la connexion.

  • Le comportement de suppression des instances de service peut varier en fonction du service. Les ressources du service peuvent être supprimées immédiatement ou après un délai d'attente. S'il y a un délai d'attente, vous ne pouvez pas supprimer la connexion privée tant que ce délai n'est pas écoulé et que les ressources du producteur de services n'ont pas été supprimées.

    Par exemple, si vous supprimez une instance Cloud SQL, vous recevez une réponse positive, mais le service attend quatre jours avant de supprimer les ressources du producteur de services. Le délai d'attente signifie que si vous changez d'avis quant à la suppression du service, vous pouvez demander à restaurer les ressources. Si vous essayez de supprimer la connexion pendant le délai d'attente, la suppression échoue et renvoie un message indiquant que les ressources sont toujours en cours d'utilisation par le producteur de services.

  • Vous ne pouvez pas supprimer une connexion privée utilisée par un spoke de VPC producteur. Pour supprimer la connexion, commencez par supprimer le spoke VPC de producteur.

Console

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

    Accéder aux réseaux VPC

  2. Sélectionnez le réseau VPC contenant les connexions à supprimer.

  3. Sélectionnez l'onglet Accès aux services privés.

  4. Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexion privée aux services.

  5. Sélectionnez la connexion privée à supprimer.

  6. Cliquez sur Supprimer.

  7. Cliquez à nouveau sur Supprimer pour confirmer la suppression.

gcloud

Pour supprimer la connexion d'appairage de réseaux VPC d'une connexion privée, utilisez la commande gcloud services vpc-peerings delete.

gcloud services vpc-peerings delete \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK

Remplacez VPC_NETWORK par le nom de votre réseau VPC.

Partager des zones DNS privées avec des producteurs de services

Les zones privées Cloud DNS sont privées pour votre réseau VPC. Si vous souhaitez autoriser un réseau de producteurs de services à résoudre les noms de votre zone privée, vous pouvez configurer l'appairage DNS entre les deux réseaux.

Lorsque vous configurez l'appairage DNS, vous devenez fournisseur d'un réseau VPC et d'un suffixe DNS. Si le producteur de services doit résoudre une adresse ayant ce suffixe DNS, il transfère ces requêtes vers votre réseau VPC afin qu'elle puisse être résolu.

Ces services compatibles sont compatibles avec l'appairage DNS, à l'exception de Cloud SQL.

Si vous souhaitez activer l'appairage DNS, vous devez activer l'API Cloud DNS dans votre projet.

Appairer le DNS avec un producteur de services

gcloud

Pour configurer l'appairage DNS entre votre réseau VPC et le réseau du fournisseur de services, utilisez la commande gcloud services peered-dns-domains create.

gcloud services peered-dns-domains create PEERING_NAME \
    --network=VPC_NETWORK \
    --dns-suffix=DNS_SUFFIX

Remplacez les éléments suivants :

  • PEERING_NAME : nom de la configuration d'appairage DNS.

  • VPC_NETWORK : nom du réseau VPC connecté au producteur de services à l'aide de l'accès aux services privés.

  • DNS_SUFFIX : suffixe DNS que vous souhaitez appairer avec le producteur de services. Vous devez fournir un nom de domaine DNS complet, avec le point. Par exemple, example.com. est un suffixe DNS valide.

Terraform

Pour configurer l'appairage DNS entre votre réseau VPC et le réseau du fournisseur de services, utilisez la ressource google_service_networking_peered_dns_domain.


## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.name
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

Répertorier les configurations d'appairage DNS

gcloud

Utilisez la commande gcloud services peered-dns-domains list.

gcloud services peered-dns-domains list \
    --network=VPC_NETWORK

Remplacez VPC_NETWORK par le nom de votre réseau VPC.

Supprimer une configuration d'appairage DNS

gcloud

Utilisez la commande gcloud services peered-dns-domains delete.

gcloud services peered-dns-domains delete PEERING_NAME \
    --network=VPC_NETWORK

Remplacez les éléments suivants :

  • PEERING_NAME : nom de la configuration d'appairage DNS

  • VPC_NETWORK : nom de votre réseau VPC.

Configurer la connectivité hybride

Par défaut, le réseau du producteur de services ne mémorise que les routes de sous-réseau émanant de votre réseau VPC. Par conséquent, toute requête qui ne provient pas d'une plage d'adresses IP de sous-réseau est ignorée par le producteur de services.

Pour configurer la connectivité entre vos hôtes sur site et le réseau du producteur de services, procédez comme suit :

  • Dans votre réseau VPC, mettez à jour la connexion d'appairage pour exporter les routes personnalisées vers le réseau du producteur de services. L'exportation des routes envoie toutes les routes statiques et dynamiques éligibles de votre réseau VPC, telles que les routes vers votre réseau sur site, au réseau du producteur de services. Le réseau du producteur de services les importe automatiquement, puis peut renvoyer le trafic vers votre réseau sur site via le réseau VPC.

  • Assurez-vous que les préfixes incluant les plages d'adresses IP allouées pour l'accès aux services privés sont correctement annoncés à votre réseau sur site. Pour savoir comment annoncer des préfixes IPv4 personnalisés à l'aide de Cloud Router, consultez Routes annoncées.

  • Vérifiez que le rattachement de VLAN ou le tunnel Cloud VPN se termine dans le même réseau VPC (ou réseau VPC partagé) que la connexion privée, car l'appairage de réseaux VPC ne fournit pas de routage transitif.

Dépannage

Les sections suivantes contiennent des informations de dépannage pour l'accès aux services privés.

Quelle part de mon allocation est utilisée ?

Lorsque vous créez une connexion privée avec un producteur de services, vous allouez à ce dernier une plage d'adresses IP. Si vous utilisez plusieurs services d'un producteur de services, chacun réserve une partie des adresses IP de cette plage allouée. Vous pouvez vérifier l'utilisation des adresses IP par les services, par exemple pour déterminer lesquels utilisent de grands blocs d'adresses IP et éviter ainsi l'épuisement des adresses IP.

Pour afficher le ratio d'allocation de vos plages allouées, utilisez Network Analyzer. Pour en savoir plus, consultez la page Résumé de l'utilisation des adresses IP pour l'accès aux services privés.

Pour voir quel service utilise une plage d'adresses IP particulière, procédez comme suit :

  1. Listez vos connexions privées.
  2. Recherchez le nom de la connexion d'appairage qui vous connecte au producteur de services concerné.
  3. Listez les routes pour le réseau VPC.
  4. Recherchez les routes avec un saut suivant correspondant au nom de la connexion d'appairage. La plage de destination des routes indique les adresses IP utilisées par chaque service.

Épuisement de la plage d'adresses IP

Pour une connexion privée donnée, si votre espace d'adresses IP alloué arrive à épuisement, Google Cloud affiche l'erreur suivante : Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges.

Cette erreur peut s'afficher si la plage allouée se révèle insuffisante par rapport à l'utilisation que vous voulez en faire, ou si une route statique ou dynamique personnalisée empêche l'entière utilisation de la plage allouée. Pour en savoir plus sur les considérations liées au routage, consultez Choisir une plage d'adresses IP pour la plage allouée.

Vous pouvez étendre l'allocation existante ou en ajouter de nouvelles. L'allocation étendue doit être une plage d'adresses IP contiguë incluant la plage existante. Nous vous recommandons d'étendre une allocation, car la taille d'une allocation n'est pas limitée, contrairement au nombre d'allocations que vous pouvez créer.

Pour étendre une allocation existante, procédez comme suit :

  1. Listez vos connexions privées et enregistrez le nom de la plage allouée à étendre.
  2. Supprimez la plage allouée existante que vous souhaitez étendre.
  3. Créez une nouvelle plage allouée et donnez-lui le même nom que la plage supprimée. Spécifiez une plage d'adresses IP incluant la plage d'adresses IP précédemment supprimée. De cette manière, les ressources appairées existantes qui utilisent l'ancienne plage allouée peuvent continuer à utiliser les mêmes adresses IP sans entrer en conflit avec les ressources de votre réseau VPC. Par exemple, si la plage allouée précédente était 192.168.0.0/20, créez une plage

Pour ajouter des plages allouées à une connexion privée existante, procédez comme suit :

  1. Créez une nouvelle plage allouée. Celle-ci ne doit pas nécessairement être contiguë avec les plages allouées existantes.
  2. Ajoutez la plage allouée à la connexion privée existante.

Autorisations de compte de service

Si vous voyez une erreur concernant l'autorisation compute.globalAddresses.list pour un projet lorsque vous créez une plage allouée, ou si vous rencontrez des erreurs telles que Error 400: Precondition check failed lorsque vous créez, listez ou modifiez des connexions privées, il peut s'agir d'un problème lié aux rôles Identity and Access Management (IAM) pour votre compte de service de l'API Service Networking. Ce compte de service est créé automatiquement après l'activation de l'API Service Networking. Le provisionnement du compte et son affichage sur la page IAM peuvent prendre un certain temps.

Console

Pour vous assurer que le compte de service dispose du rôle IAM approprié, procédez comme suit :

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

    Accéder à IAM

  2. Cochez la case Inclure les attributions de rôles fournies par Google.

  3. Dans la colonne Nom, recherchez le compte principal Service Networking Service Agent, puis cliquez sur Modifier le compte principal sur la ligne correspondante.

  4. Dans le champ Rôle, assurez-vous que le rôle Agent de service Service Networking (roles/servicenetworking.serviceAgent) est présent.

  5. Si le rôle Agent de service Service Networking n'est pas présent, cliquez sur Ajouter un rôle ou Ajouter un autre rôle.

  6. Cliquez sur Select a role (Sélectionner un rôle).

  7. Dans la zone de texte Filtre, saisissez Service Networking Service Agent.

  8. Sélectionnez Agent de service Service Networking dans la liste, puis cliquez sur Enregistrer.

gcloud

Pour créer un compte de service pour l'API Service Networking, exécutez la commande gcloud projects add-iam-policy-binding.

gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \
    --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking.iam.gserviceaccount.com \
    --role=roles/servicenetworking.serviceAgent

Remplacez les éléments suivants :

  • HOST_PROJECT_NAME : nom du projet hôte
  • HOST_PROJECT_NUMBER : numéro du projet hôte

La route d'appairage de sous-réseau persiste après la mise à jour de la plage allouée

Après la mise à jour de la plage d'adresses IP allouée d'une connexion de services privés, l'ancienne route d'appairage de sous-réseau peut toujours apparaître dans la table de routage de votre réseau VPC. La route persiste, car la plage d'adresses IP est toujours utilisée.

Pour résoudre ce problème, procédez comme suit :

La route d'appairage de sous-réseau est automatiquement supprimée lorsque la plage d'adresses IP n'est plus utilisée. Il peut s'écouler un certain temps entre la suppression de la ressource et la suppression complète par le producteur de services. Par exemple, si l'ancienne plage d'adresses IP est utilisée par une instance Cloud SQL, la suppression complète de l'instance par le producteur de services peut prendre jusqu'à quatre jours. La route d'appairage de sous-réseau est supprimée une fois la suppression terminée.

Impossible de créer une connexion privée

Si vous essayez de créer une connexion privée après avoir supprimé la connexion d'appairage de réseaux VPC associée à une connexion privée précédente, Google Cloudpeut renvoyer une erreur. Pour obtenir des informations de dépannage, consultez les messages d'erreur suivants.

Pour éviter ce problème, suivez la procédure permettant de supprimer une connexion privée au lieu de supprimer directement la connexion d'appairage de réseaux VPC associée.

  • Erreur "Impossible de modifier les plages allouées" :

    ERROR: Cannot modify allocated ranges in CreateConnection. Please use UpdateConnection. Existing allocated IP ranges: ALLOCATED_RANGE_NAMES.

    Si vous rencontrez cette erreur, procédez comme suit :

    1. Recréez la connexion privée que vous avez supprimée et utilisez les noms de plages allouées renvoyés par l'erreur. Vous devez utiliser les mêmes noms de plages attribués lorsque vous recréez la connexion, mais les plages d'adresses IP correspondantes (blocs CIDR) peuvent être identiques ou différentes.

      Pour créer la connexion privée, consultez Créer une connexion privée.

    2. Si nécessaire, modifiez la connexion privée pour ajouter ou supprimer des plages allouées. Vous pouvez utiliser des plages allouées différentes de celles que vous avez spécifiées lorsque vous avez recréé la connexion privée à l'étape précédente.

      Pour modifier la connexion privée, consultez Modifier une connexion privée.

  • Erreur interne temporaire :

    ERROR: (gcloud.services.vpc-peerings.connect) The operation "operations/OPERATION_ID"
    resulted in a failure "encountered some transient internal error, please try again later"

    Si vous recevez cette erreur, contactez l'assistance Cloud.