Connectivité réseau privée
Cette page explique comment configurer Integration Connectors pour vous connecter en mode privé à vos applications backend. Nous partons du principe que vous connaissez bien les concepts suivants :Integration Connectors prend en charge la connectivité à vos backends hébergés sur un réseau privé. Pour activer la connectivité privée, vous devez utiliser Private Service Connect (PSC). PSC permet de se connecter en mode privé à des services sur différents réseaux.
Dans le cas d'Integration Connectors, d'un point de vue réseau, vous êtes le producteur de services et Integration Connectors est le client de service. En tant que producteur de services, vous devez configurer un rattachement de service PSC qu'Integration Connectors peut utiliser pour consommer le service. Une fois le rattachement de service prêt, vous pouvez configurer la connexion pour qu'elle utilise le rattachement de service à l'aide d'un rattachement de point de terminaison.
Rattachements de point de terminaison
Les rattachements de point de terminaison sont des ressources Integration Connectors qui permettent aux connexions d'établir la connectivité avec vos applications backend par le biais des rattachements de service PSC.
L'image suivante montre un rattachement de point de terminaison qui permet à une connexion d'établir la connectivité avec une application backend au moyen d'un rattachement de service PSC :
Vous pouvez créer le rattachement de point de terminaison en tant qu'adresse IP ou que nom d'hôte.
- Créer un rattachement de point de terminaison en tant qu'adresse IP
- Créer un rattachement de point de terminaison en tant que nom d'hôte
Créer un rattachement de point de terminaison en tant qu'adresse IP
Pour créer un rattachement de point de terminaison en tant qu'adresse IP, vous pouvez utiliser la console Cloud ou la ligne de commande (gcloud).Console
Pour créer un rattachement de point de terminaison depuis la console Cloud, procédez comme suit :
- Ouvrez la page Rattachements de point de terminaison pour Integration Connectors.
- Cliquez sur + Créer. La page Créer un rattachement de point de terminaison s'ouvre.
- Renseignez les champs suivants :
- Nom : nom du rattachement de point de terminaison. Ce nom doit être unique. Vous ne pouvez pas spécifier d'autres rattachements de point de terminaison portant le même nom, et vous ne pourrez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie de 63 caractères maximum (lettres minuscules, chiffres ou traits d'union), mais il ne peut pas se terminer par un trait d'union. La longueur minimale est de 2 caractères.
- ID du rattachement de service : nom du rattachement de service PSC que vous avez déjà créé.
- (Facultatif) Description : saisissez une description du rattachement de point de terminaison.
- (Facultatif) Étiquettes : saisissez des étiquettes de ressource sous forme de paires clé/valeur. Pour en savoir plus sur les étiquettes, consultez Qu'est-ce qu'une étiquette ?.
- (Facultatif) Activer l'accès mondial au point de terminaison : sélectionnez cette option si vous souhaitez envoyer du trafic vers votre backend à partir d'une connexion présente dans n'importe quelle région.
Par défaut, le rattachement de point de terminaison nécessite que la connexion et le backend se trouvent dans la même région. Par conséquent, si vous activez l'accès mondial pour le point de terminaison, une connexion présente dans n'importe quelle région peut envoyer du trafic vers votre backend.
- Cliquez sur Créer.
La colonne Adresse IP spécifie l'adresse IP du rattachement de point de terminaison. Vous devez utiliser cette adresse IP lorsque vous configurez un connecteur pour la connectivité privée.
gcloud
Pour créer un rattachement de point de terminaison à partir de la ligne de commande, procédez comme suit :
- Obtenez la ressource de rattachement de service PSC :
gcloud compute service-attachments list
La commande renvoie la liste des rattachements de service. Exemple :
NAME REGION TARGET_SERVICE CONNECTION_PREFERENCE demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC
Vous aurez besoin des informations sur ce rattachement de service lors des étapes suivantes.
- Obtenez un jeton d'authentification avant d'exécuter l'API CreateEndpointAttachment :
TOKEN="$(gcloud auth print-access-token)"
- Créez le rattachement de point de terminaison à l'aide de l'API CreateEndpointAttachment. Exemple :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "projects/PROJECT_ID/locations/LOCATION/endpointAttachments/ENDPOINT_ATTACHMENT_NAME", "serviceAttachment": "projects/demo/serviceAttachments/?SERVICE_ATTACHMENT_NAME" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/endpointAttachments?endpointAttachmentId=ENDPOINT_ATTACHMENT_NAME
Où :
- LOCATION est la région du rattachement de service (exemple :
us-west1
). - PROJECT_ID correspond au projet Google Cloud dans lequel vous avez créé le rattachement de service PSC.
- ENDPOINT_ATTACHMENT_NAME est le nom du rattachement de point de terminaison. Ce nom doit être unique. Vous ne pouvez pas spécifier d'autres rattachements de point de terminaison portant le même nom, et vous ne pourrez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie de 31 caractères maximum (lettres minuscules, chiffres ou traits d'union), mais il ne peut pas se terminer par un trait d'union. La longueur minimale est de 2 caractères.
- SERVICE_ATTACHMENT_NAME est le nom du rattachement de service. Utilisez le nom du rattachement de service PSC renvoyé par la commande
gcloud compute service-attachments list
exécutée précédemment.
Une fois que vous avez appelé l'API, Integration Connectors démarre une opération de longue durée, dont l'exécution peut prendre un certain temps. Le rattachement de point de terminaison sera créé une fois l'opération terminée.
- LOCATION est la région du rattachement de service (exemple :
- Obtenez l'ID de projet de l'annuaire des services associé à votre projet Google Cloud, puis ajoutez-le à la liste d'autorisation dans votre rattachement de service.
- Vérifiez si le rattachement de point de terminaison est créé à l'aide de l'API GetEndpointAttachment.
Exemple :
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
L'API renvoie une réponse semblable à la suivante :
{ "name": "projects/demo-project/locations/us-central1/endpointAttachments/demo-ea", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo endpoint attachment", "serviceAttachment": "projects/demo-project/regions/us-central1/serviceAttachments/demo-sa", "endpointIp": "10.0.0.0", "labels": {"team":"sre"}, }
L'adresse IP du rattachement de point de terminaison est disponible dans le champ
endpointIp
. Dans cet exemple de réponse, l'adresse IP est10.0.0.0
. Utilisez cette adresse IP lorsque vous configurez un connecteur pour la connectivité privée.
Si le rattachement de point de terminaison a bien été créé, il est affiché sur la page Rattachements de point de terminaison, comme dans l'illustration ci-dessous :


Les étapes décrites jusqu'à présent indiquent comment créer un rattachement de point de terminaison en tant qu'adresse IP. Toutefois, vous pouvez également créer un rattachement de point de terminaison en tant que nom d'hôte et utiliser le nom d'hôte afin de configurer un connecteur pour la connectivité privée. Pour savoir comment créer un rattachement de point de terminaison avec un nom d'hôte, consultez Créer un rattachement de point de terminaison en tant que nom d'hôte.
Créer un rattachement de point de terminaison en tant que nom d'hôte
Pour créer un rattachement de point de terminaison en tant que nom d'hôte, procédez comme suit :
- Créez un rattachement de point de terminaison en tant qu'adresse IP. Pour en savoir plus, consultez Créer un rattachement de point de terminaison en tant qu'adresse IP.
- Créez une zone gérée privée Cloud DNS dans l'un de vos projets Google Cloud.
Dans cette zone DNS, vous devez ajouter le nom d'hôte que vous souhaitez utiliser pour la configuration du connecteur et le mapper à l'adresse IP du rattachement de point de terminaison que vous avez obtenue à l'étape 1. Pour savoir comment créer une zone gérée privée Cloud DNS, consultez Créer une zone privée et Ajouter un enregistrement.
- Créez une zone gérée Integration Connectors dans le projet Google Cloud que vous utiliserez pour Integration Connectors. La zone gérée (zone d'appairage) Integration Connectors communique avec la zone gérée privée Cloud DNS (créée à l'étape 2) pour la résolution de nom.
Avant de créer la zone gérée, vous devez accorder les rôles et autorisations ci-dessous :
- Accordez l'autorisation
connectors.managedZones.create
à l'utilisateur qui crée la zone gérée Integration Connectors.L'autorisation
connectors.managedZones.create
est disponible dans le rôle IAMroles/connectors.admin
ouroles/connectors.managedZonesAdmin
. Pour en savoir plus sur les différents rôles IAM et les autorisations correspondantes disponibles pour Integration Connectors, consultez Rôles et autorisations IAM pour les connecteurs d'intégration. - Attribuez le rôle
role/dns.peer
au compte de serviceservice-PROJECT_NUMBER@gcp-sa-connectorsiam.gserviceaccount.com
Integration Connectors.Si le projet Google Cloud Cloud DNS est différent du projet Google Cloud Integration Connectors, attribuez le rôle
roles/dns.peer
au compte de service Integration Connectors dans le projet Google Cloud Cloud DNS. Par exemple, imaginons que vous souhaitiez créer la zone gérée Integration Connectors dans le projet Google Cloud 12345 et que Cloud DNS se trouve dans le projet Google Cloud 67890. Dans ce cas, vous devez attribuer le rôleroles/dns.peer
au compte de serviceservice-12345@gcp-sa-connectors.iam.gserviceaccount.com
dans le projet Google Cloud 67890.
Pour créer une zone gérée Integration Connectors, vous pouvez utiliser la console Cloud ou la ligne de commande (gcloud).
Console
Pour créer une zone gérée Integration Connectors depuis la console Cloud, procédez comme suit :
- Accédez à la page "Zones gérées" pour Integration Connectors.
- Renseignez les champs suivants :
- Nom : nom de la zone gérée.
- Nom DNS cible : nom Cloud DNS complet pour lequel vous créez la zone gérée (zone d'appairage). Exemple :
server8.stage.user.private
. - Projet cible : nom du projet Google Cloud qui contient la zone Cloud DNS privée.
- Réseau cible : nom du réseau VPC dans lequel la zone Cloud DNS privée est gérée.
- (Facultatif) Description : saisissez une description du rattachement de point de terminaison.
- (Facultatif) Étiquettes : saisissez des étiquettes de ressource sous forme de paires clé/valeur. Pour en savoir plus sur les étiquettes, consultez Qu'est-ce qu'une étiquette ?
- Cliquez sur Créer.
gcloud
Pour créer une zone gérée Integration Connectors à partir de la ligne de commande, procédez comme suit :
- Obtenez un jeton d'authentification avant d'exécuter l'API CreateManagedZone :
TOKEN="$(gcloud auth print-access-token)"
- Créez la zone gérée à l'aide de l'API CreateManagedZone. Exemple :
curl -X POST -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "description": "DESCRIPTION", "dns": "DNS_NAME", "target_project": "TARGET_PROJECT", "target_vpc": "TARGET_VPC" }' \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones?managedZoneId=MANAGED_ZONE_NAME
Où :
- DESCRIPTION est une description facultative de la zone gérée.
- DNS_NAME : nom Cloud DNS complet pour lequel vous créez la zone gérée (zone d'appairage). Exemple :
server8.stage.user.private
. - TARGET_PROJECT est le nom du projet Google Cloud qui contient la zone Cloud DNS privée.
- TARGET_NETWORK est le nom du réseau VPC dans lequel la zone Cloud DNS privée est gérée.
- PROJECT_ID est le projet Google Cloud que vous utilisez pour Integration Connectors.
- MANAGED_ZONE_NAME est le nom de la zone gérée. Ce nom doit être unique. Vous ne pouvez pas spécifier d'autres zones gérées portant le même nom, et vous ne pourrez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie de 63 caractères maximum (lettres minuscules, chiffres ou traits d'union), mais il ne peut pas se terminer par un trait d'union. La longueur minimale est de 2 caractères.
Une fois que vous avez appelé l'API, Integration Connectors démarre une opération de longue durée, dont l'exécution peut prendre un certain temps. La zone gérée sera créée une fois l'opération terminée.
- Vérifiez si la zone gérée est créée à l'aide de l'API GetManagedZone.
Exemple :
curl -X GET -H "Authorization: Bearer $TOKEN" \ https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
L'API renvoie une réponse semblable à la suivante :
{ "name": "projects/demo-project/locations/global/managedZones/demo-mz", "createTime": "2023-04-17T04:34:59.569527046Z", "updateTime": "2023-04-17T04:37:25.189074195Z", "description": "demo managed zone", "dns": "api.private.service.com.", "targetVpc": "target-project-vpc", "targetProject": "target-project" }
- Accordez l'autorisation
Si la zone gérée a bien été créée, elle est affichée sur la page Zones gérées, comme dans l'illustration ci-dessous :


Ajouter le projet Integration Connectors à la liste d'autorisation dans un rattachement de service
Vous pouvez créer le rattachement de service PSC de sorte qu'il n'accepte les requêtes que des projets Google Cloud spécifiés. Pour cela, vous avez toutefois besoin de l'ID de projet de l'annuaire des services associé à votre projet Google Cloud. Pour obtenir l'ID de projet de l'annuaire des services, vous pouvez utiliser l'API List Connections, comme illustré dans l'exemple ci-dessous.
Syntaxe
curl -X GET \ -H "authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://connectors.googleapis.com/v1/projects/CONNECTORS_PROJECT_ID/locations/-/connections"
Remplacez l'élément suivant :
- CONNECTORS_PROJECT_ID : ID du projet Google Cloud dans lequel vous avez créé votre connexion
Exemple
Cet exemple obtient l'ID de projet de l'annuaire des services pour le projet Google Cloud connectors-test
.
curl -X GET \ -H "authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://connectors.googleapis.com/v1/projects/connectors-test/locations/-/connections"
L'exécution de cette commande sur le terminal génère un résultat semblable au suivant :
..... { "connections": [ { "name": "projects/connectors-test/locations/asia-northeast1/connections/big-query-iam-invalid-sa", "createTime": "2022-10-07T09:02:31.905048520Z", "updateTime": "2022-10-07T09:22:39.993778690Z", "connectorVersion": "projects/connectors-test/locations/global/providers/gcp/connectors/bigquery/versions/1", "status": { "state": "ACTIVE" }, "configVariables": [ { "key": "project_id", "stringValue": "connectors-test" }, { "key": "dataset_id", "stringValue": "testDataset" } ], "authConfig": {}, "serviceAccount": "564332356444-compute@developer.gserviceaccount.com", "serviceDirectory": "projects/abcdefghijk-tp/locations/asia-northeast1/namespaces/connectors/services/runtime", "nodeConfig": { "minNodeCount": 2, "maxNodeCount": 50 } }, ....
Dans l'exemple de résultat, pour le projet Google Cloud connectors-test
, l'ID de projet de l'annuaire des services est abcdefghijk-tp
.
Vérifier la connexion du rattachement de point de terminaison
Pour vérifier la connexion du rattachement de point de terminaison, procédez comme suit :
- Sur la page Rattachements de point de terminaison, cliquez sur le nom du rattachement de point de terminaison que vous avez créé.
- Sur la page Détails du rattachement de point de terminaison qui s'affiche, consultez le champ État de la connexion. Si l'état est
Accepted
, le rattachement de point de terminaison est configuré correctement et la connexion Private Service Connect est établie.Pour en savoir plus sur les autres états, consultez États de connexion.
Configurer une connexion pour utiliser le rattachement de point de terminaison
Dans Integration Connectors, lorsque vous créez une connexion ou mettez à jour une connexion existante, dans la section "Destinations", sélectionnez Rattachement de point de terminaison comme Type de destination. Ensuite, sélectionnez le rattachement de point de terminaison que vous avez créé dans la liste Rattachement de point de terminaison.
Si vous avez créé une zone gérée, sélectionnez Adresse de l'hôte comme Type de destination et utilisez l'enregistrement A que vous avez créé lors de la création de la zone gérée.
Connectivité à différents types de réseaux privés
Bien que la connectivité privée dans Integration Connectors passe toujours par un rattachement de service PSC, la procédure à suivre pour établir la connectivité privée varie légèrement selon l'environnement. Les sections suivantes expliquent comment établir une connectivité privée dans les différents environnements :
- Le backend est hébergé sur site.
- Le backend est hébergé dans le VPC Google.
- Le backend est hébergé dans l'environnement sans serveur Google Cloud.
- Le backend est disponible en tant que service Google Cloud géré.