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 utiliser le rattachement PSC directement. Vous pouvez considérer le rattachement de point de terminaison comme une interface du rattachement de service PSC. Une fois le rattachement de point de terminaison créé, vous pouvez utiliser les informations correspondantes lorsque vous configurez un connecteur pour une connectivité privée. Cette page explique comment créer un rattachement de point de terminaison et part du principe 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 l'outil de 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 à la page "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. Aucun autre rattachement de point de terminaison ne peut porter le même nom. Vous ne pourrez 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 pour le rattachement de point de terminaison.
    • (Facultatif) Étiquettes: saisissez les étiquettes de ressources sous forme de paires clé/valeur. Pour en savoir plus sur les étiquettes, consultez la section Que sont les étiquettes ?
    • (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.

  4. 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 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 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 de ce rattachement de service 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. Par 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 correspond au 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. Aucun autre rattachement de point de terminaison ne peut porter le même nom. Vous ne pourrez 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 de 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 de l'annuaire de services associé à votre projet Google Cloud, puis ajoutez cet ID à la liste d'autorisation dans 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 est répertorié sur la page Rattachements de point de terminaison, semblable à l'image suivante:

rattachement de point de terminaison rattachement de point de terminaison

La procédure décrite jusqu'à présent explique 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 savoir 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 le nom d'hôte que vous souhaitez utiliser pour la configuration du connecteur, puis le mapper à l'adresse IP du rattachement de point de terminaison 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 le projet Google Cloud que vous utilisez pour ces connecteurs. La zone gérée 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 de noms.

    Avant de créer la zone gérée, vous devez attribuer les rôles et les 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 dans 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.

    • Accordez 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, accordez le rôle roles/dns.peer au compte de service Integration Connectors dans le projet Google Cloud Cloud DNS. Par exemple, supposons 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 les Integration Connectors.

      Accéder à la page "Zones gérées"

    2. Saisissez des valeurs pour 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. 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 pour le rattachement de point de terminaison.
      6. (Facultatif) Étiquettes: saisissez les étiquettes 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. Par 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 contenant 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. Aucune autre zone gérée ne peut porter le même nom, et vous ne pourrez plus modifier ce nom 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 est 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 aboutit, celle-ci est répertoriée sur la page Zones gérées, semblable à 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 de backend. Lorsque vous créez la connexion, dans la section Destinations, sélectionnez le Destination type en tant que Endpoint attachment, puis sélectionnez le rattachement de point de terminaison approprié. Si la création aboutit, l'état de la nouvelle connexion est Active sur la page Connexions de la console Cloud.