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

Pour configurer l'accès au réseau privé afin que le trafic s'exécute sur un réseau Google Cloud, vous devez configurer le projet propriétaire du réseau VPC, du projet de l'annuaire des services et du projet de service Google Cloud dont vous êtes. Ces trois projets peuvent être identiques ou distincts.

  • Le projet réseau est le projet du réseau VPC.
  • Projet "Annuaire des services" est le projet du service "Annuaire des services". Il peut s'agir d'un projet de service dans le réseau VPC partagé du projet réseau.
  • Le projet de service Google Cloud est le projet avec la configuration qui appelle un accès réseau privé. Par exemple, une configuration de service Google Cloud.

Avant de commencer

Cette procédure suppose que vous avez effectué les étapes suivantes.

  • Activez les API auxquelles vous souhaitez accéder via la page API et services de Google Cloud Console, y compris l'API Service Directory.
  • Les instances de VM dans un réseau VPC doivent avoir une adresse IP privée.
  • Pour les hôtes sur site, vous devez disposer d'un tunnel Cloud VPN ou d'une connexion Cloud Interconnect sur votre réseau VPC.

Configurer le projet réseau

Pour configurer le projet du réseau, procédez comme suit :

  1. Créez ou utilisez un réseau VPC existant. Les réseaux VPC en mode automatique et en mode personnalisé sont tous les deux compatibles. Les anciens réseaux ne sont pas compatibles.
  2. Si la cible de destination est une VM Compute Engine ou un backend d'équilibreur de charge interne, vous devez autoriser le trafic entrant via le pare-feu VPC pour accéder au réseau privé. Les cibles doivent autoriser l'entrée TCP sur 35.199.192.0/19 sur le port approprié (port 443 ou 80).

  3. Accordez au réseau de services Google Cloud l'accès au réseau d'annuaire des services de gestion de l'authentification et des accès (IAM). Notez que le projet Google Cloud doit se trouver dans le périmètre VPC Service Controls du projet de service Google Cloud et du répertoire de service pour servicedirectory.googleapis.com.

    Pour en savoir plus sur VPC Service Controls, consultez la page Présentation de VPC Service Controls.

Configurer le projet de répertoire de service

Procédez comme suit pour configurer le projet de l'Annuaire des services.

  1. Créez une machine virtuelle (VM) ou un équilibreur de charge interne dans le réseau VPC.
  2. Créez un service de répertoire de service pointant vers la VM ou l'équilibreur de charge interne que vous avez créé dans le réseau VPC.
  3. Accordez au réseau de services Google Cloud l'accès au réseau d'annuaire des services IAM. Pour plus d'informations sur les rôles et les autorisations, consultez la section Autorisations et rôles de l'Annuaire des services.

Créer un point de terminaison avec un accès réseau privé

Pour créer un point de terminaison avec un accès réseau privé configuré, procédez comme suit :

Console

  1. Accédez à la page "Espaces de noms de répertoires du service" dans Google Cloud Console.
    Accéder à la page "Espaces de noms de répertoire de service"
  2. Cliquez sur un espace de noms.
  3. Cliquez sur un service.
  4. Cliquez sur , puis sur Ajouter un point de terminaison.
  5. Indiquez un Nom de point de terminaison.
  6. Saisissez une adresse IP IPv4 telle que 192.0.2.0/24.
  7. Saisissez un numéro de port, tel que 443 ou 80.
  8. Pour activer l'accès au réseau privé, cliquez sur Sélectionner dans la liste afin de choisir parmi une liste de réseaux disponibles sous Réseau VPC associé.
  9. Vous pouvez également indiquer un ID de projet spécifique et le nom du réseau en choisissant Specify by a project and network name (Spécifier par un projet et un nom de réseau).
  10. Cliquez sur Create (Créer).

gcloud

Exécutez la commande gcloud beta service-directory endpoints create avec l'ID du projet et le chemin d'accès réseau spécifié.

gcloud beta 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 l'élément suivant :

  • ENDPOINT_NAME: nom du point de terminaison que vous créez dans votre service, tel que my-endpoint.
  • PROJECT_ID : ID du projet
  • REGION: région Google Cloud contenant l'espace de noms
  • NAMESPACE_NAME: le nom que vous avez attribué à l'espace de noms, tel que my-namespace
  • SERVICE_ID: ID du service
  • IP_ADDRESS: adresse IP du point de terminaison, par exemple 192.0.2.0/24
  • 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 service Google Cloud

  1. Activez l'API du service Google Cloud.
  2. Configurez votre service Google Cloud à l'aide du service Service Directory que vous avez créé dans le projet réseau.
  3. Si vous utilisez VPC Service Controls, assurez-vous que le périmètre VPC Service Controls autorise le répertoire de service à accéder au projet réseau et au projet d'annuaire de services.

Cas d'utilisation

Cette section fournit des exemples de cas d'utilisation pour configurer l'accès aux réseaux privés.

Appeler un point de terminaison HTTP lorsqu'un réseau VPC, une VM et un répertoire de service se trouvent dans le même projet

Vous pouvez configurer un produit Google Cloud pour appeler un point de terminaison HTTP sur votre VM. Ce trafic ne doit pas transiter par l'Internet public.

