Configurer l'accès au réseau privé

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:

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

  2. 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 ports 443 et 80 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.

  3. 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:

  1. Dans le réseau VPC, créez une VM ou un équilibreur de charge interne.

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

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

  1. 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
  2. Cliquez sur un espace de noms.
  3. Cliquez sur un service.
  4. Cliquez sur Ajouter un point de terminaison.
  5. Dans le champ Nom du point de terminaison, saisissez un nom pour le point de terminaison.
  6. Dans Adresse IP, saisissez une adresse IPv4, par exemple 192.0.2.0.
  7. Pour Port, saisissez un numéro de port, tel que 443 ou 80.
  8. 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.
  9. 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 exemple my-endpoint
  • PROJECT_ID : ID du projet
  • REGION: région Google Cloud contenant l'espace de noms
  • NAMESPACE_NAME: nom que vous avez attribué à l'espace de noms, par exemple my-namespace
  • SERVICE_ID: ID du service
  • IP_ADDRESS: adresse IP du point de terminaison, telle que 192.0.2.0
  • PORT_NUMBER: ports sur lesquels les points de terminaison s'exécutent, généralement 443 ou 80
  • NETWORK_PATH: URL du réseau, par exemple projects/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:

  1. Activez l' Google Cloud API du produit.

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

Autorisez une configuration de service Google d'un projet à sortir vers une VM de projet réseau.
Figure 1. Autorisez une configuration de service Google d'un projet à sortir vers une VM (cliquez pour agrandir).

Configurer votre réseau et votre réseau cible

  1. Créez un projet, tel que myproject.
  2. 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.

  3. 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 ou 80.
  4. Dans la région us-central1, créez une VM, par exemple vm-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).

  5. Dans la région us-central1, créez un espace de noms, tel que namespace-1.

  6. Dans l'espace de noms, enregistrez un service de l'annuaire des services, tel que sd-1.

  7. Créez un point de terminaison dans sd-1. Pour l'adresse du point de terminaison, utilisez l'adresse IP interne de vm-1 sur le port 443. Pour en savoir plus, consultez la section Créer un point de terminaison avec accès au réseau privé.

  8. 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)
  9. 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 exemple endpoint-2.

Configurer un Google Cloud produit

  1. Configurez une configuration de produit Google Cloud , par exemple "Cloud Scheduler, appelez-moi toutes les minutes".
  2. Configurez une requête HTTP.
  3. Spécifiez que les requêtes doivent passer par un réseau privé, par exemple via sd-1.
  4. 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.

Envoyez du trafic à l'aide de l'accès réseau privé avec des périmètres VPC Service Controls appliqués.
Figure 2. Envoyez du trafic à l'aide d'un accès réseau privé avec des périmètres VPC Service Controls appliqués (cliquez pour agrandir).

Configurer le projet de réseau

  1. Créez un projet, tel que my-vpc-project.
  2. 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.

  3. 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 ou 80.
  4. Dans la région us-central1, créez une VM, par exemple vm-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).

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

  1. Créez un projet, tel que my-sd-project.

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

  3. Créez un point de terminaison d'annuaire des services qui pointe vers la VM dans le réseau VPC:

    1. Dans la région us-central1, créez un espace de noms, tel que namespace-1.
    2. Dans l'espace de noms, enregistrez un service de l'annuaire des services, tel que sd-1.
    3. Créez un point de terminaison dans sd-1. Pour l'adresse du point de terminaison, utilisez l'adresse IP interne de vm-1 sur le port 443. Pour en savoir plus, consultez la section Créer un point de terminaison avec accès au réseau privé.
  4. 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

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

  1. Activez l'API pour le service Google Cloud que vous utilisez.
  2. 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