Crea un adjunto de extremo

Para configurar la conectividad privada para Integration Connectors, debes crear un Archivo adjunto de PSC (Private Service Connect). Sin embargo, para usar el adjunto de PSC, también debes crea un adjunto de extremo, ya que no puedes usar el adjunto de PSC directamente. Puedes pensar en el adjunto de extremo como una interfaz para el adjunto de servicio de PSC. Una vez creada, puedes usar los detalles del adjunto de extremo cuando configure un conector para la conectividad privada Esta página explica cómo crear un adjunto de extremo y supone que estás familiarizado los siguientes conceptos:

Puedes crear el adjunto de extremo como una dirección IP o como nombre de host.

Crea un adjunto de extremo como una dirección IP

Para crear un adjunto de extremo como una dirección IP, puedes usar la consola de Cloud o la línea de comandos (gcloud).

Console

Para crear un adjunto de extremo desde la consola de Cloud, haz lo siguiente:

  1. Abre la página Adjuntos de extremos de Integration Connectors.

    Ir a Archivos adjuntos de extremos

  2. Haz clic en + Crear. Se abrirá la página Crear adjunto de extremo.
  3. Ingresa valores para los siguientes campos:
    • Nombre: Un nombre para el adjunto del extremo. El nombre debe ser único. Puede haber ningún otro adjunto de extremo con el mismo nombre y no se puede cambiar el nombre más adelante. El nombre debe comenzar con una letra minúscula seguida por un máximo de 63 letras minúsculas. números o guiones, pero no puede terminar en un guion. La longitud mínima es de 2.
    • ID de adjunto de servicio: Es el nombre del adjunto de servicio de PSC que ya tienes. crear.
    • (Opcional) Descripción: Ingresa una descripción para el adjunto del extremo.
    • (Opcional) Etiquetas: Ingresa las etiquetas de recursos como pares clave-valor. Más información sobre las etiquetas, consulta ¿Qué son las etiquetas?
    • (Opcional) Habilitar el acceso global a extremos: Selecciona esta opción si quieres enviar tráfico a tu backend desde una conexión presente en cualquier región.

      De forma predeterminada, el el adjunto del extremo requiere que tanto la conexión como el backend pueden estar en la misma región. Por lo tanto, si habilitas el acceso global para el extremo, una conexión en cualquier región puede enviar tráfico a tu backend.

  4. Haz clic en Crear.

La columna Dirección IP especifica la dirección IP del adjunto de extremo. Debes usa esta dirección IP cuando configures un conector para conectividad privada.

gcloud

Para crear un adjunto de extremo desde la línea de comandos, haz lo siguiente:

  1. Obtén el recurso del adjunto de servicio de PSC:
    gcloud compute service-attachments list

    El comando muestra la lista de adjuntos de servicio. Por ejemplo:

    NAME       REGION   TARGET_SERVICE                                       CONNECTION_PREFERENCE
    demo-sa us-west1 k8s2-tcp-tgysilgj-apps-ingressgateway-fzdhwstg ACCEPT_AUTOMATIC

    Necesitarás esta información sobre el adjunto de servicio en los pasos posteriores.

  2. Obtén un token de autenticación antes de ejecutar la API de CreateEndpointAttachment:
    TOKEN="$(gcloud auth print-access-token)"
  3. Crea el adjunto de extremo mediante la API de CreateEndpointAttachment. Por ejemplo:
    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
    

    Aquí:

    • LOCATION es la región del adjunto del servicio. Por ejemplo, us-west1
    • PROJECT_ID es el proyecto de Google Cloud en el que creaste el adjunto de servicio de PSC.
    • ENDPOINT_ATTACHMENT_NAME es el nombre del adjunto del extremo. El nombre debe ser único. No puede haber otro extremo archivos adjuntos con el mismo nombre y no podrás cambiarlo más adelante. El nombre debe comenzar con una letra minúscula seguida por un máximo de 31 letras minúsculas, números o guiones, pero no puede terminar con un guion. La longitud mínima es de 2.
    • SERVICE_ATTACHMENT_NAME es el nombre del adjunto del servicio. Usa el PSC el nombre de la cuenta de servicio que devuelve el ejecuta el comando gcloud compute service-attachments list.

    Después de llamar a la API, Integration Connectors inicia un de larga duración y puede tardar un poco en completarse. El extremo adjunto se creará una vez que la operación se complete correctamente.

  4. Obtén el ID del proyecto del directorio de servicios asociado con tu proyecto de Google Cloud y, luego, incluye ese ID del proyecto en la lista de entidades permitidas de tu adjunto de servicio.
  5. Verifica si el adjunto de extremo se creó con la API de GetEndpointAttachment. Por ejemplo:
    curl -X GET -H "Authorization: Bearer $TOKEN" \
      https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/endpointAttachments/ENDPOINT_ATTACHMENT_NAME
    
    .

    La API muestra una respuesta similar a la que se ve a continuación:

    {
      "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"},
    }

    La dirección IP del adjunto de extremo está disponible en el campo endpointIp. En este de muestra, la dirección IP es 10.0.0.0. Usa esta dirección IP durante la configuración un conector para la conectividad privada.

Si la creación del adjunto de extremo se realiza correctamente, el adjunto recién creado que se muestra en la página Archivos adjuntos de extremos, similar a la siguiente imagen:

adjunto-de-extremo adjunto-de-extremo

Los pasos, descritos hasta ahora, muestran cómo crear un adjunto de extremo como una dirección IP. Sin embargo, también puedes crear un adjunto de extremo como nombre de host y usarlo para configurar un conector para la conectividad privada. Para comprender cómo crear un adjunto de extremo con un nombre de host, consulta Crea un adjunto de extremo como nombre de host.

Crea un adjunto de extremo como nombre de host

