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 :
-
Une plage allouée réserve une plage d'adresses IP à utiliser par le producteur, ce qui évite les chevauchements d'adresses IP entre les réseaux du consommateur et du producteur de services.
-
La connexion privée utilise l'appairage de réseaux VPC pour établir la connectivité entre les réseaux du client et du producteur de services.
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 :
- Consultez la présentation de l'accès aux services privés, y compris les services compatibles, l'accessibilité des instances de service et les limites.
- Créez un projet Google Cloud ou choisissez-en un existant. Pour savoir comment créer un projet Google Cloud , consultez Créer et gérer des projets.
- Activez l'API Service Networking dans votre projet. L'API est requise pour créer une connexion privée.
- Créez ou sélectionnez un réseau VPC à utiliser pour vous connecter au réseau du producteur de services. Les instances de VM doivent utiliser ce réseau VPC pour se connecter aux services via une connexion privée.
- Installez Google Cloud CLI si vous souhaitez exécuter les exemples de ligne de commande gcloud CLI de ce guide.
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 plage10.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 partie10.0.0.0/20
de la plage allouée10.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ée10.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 plage172.17.0.0/16
, n'utilisez pas cette plage172.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 plage10.128.0.0/9
pour les sous-réseaux créés automatiquement, y compris ceux des futures régions.
- Certains produits Google et certains produits tiers utilisent la plage
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC qui se connectera à un producteur de services.
Sélectionnez l'onglet Accès aux services privés.
Dans l'onglet Accès aux services privés, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.
Cliquez sur Allouer une plage d'adresses IP.
Saisissez un nom et une description pour la plage allouée.
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
.
- Pour spécifier une plage d'adresses IP spécifique, sélectionnez Personnalisée, puis saisissez un bloc CIDR, tel que
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 CIDR192.168.0.0/16
, spécifiez192.168.0.0
pour l'adresse et16
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 de16
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
- Pour spécifier seulement une longueur de préfixe (masque de sous-réseau), utilisez simplement l'option
Terraform
Pour créer une plage allouée dans votre réseau VPC, utilisez la ressource google_compute_global_address
.
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC qui se connectera à un producteur de services.
Sélectionnez l'onglet Accès aux services privés.
Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexions privées aux services.
Cliquez sur Créer une connexion pour créer une connexion privée entre votre réseau et un producteur de services.
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.
Cliquez sur Connecter pour créer la connexion.
gcloud
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.
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
.
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC qui contient les connexions.
Sélectionnez l'onglet Accès aux services privés.
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.
- Si une plage supprimée n'est plus utilisée, vous pouvez supprimer l'allocation.
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC qui contient les connexions.
Sélectionnez l'onglet Accès aux services privés.
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.
Cliquez sur un nom de connexion dans la liste.
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.
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC contenant les attributions à supprimer.
Sélectionnez l'onglet Accès aux services privés.
Dans l'onglet Accès aux services privés, sélectionnez l'onglet Plages d'adresses IP allouées pour les services.
Sélectionnez l'allocation à supprimer.
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.
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
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Sélectionnez le réseau VPC contenant les connexions à supprimer.
Sélectionnez l'onglet Accès aux services privés.
Dans l'onglet Accès aux services privés, sélectionnez l'onglet Connexion privée aux services.
Sélectionnez la connexion privée à supprimer.
Cliquez sur Supprimer.
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
.
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 DNSVPC_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 :
- Listez vos connexions privées.
- Recherchez le nom de la connexion d'appairage qui vous connecte au producteur de services concerné.
- Listez les routes pour le réseau VPC.
- 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 :
- Listez vos connexions privées et enregistrez le nom de la plage allouée à étendre.
- Supprimez la plage allouée existante que vous souhaitez étendre.
- 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 :
- Créez une nouvelle plage allouée. Celle-ci ne doit pas nécessairement être contiguë avec les plages allouées existantes.
- 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 :
Dans la console Google Cloud , accédez à la page IAM.
Cochez la case Inclure les attributions de rôles fournies par Google.
Dans la colonne Nom, recherchez le compte principal Service Networking Service Agent, puis cliquez sur
Modifier le compte principal sur la ligne correspondante.Dans le champ Rôle, assurez-vous que le rôle Agent de service Service Networking (
roles/servicenetworking.serviceAgent
) est présent.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.Cliquez sur Select a role (Sélectionner un rôle).
Dans la zone de texte Filtre, saisissez
Service Networking Service Agent
.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ôteHOST_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 :
- Si vous supprimez une plage allouée, assurez-vous de mettre à jour la connexion privée.
- Supprimez ou mettez à jour toutes les ressources qui utilisent l'ancienne plage d'adresses IP.
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 :
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.
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.