Dans cette configuration, vous disposez d'un projet avec un réseau VPC, une VM, un service de répertoire de service et le service Google Cloud dans le même projet.

Permettre la configuration par service d'un projet de sortie vers une VM de projet réseau située dans le réseau VPC d'un projet de service Google Cloud
Autoriser la sortie d'un service Google à un projet réseau situé dans le réseau VPC d'un projet de service Google Cloud (cliquez pour agrandir)

Pour configurer votre produit Google Cloud à l'aide d'un accès réseau privé, procédez comme suit :

Configurer votre réseau et votre réseau cible

  1. Créez un projet, tel que my-project.
  2. Créez un réseau VPC, tel que VPC-1 (projects/project-number/locations/global/networks/my-network).
  3. Accordez à l'entrée proxy un accès à VPC-1 ou au sous-réseau ou à la VM.
  4. Autoriser l'entrée depuis 35.199.192.0/19.
  5. Créez VM-1 dans la région us-central1 dans VPC-1.
  6. Configurez-le pour exécuter le service sur le port P.
  7. Si vous préférez utiliser le protocole HTTPS, assurez-vous d'avoir installé un certificat de sécurité TLS (Transport Layer Security) pour l'infrastructure des clés publiques.
  8. Créez un service de répertoire de service SD-1 dans REGION-1.
  9. Créez un point de terminaison dans SD-1 avec l'adresse IP interne de VM-1=10.10.10.10, P=443 et network=projects/project-number/global/networks/my-network. Pour obtenir des instructions détaillées, consultez la section Créer un point de terminaison avec un accès réseau privé configuré.
  10. Attribuez au compte de service Google Cloud les rôles IAM suivants:

    • servicedirectory.viewer
    • servicedirectory.pscAuthorizedService
  11. Vous pouvez également configurer VM-2 et ajouter Endpoint-2.

Configurer un produit Google Cloud

  1. Configuration de la configuration du produit Google Cloud CONFIG-1, par exemple "Cloud Scheduler, appelle-moi toutes les minutes".
  2. Configurez une requête HTTP.
  3. Indiquez que cette requête doit passer par un réseau privé, par exemple via SD-1.
  4. (Facultatif) Configurez les paramètres du service d'autorité de certification.

Désormais, le produit Google Cloud peut appeler la requête HTTP à l'aide de SD-1.

Appeler un point de terminaison HTTP lorsqu'un réseau VPC, une VM et un répertoire de service se trouvent dans des projets différents

Dans cet exemple de configuration, vous souhaitez configurer un service Google Cloud, tel que Événements, Tasks ou Pub/Sub, pour appeler un point de terminaison HTTP sur votre VM. Dans cet exemple, le projet de l'annuaire des services, le projet réseau et les projets de service Google Cloud sont différents. Ce trafic ne doit pas transiter par l'Internet public. Si vous le souhaitez, cet appel d'API doit respecter le périmètre VPC Service Controls.

Dans ce cas, la configuration du projet de service Google Cloud autorise la sortie vers une VM de projet de service Google Cloud située dans le réseau VPC du projet réseau.

Le projet de service Google Cloud peut être différent du projet producteur. Les périmètres VPC Service Controls des deux projets sont utilisés.

Envoyer du trafic à l'aide d'un accès réseau privé avec les périmètres VPC Service Controls appliqués
Envoyer du trafic à l'aide d'un accès réseau privé aux périmètres VPC Service Controls appliqués (cliquez pour agrandir)

Créer un projet réseau

Assurez-vous que vous disposez des autorisations IAM suivantes:

  • servicedirectory.services.resolve pour le service de messagerie
  • servicedirectory.networks.access pour le réseau

Veuillez noter les points suivants :

  • Le projet de répertoire de service et le projet réseau ne doivent pas être connectés, mais ils doivent faire partie des mêmes VPC Service Controls.
  • Le pare-feu et IAM sont désactivés par défaut sur le réseau et dans le service.

Pour créer le projet réseau, procédez comme suit :

  1. Créez un réseau VPC, tel que VPC-1 (projects/project-number/locations/global/networks/my-network).
  2. Activez le pare-feu du réseau VPC.

  3. Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à l'annuaire de service de se connecter au projet de service Google Cloud et au projet d'annuaire de services.

Configurer le projet de l'Annuaire des services

  1. Créez une VM ou un équilibreur de charge interne dans le réseau VPC.
  2. Créez un service de répertoire de service qui pointe vers la VM ou l'équilibreur de charge interne du réseau VPC.
  3. Accordez au répertoire de service du service Google Cloud l'accès service read au répertoire de service IAM.
  4. Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à l'annuaire de service de se connecter au projet de service Google Cloud et au projet d'annuaire de services.

Configurer le projet de service Google Cloud

  1. Activez l'API pour le service de messagerie que vous utilisez.
  2. Configurez le service de messagerie PUSH à l'aide du service Service Directory du projet "Annuaire des services".
  3. Si vous utilisez VPC Service Controls, le périmètre VPC Service Controls permet à l'annuaire de services de se connecter au projet réseau et au projet d'annuaire de services.

Étape suivante