Para crear un adjunto de extremo como nombre de host, realiza las siguientes tareas:

  1. Crea un adjunto de extremo como una dirección IP. Para obtener más información, consulta Crea un adjunto de extremo como una dirección IP.
  2. Crea una zona administrada privada de Cloud DNS en cualquiera de tus proyectos de Google Cloud.

    En esta zona del DNS, debes agregar un nombre de host que desees usar para la configuración del conector y asignar el nombre de host a la dirección IP del adjunto de extremo que obtuviste en el paso 1. Para obtener información sobre cómo crear una zona administrada privada de Cloud DNS, consulta Crea una zona privada y Agrega un registro.

  3. Crea una zona administrada de Integration Connectors en tu proyecto de Google Cloud que uses para Integration Connectors. Integration Connectors zona administrada (zona de intercambio de tráfico) se comunica con la zona administrada privada de Cloud DNS (creada en el paso 2) para la resolución de nombres.

    Antes de crear la zona administrada, debes otorgar los siguientes roles y permisos:

    • Otorga el permiso connectors.managedZones.create a el usuario que crea la zona administrada de Integration Connectors.

      El permiso connectors.managedZones.create es disponibles en el rol de IAM roles/connectors.admin o en Rol de IAM roles/connectors.managedZonesAdmin. Para obtener información sobre el varios roles de IAM y sus permisos correspondientes disponibles para Integration Connectors, consulta Funciones y permisos de IAM para Integration Connectors.

    • Otorga el rol role/dns.peer a Integration Connectors Cuenta de servicio de service-PROJECT_NUMBER@gcp-sa-connectors.iam.gserviceaccount.com.

      Si el proyecto de Google Cloud de Cloud DNS es diferente de Integration Connectors proyecto de Google Cloud y, luego, otorga el rol roles/dns.peer al Cuenta de servicio de Integration Connectors en el proyecto de Google Cloud de Cloud DNS. Por ejemplo: quieres crear la zona administrada de Integration Connectors en el proyecto 12345 de Google Cloud y Cloud DNS está en el proyecto 67890 de Google Cloud. En este caso, debes otorgar el rol roles/dns.peer en el Cuenta de servicio de service-12345@gcp-sa-connectors.iam.gserviceaccount.com en el proyecto 67890 de Google Cloud.

    Para crear una zona administrada de Integration Connectors, puedes usar la consola de Cloud o la línea de comandos (gcloud).

    Console

    Para crear una zona administrada de Integration Connectors desde la consola de Cloud, haz lo siguiente:

    1. Ve a la página Zonas administradas para Integration Connectors.

      Ir a Zonas administradas

    2. Ingresa valores para los siguientes campos:
      1. Nombre: Un nombre para la zona administrada.
      2. Nombre de DNS de destino: Es el nombre completo de Cloud DNS para el que crearás la zona administrada (intercambio de tráfico). Por ejemplo, server8.stage.user.private
      3. Proyecto de destino: Nombre del proyecto de Google Cloud que tiene la zona privada de Cloud DNS.
      4. Red de destino: Nombre de la red de VPC en la que se mantiene la zona privada de Cloud DNS.
      5. (Opcional) Descripción: Ingresa una descripción para el adjunto del extremo.
      6. (Opcional) Etiquetas: Ingresa las etiquetas de recursos como pares clave-valor. Más información sobre las etiquetas, consulta ¿Qué son las etiquetas?
    3. Haz clic en Crear.

    gcloud

    Para crear una zona administrada de Integration Connectors desde la línea de comandos, haz lo siguiente:

    1. Obtén un token de autenticación antes de ejecutar la API de CreateManagedZone:
      TOKEN="$(gcloud auth print-access-token)"
    2. Crea la zona administrada con la API de CreateManagedZone. Por ejemplo:
      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
      

      Aquí:

      • DESCRIPTION es una descripción opcional de la zona administrada.
      • DNS_NAME: Es el nombre completo de Cloud DNS para el que crearás la zona administrada (intercambio de tráfico). Por ejemplo, server8.stage.user.private
      • TARGET_PROJECT es el nombre del proyecto de Google Cloud que tiene la zona privada de Cloud DNS.
      • TARGET_NETWORK es el nombre de la red de VPC en la que se mantiene la zona privada de Cloud DNS.
      • PROJECT_ID es el proyecto de Google Cloud que usas para Integration Connectors.
      • MANAGED_ZONE_NAME es el nombre de la zona administrada. El nombre debe ser único. No se puede otras zonas administradas con el mismo nombre, y no se puede cambiar el nombre más adelante. El nombre debe comenzar con una una letra minúscula seguida de un máximo de 63 letras minúsculas, números o guiones, pero no puede terminar con un guion. La longitud mínima es de 2.

      Después de llamar a la API, Integration Connectors inicia un de larga duración y puede tomar un tiempo para completarla. El servicio administrado zona se creará luego de que la operación se complete correctamente.

    3. Verifica si la zona administrada se creó con la API de GetManagedZone. Por ejemplo:
      curl -X GET -H "Authorization: Bearer $TOKEN" \
        https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/managedZones/MANAGED_ZONE_NAME
      
      .

      La API muestra una respuesta similar a la que se ve a continuación:

      {
        "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 creación de la zona administrada se realiza correctamente, la nueva zona administrada en la página Zonas administradas, similar a la siguiente imagen:

zona administrada zona administrada

Verifica la configuración del adjunto de extremo

Puedes verificar la conectividad del extremo creando una conexión a tu sistema de backend. Cuándo crea la conexión, en la sección Destinations, selecciona Destination type como Endpoint attachment y, luego, selecciona el adjunto de extremo adecuado. Si el botón la conexión se creó correctamente, el estado de la conexión ser Active en la página Conexiones en la consola de Cloud.