Créer un rattachement de point de terminaison

Pour configurer une connectivité privée pour Integration Connectors, vous devez créer un rattachement PSC (Private Service Connect). Toutefois, pour utiliser le rattachement PSC, vous devez également créer un rattachement de point de terminaison, car vous ne pouvez pas l'utiliser directement. Vous pouvez considérer le rattachement de point de terminaison comme une interface vers le rattachement de service PSC. Une fois créé, vous pouvez utiliser les détails du rattachement de point de terminaison lorsque vous configurez un connecteur pour une connectivité privée. Cette page explique comment créer un rattachement de point de terminaison et suppose que vous connaissez les concepts suivants:

Vous pouvez créer le rattachement de point de terminaison en tant qu'adresse IP ou 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 à partir de la console Cloud, procédez comme suit:

  1. Ouvrez la page Rattachements de point de terminaison pour Integration Connectors.

    Accéder aux rattachements de points de terminaison

  2. Cliquez sur + Créer. La page Créer un rattachement de point de terminaison s'ouvre.
  3. Renseignez les champs suivants :
    • Nom: nom du rattachement de point de terminaison. Le nom doit être unique. Il ne peut y avoir aucun autre rattachement de point de terminaison portant le même nom, et vous ne pouvez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie de 1 à 63 caractères (lettres minuscules, chiffres ou traits d'union). Il ne peut pas se terminer par un trait d'union. La longueur minimale est de 2.
    • 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 les libellés de ressources sous forme de paires clé/valeur. Pour en savoir plus sur les étiquettes, consultez la section Que sont les étiquettes ?
  4. Cliquez sur Créer.

La colonne Adresse IP indique l'adresse IP du rattachement de point de terminaison. Vous devez utiliser cette adresse IP lorsque vous configurez un connecteur pour une connectivité privée.

gcloud

Pour créer un rattachement de point de terminaison à partir de la ligne de commande, procédez comme suit:

  1. Obtenez la ressource du 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 en aurez besoin aux étapes suivantes.

  2. Obtenez un jeton d'authentification avant d'exécuter l'API CreateEndpointAttachment :
    TOKEN="$(gcloud auth print-access-token)"
  3. 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 correspond à la région du rattachement de service. Exemple :us-west1
    • PROJECT_ID est le projet Google Cloud dans lequel vous avez créé le rattachement de service PSC.
    • ENDPOINT_ATTACHMENT_NAME correspond au nom du rattachement de point de terminaison. Le nom doit être unique. Il ne peut pas exister d'autres rattachements de point de terminaison portant le même nom, et vous ne pouvez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie d'un maximum de 31 caractères (lettres minuscules, chiffres ou traits d'union), mais ne peut pas se terminer par un trait d'union. La longueur minimale est de 2.
    • SERVICE_ATTACHMENT_NAME est le nom du rattachement de service. Utilisez le nom du compte de service PSC renvoyé par la commande gcloud compute service-attachments list précédemment exécutée.

    Une fois que vous avez appelé l'API, Integration Connectors lance une opération de longue durée qui peut prendre un certain temps. Le rattachement de point de terminaison sera créé une fois l'opération terminée.

  4. Obtenez l'ID de projet du répertoire de service associé à votre projet Google Cloud, puis ajoutez cet ID de projet à la liste d'autorisation de votre rattachement de service.
  5. Vérifiez si le rattachement de point de terminaison a été créé à l'aide de l'API GetEndpointAttachment. Par 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 est 10.0.0.0. Utilisez cette adresse IP lorsque vous configurez un connecteur pour une connectivité privée.

Si le rattachement de point de terminaison a bien été créé, il apparaît sur la page Rattachements de point de terminaison, comme dans l'image suivante:

rattachement de point de terminaison rattachement de point de terminaison

Les étapes décrites jusqu'à présent montrent 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 pour configurer un connecteur pour une connectivité privée. Pour comprendre comment créer un rattachement de point de terminaison avec un nom d'hôte, consultez la section 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:

  1. Créez un rattachement de point de terminaison en tant qu'adresse IP. Pour en savoir plus, consultez la section Créer un rattachement de point de terminaison en tant qu'adresse IP.
  2. 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 un nom d'hôte que vous souhaitez utiliser pour la configuration du connecteur, et mapper le nom d'hôte à l'adresse IP du rattachement de point de terminaison que vous avez obtenue à l'étape 1. Pour en savoir plus sur la création d'une zone gérée privée Cloud DNS, consultez les pages Créer une zone privée et Ajouter un enregistrement.

  3. Créez une zone gérée Integration Connectors dans votre projet Google Cloud pour l'utiliser. La zone gérée d'Integration Connectors (zone d'appairage) communique avec la zone gérée privée Cloud DNS (créée à l'étape 2) pour la résolution des noms.

    Avant de créer la zone gérée, vous devez attribuer les rôles et autorisations suivants:

    • 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 avec le rôle IAM roles/connectors.admin ou le rôle IAM roles/connectors.managedZonesAdmin. Pour en savoir plus sur les différents rôles IAM et les autorisations correspondantes disponibles pour Integration Connectors, consultez la page Rôles IAM et autorisations pour Integration Connectors.

    • Attribuez le rôle role/dns.peer au compte de service service-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com d'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. 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ôle roles/dns.peer au compte de service service-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 à partir de la console Cloud, procédez comme suit:

    1. Accédez à la page "Zones gérées" pour Integration Connectors.

      Accéder aux zones gérées

    2. Renseignez les champs suivants :
      1. Nom: nom de la zone gérée.
      2. Nom DNS cible: nom Cloud DNS complet pour lequel vous créez la zone gérée (d'appairage). Exemple :server8.stage.user.private
      3. Target project (Projet cible) : nom du projet Google Cloud contenant la zone Cloud DNS privée.
      4. Réseau cible: nom du réseau VPC dans lequel la zone Cloud DNS privée est gérée.
      5. (Facultatif) Description: saisissez une description du rattachement de point de terminaison.
      6. (Facultatif) Étiquettes: saisissez les libellés de ressources sous forme de paires clé/valeur. Pour en savoir plus sur les étiquettes, consultez la section Que sont les étiquettes ?
    3. 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:

    1. Obtenez un jeton d'authentification avant d'exécuter l'API CreateManagedZone :
      TOKEN="$(gcloud auth print-access-token)"
    2. 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 (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. Le nom doit être unique. Il ne peut pas exister d'autres zones gérées portant le même nom et vous ne pouvez pas le modifier par la suite. Le nom doit commencer par une lettre minuscule suivie de 1 à 63 caractères (lettres minuscules, chiffres ou traits d'union). Il ne peut pas se terminer par un trait d'union. La longueur minimale est de 2.

      Une fois que vous avez appelé l'API, Integration Connectors lance une opération de longue durée qui peut prendre un certain temps. La zone gérée sera créée une fois l'opération terminée.

    3. Vérifiez si la zone gérée a été créée à l'aide de l'API GetManagedZone. Par 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"
      }

Si la création de la zone gérée réussit, celle-ci est répertoriée sur la page Zones gérées, comme dans l'image suivante:

zone gérée zone gérée

Vérifier la configuration du rattachement de point de terminaison

Vous pouvez vérifier la connectivité du point de terminaison en créant une connexion à votre système backend. Lorsque vous créez la connexion, dans la section Destinations, sélectionnez Hostname (Destination type), puis saisissez le nom d'hôte ou l'adresse IP du point de terminaison appropriés. Si la connexion aboutit, son état passe à Active sur la page Connexions de la console Cloud.