Cette page explique comment configurer l'accès au réseau privé et acheminer le trafic dans un réseau Google Cloud .
Pour configurer l'accès au réseau privé, vous devez configurer trois projets:
- Projet incluant un cloud privé virtuel (VPC) et une instance de machine virtuelle (VM) qui est la cible.
- Projet qui sert de projet de service de l'annuaire des services.
- Projet pour un Google Cloud produit avec la configuration qui appelle l'accès à un réseau privé. Dialogflow CX est un exemple de produit Google Cloud pouvant appeler des points de terminaison à l'aide d'un accès réseau privé.
Les artefacts des projets peuvent appartenir au même projet ou à des projets différents.
Avant de commencer
Avant de configurer l'accès au réseau privé, procédez comme suit:
Pour chaque projet, dans la console Google Cloud, sur la page API et services, cliquez sur Activer les API et les services pour activer les API que vous souhaitez utiliser, y compris l'API Service Directory.
Pour associer votre réseau VPC à des hôtes sur site, créez un tunnel Cloud VPN ou une connexion Cloud Interconnect.
Assurez-vous que le projet Google Cloud se trouve dans le périmètre VPC Service Controls du projet de réseau et du projet d'annuaire des services pour
servicedirectory.googleapis.com
.Apprenez-en plus sur VPC Service Controls.
Configurer le projet pour le réseau VPC
Pour configurer le projet pour le réseau VPC, procédez comme suit:
Créez un réseau VPC. Si vous souhaitez utiliser un réseau VPC existant, assurez-vous qu'il prend en charge les sous-réseaux en mode automatique ou personnalisé. Les anciens réseaux ne sont pas compatibles.
Si la cible de votre réseau VPC est une VM Compute Engine ou un backend d'équilibreur de charge interne, configurez une règle de pare-feu de réseau VPC. Créez des règles de pare-feu pour autoriser l'entrée TCP depuis
35.199.192.0/19
sur le port sur lequel votre cible écoute. Les ports443
et80
sont courants, mais vous pouvez utiliser n'importe quel port. Notez que par défaut, les règles de pare-feu réseau VPC bloquent les connexions entrantes vers les VM Compute Engine.Pour en savoir plus sur
35.199.192.0/19
, consultez la section Chemins d'accès pour Cloud DNS et le Service Directory.Attribuez le rôle de service autorisé Private Service Connect (
roles/servicedirectory.pscAuthorizedService
) de gestion de l'authentification et des accès (IAM) à l'agent de service du produit Google Cloud qui appellera le point de terminaison.Pour en savoir plus sur les rôles et les autorisations, consultez la section Autorisations et rôles du Service Directory.
Configurer le projet de l'annuaire des services
Pour configurer le projet Service Directory, procédez comme suit:
Dans le réseau VPC, créez une VM ou un équilibreur de charge interne.
Attribuez le rôle IAM de lecteur du répertoire de services (
roles/servicedirectory.viewer
) à l'agent de service du produitGoogle Cloud qui appellera le point de terminaison.Créez un espace de noms et un service de l'annuaire des services. Créez ensuite un point de terminaison pour ce service en suivant la procédure décrite dans la section suivante.
Créer un point de terminaison avec accès au réseau privé
Pour créer un point de terminaison avec un accès réseau privé configuré, procédez comme suit:
Console
- Dans la console Google Cloud, accédez à la page Espaces de noms du service Directory. Accéder aux espaces de noms de l'Annuaire des services
- Cliquez sur un espace de noms.
- Cliquez sur un service.
- Cliquez sur Ajouter un point de terminaison.
- Dans le champ Nom du point de terminaison, saisissez un nom pour le point de terminaison.
- Dans Adresse IP, saisissez une adresse IPv4, par exemple
192.0.2.0
. - Pour Port, saisissez un numéro de port, tel que
443
ou80
. - Pour activer l'accès au réseau privé, sélectionnez l'option requise dans Réseau VPC associé :
- Pour choisir parmi une liste de réseaux disponibles, cliquez sur Choisir dans la liste, puis sélectionnez le réseau.
- Pour spécifier un projet et un réseau, cliquez sur Spécifier un projet et un nom de réseau, puis saisissez le numéro de projet et le nom du réseau.
- Cliquez sur Créer.
gcloud
Utilisez la commande gcloud service-directory endpoints create
avec l'ID du projet et le chemin d'accès réseau spécifiés.
gcloud service-directory endpoints create ENDPOINT_NAME \ --project=PROJECT_ID \ --location=REGION \ --namespace=NAMESPACE_NAME \ --service=SERVICE_ID \ --address=IP_ADDRESS \ --port=PORT_NUMBER \ --network=NETWORK_PATH
Remplacez les éléments suivants :
ENDPOINT_NAME
: nom du point de terminaison que vous créez dans votre service, par exemplemy-endpoint
PROJECT_ID
: ID du projetREGION
: région Google Cloud contenant l'espace de nomsNAMESPACE_NAME
: nom que vous avez attribué à l'espace de noms, par exemplemy-namespace
SERVICE_ID
: ID du serviceIP_ADDRESS
: adresse IP du point de terminaison, telle que192.0.2.0
PORT_NUMBER
: ports sur lesquels les points de terminaison s'exécutent, généralement443
ou80
NETWORK_PATH
: URL du réseau, par exempleprojects/PROJECT_NUMBER/locations/global/networks/NETWORK_NAME
Configurer le projet de produit Google Cloud
Pour configurer le projet de produit Google Cloud , procédez comme suit:
Configurez votre Google Cloud produit pour appeler le service de l'Annuaire des services que vous avez créé. Les étapes requises dépendent du produitGoogle Cloud spécifique.
Cas d'utilisation
Cette section fournit des exemples de cas d'utilisation pour configurer l'accès au réseau privé.
Appeler un point de terminaison HTTP lorsqu'un réseau VPC, une VM et un répertoire de services se trouvent dans le même projet
Dans ce cas d'utilisation, vous configurez Dialogflow CX, un Google Cloud produit de traitement du langage naturel, pour appeler un point de terminaison HTTP sur votre VM. Lorsque vous appelez le point de terminaison, assurez-vous que le trafic ne transite pas sur l'Internet public.
Dans ce cas d'utilisation, vous créez les artefacts suivants dans le même projet:
- Réseau VPC
- Une VM
- Un service de l'Annuaire des services
- Dialogflow CX
La figure 1 montre comment autoriser une configuration de service Google d'un projet à sortir vers une VM. La VM réside dans un réseau VPC du projet.
Configurer votre réseau et votre réseau cible
- Créez un projet, tel que
myproject
. Créez un réseau VPC, par exemple
vpc-1
.Lorsque vous créez le réseau VPC, dans Mode de création du sous-réseau, sélectionnez Automatique.
Créez une règle de pare-feu, par exemple
firewall-1
.Lorsque vous créez la règle de pare-feu, saisissez ou sélectionnez les valeurs suivantes:
- Pour Réseau, sélectionnez
vpc-1
. - Dans le champ Plages IPv4 sources, saisissez
35.199.192.0/19
. - Dans le champ Protocoles et ports, sélectionnez TCP, puis saisissez
443
ou80
.
- Pour Réseau, sélectionnez
Dans la région
us-central1
, créez une VM, par exemplevm-1
.Lorsque vous créez la VM, saisissez ou sélectionnez les valeurs suivantes:
- Pour Networking > Network Interfaces (Mise en réseau > Interfaces réseau), sélectionnez
vpc-1
. - Pour l'option Pare-feu, sélectionnez Autoriser le trafic HTTP.
Si vous souhaitez utiliser HTTPS, sélectionnez Allow HTTPS traffic (Autoriser le trafic HTTPS). Assurez-vous également d'installer un certificat TLS (Transport Layer Security) d'infrastructure à clé publique (PKI).
- Pour Networking > Network Interfaces (Mise en réseau > Interfaces réseau), sélectionnez
Dans la région
us-central1
, créez un espace de noms, tel quenamespace-1
.Dans l'espace de noms, enregistrez un service de l'annuaire des services, tel que
sd-1
.Créez un point de terminaison dans
sd-1
. Pour l'adresse du point de terminaison, utilisez l'adresse IP interne devm-1
sur le port443
. Pour en savoir plus, consultez la section Créer un point de terminaison avec accès au réseau privé.Attribuez les rôles IAM suivants à l'agent de service du produitGoogle Cloud qui appellera le point de terminaison:
- Rôle Lecteur de l'Annuaire des services (
roles/servicedirectory.viewer
) - Rôle de service autorisé Private Service Connect (
roles/servicedirectory.pscAuthorizedService
)
- Rôle Lecteur de l'Annuaire des services (
Facultatif: Si vous souhaitez ajouter d'autres VM, vous pouvez configurer une autre VM, par exemple
vm-2
, et ajouter son point de terminaison, par exempleendpoint-2
.
Configurer un Google Cloud produit
- Configurez une configuration de produit Google Cloud , par exemple "Cloud Scheduler, appelez-moi toutes les minutes".
- Configurez une requête HTTP.
- Spécifiez que les requêtes doivent passer par un réseau privé, par exemple via
sd-1
. - Facultatif: Configurez les paramètres du service d'autorité de certification.
Le produit Google Cloud peut désormais appeler la requête HTTP à l'aide de sd-1
.
Appeler un point de terminaison HTTP lorsqu'un réseau VPC partagé, une VM et un répertoire de services se trouvent dans différents projets
Dans ce cas d'utilisation, vous configurez Dialogflow CX, un Google Cloud service de traitement du langage naturel, pour appeler un point de terminaison HTTP sur votre VM. Lorsque vous appelez le point de terminaison, assurez-vous que le trafic ne transite pas par l'Internet public.
Dans ce cas d'utilisation, vous créez les artefacts suivants dans différents projets:
- Un réseau VPC partagé
- Une VM
- Un service de l'Annuaire des services
- Dialogflow CX
Avant de créer les projets, tenez compte des points suivants:
- Assurez-vous que l'appel d'API respecte le périmètre VPC Service Controls.
- Assurez-vous que la configuration du projet de service Google Cloud autorise la sortie vers une VM qui se trouve dans le projet de réseau VPC.
- Le projet du producteur peut ne pas être identique au projet de service Google Cloud .
- Assurez-vous que les périmètres VPC Service Controls des deux projets sont utilisés.
- Le projet de répertoire de services et le projet de réseau ne doivent pas être connectés, mais ils doivent tous deux faire partie des mêmes VPC Service Controls.
- Dans le réseau et le service, le pare-feu et IAM sont désactivés par défaut.
La figure 2 montre comment envoyer du trafic à l'aide d'un accès réseau privé avec des périmètres VPC Service Controls appliqués.
Configurer le projet de réseau
- Créez un projet, tel que
my-vpc-project
. Créez un réseau VPC, par exemple
vpc-1
.Lorsque vous créez le réseau VPC, sélectionnez Automatique pour Mode de création du sous-réseau.
Créez une règle de pare-feu, par exemple
firewall-1
.Lorsque vous créez la règle, saisissez ou sélectionnez les valeurs suivantes:
- Pour Réseau, sélectionnez
vpc-1
. - Dans le champ Plages IPv4 sources, saisissez
35.199.192.0/19
. - Dans le champ Protocoles et ports, sélectionnez TCP, puis saisissez
443
ou80
.
- Pour Réseau, sélectionnez
Dans la région
us-central1
, créez une VM, par exemplevm-1
.Lorsque vous créez la VM, saisissez ou sélectionnez les valeurs suivantes:
- Pour Networking > Network Interfaces (Mise en réseau > Interfaces réseau), sélectionnez
vpc-1
. - Pour l'option Pare-feu, sélectionnez Autoriser le trafic HTTP.
Si vous souhaitez utiliser HTTPS, sélectionnez Autoriser le trafic HTTPS. Assurez-vous également d'installer un certificat TLS (Transport Layer Security) d'infrastructure à clé publique (PKI).
- Pour Networking > Network Interfaces (Mise en réseau > Interfaces réseau), sélectionnez
Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à Service Directory de se connecter à la fois au projet de service Google Cloud et au projet Service Directory.
Configurer le projet de l'annuaire des services
Créez un projet, tel que
my-sd-project
.Vous avez besoin d'une autorisation IAM supplémentaire, car le projet de réseau VPC et le projet de répertoire de services sont différents.
Dans le projet réseau, attribuez le rôle Service Directory Network Attacher (
roles/servicedirectory.networkAttacher
) au principal IAM qui crée le point de terminaison du service de répertoire.Créez un point de terminaison d'annuaire des services qui pointe vers la VM dans le réseau VPC:
- Dans la région
us-central1
, créez un espace de noms, tel quenamespace-1
. - Dans l'espace de noms, enregistrez un service de l'annuaire des services, tel que
sd-1
. - Créez un point de terminaison dans
sd-1
. Pour l'adresse du point de terminaison, utilisez l'adresse IP interne devm-1
sur le port443
. Pour en savoir plus, consultez la section Créer un point de terminaison avec accès au réseau privé.
- Dans la région
Attribuez les rôles IAM suivants à l'agent de service du produitGoogle Cloud qui appellera le point de terminaison:
- Rôle "Lecteur de l'annuaire des services" (
roles/servicedirectory.viewer
) dans le projet de l'annuaire des services - Rôle de service autorisé Private Service Connect (
roles/servicedirectory.pscAuthorizedService
) dans le projet de réseau
- Rôle "Lecteur de l'annuaire des services" (
Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à Service Directory de se connecter à la fois au projet de service Google Cloud et au projet Service Directory.
Configurer le projet de service Google Cloud
- Activez l'API pour le service Google Cloud que vous utilisez.
- Pour configurer le service Google Cloud
PUSH
, utilisez le service de l'Annuaire des services à partir du projet de l'Annuaire des services.
Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à Service Directory de se connecter à la fois au projet de réseau et au projet de Service Directory.
Utiliser l'accès au réseau privé de l'Annuaire des services avec Dialogflow
Pour savoir comment utiliser l'accès au réseau privé de l'Annuaire des services avec Dialogflow, consultez la section Utiliser l'Annuaire des services pour l'accès au réseau privé.
Étape suivante
- Pour obtenir une présentation de l'annuaire des services, consultez la présentation de l'annuaire des services.
- Pour en savoir plus sur Private Service Connect, consultez Private Service Connect.
- Pour trouver des solutions aux problèmes courants que vous pouvez rencontrer lors de l'utilisation de Service Directory, consultez la page Dépannage.