Conectividad de red privada
En esta página se describe cómo puedes configurar Integration Connectors para conectarte de forma privada a tus aplicaciones backend. Se presupone que conoces los siguientes conceptos:Integration Connectors admite la conectividad con tus back-ends alojados en una red privada. Para habilitar la conectividad privada, debes usar Private Service Connect (PSC). PSC permite conectarse de forma privada a servicios en diferentes redes.
En el caso de Integration Connectors, desde el punto de vista de la red, tú eres el productor del servicio e Integration Connectors es el consumidor del servicio. Como productor de servicios, debes configurar una vinculación de servicio de PSC que Integration Connectors pueda usar para consumir el servicio. Cuando el adjunto de servicio esté listo, podrás configurar la conexión para que lo consuma mediante un adjunto de endpoint.
Adjuntos de endpoint
Los adjuntos de endpoint son recursos de Integration Connectors que permiten establecer conexiones con tus aplicaciones de backend a través de los adjuntos de servicio de PSC.
En la siguiente imagen se muestra un adjunto de endpoint que permite establecer una conexión con una aplicación backend a través de un adjunto de servicio de PSC:
Puedes crear el adjunto de endpoint como una dirección IP o como un nombre de host.
- Crear un archivo adjunto de endpoint como dirección IP
- Crear un archivo adjunto de punto final como nombre de host
Crear una vinculación de endpoint como dirección IP
Para crear un acoplamiento de endpoint como dirección IP, puedes usar la consola de Cloud o la línea de comandos (gcloud). .Consola
Para crear un adjunto de endpoint desde la consola de Cloud, siga estos pasos:
- Abre la página Endpoint attachments (Adjuntos de endpoint) de Integration Connectors.
- Haz clic en + Crear. Se abrirá la página Create Endpoint Attachment (Crear adjunto de endpoint).
- Introduce valores en los siguientes campos:
- Nombre: nombre del archivo adjunto del endpoint. El nombre debe ser único. No puede haber ningún otro archivo adjunto de endpoint con el mismo nombre y no puedes cambiar el nombre más adelante. El nombre debe empezar por una letra minúscula, seguida de un máximo de 63 letras minúsculas, números o guiones, y no puede acabar con un guion. La longitud mínima es de 2.
- ID de vinculación de servicio: nombre de la vinculación de servicio de PSC que ya has creado.
- (Opcional) Descripción: introduce una descripción del adjunto de endpoint.
- (Opcional) Etiquetas: introduce etiquetas de recursos como pares clave-valor. Para obtener más información sobre las etiquetas, consulte ¿Qué son las etiquetas?
- (Opcional) Habilita el acceso global al endpoint: 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 endpoint attachment requiere que tanto la conexión como el backend estén en la misma región. Por lo tanto, si habilitas el acceso global para el endpoint, una conexión presente en cualquier región puede enviar tráfico a tu backend.
- Haz clic en Crear.
La columna Dirección IP especifica la dirección IP del adjunto de endpoint. Debes usar esta dirección IP al configurar un conector para la conectividad privada.
gcloud
Para crear un adjunto de endpoint desde la línea de comandos, haz lo siguiente:
- Obtén el recurso de vinculación de servicio de PSC:
gcloud compute service-attachments list
El comando devuelve 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á esta información de la conexión de servicio en los pasos siguientes.
- Obtén un token de autenticación antes de ejecutar la API CreateEndpointAttachment:
TOKEN="$(gcloud auth print-access-token)"
- Crea el adjunto de endpoint con la API 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
Donde:
- LOCATION es la región de la vinculación de servicio. Por ejemplo,
us-west1
. - PROJECT_ID es el proyecto de Google Cloud en el que has creado el adjunto de servicio de PSC.
- ENDPOINT_ATTACHMENT_NAME es el nombre del archivo adjunto del endpoint. El nombre debe ser único. No puede haber otros archivos adjuntos de endpoint con el mismo nombre y no puedes cambiar el nombre más adelante. El nombre debe empezar por una letra minúscula, seguida de un máximo de 31 letras minúsculas, números o guiones, y no puede acabar con un guion. La longitud mínima es de 2.
- SERVICE_ATTACHMENT_NAME es el nombre de la vinculación de servicio. Usa el nombre del adjunto de servicio de PSC que ha devuelto el comando
gcloud compute service-attachments list
que has ejecutado anteriormente.
Después de llamar a la API, Integration Connectors inicia una operación de larga duración, que puede tardar un tiempo en completarse. El archivo adjunto del endpoint se creará cuando la operación se complete correctamente.
- LOCATION es la región de la vinculación de servicio. Por ejemplo,
- Obtén el ID del proyecto del directorio de servicios asociado a tu proyecto de Google Cloud y, a continuación, añade ese ID a la lista de permitidos de tu adjunto de servicio.
- Verifica si el adjunto de endpoint se ha creado mediante la API 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 devuelve una respuesta similar a la siguiente:
{ "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 del endpoint está disponible en el campo
endpointIp
. En esta respuesta de ejemplo, la dirección IP es10.0.0.0
. Usa esta dirección IP al configurar un conector para la conectividad privada.
Si la creación del archivo adjunto del endpoint se realiza correctamente, el archivo adjunto recién creado se mostrará en la página Archivos adjuntos del endpoint, como se muestra en la siguiente imagen:


Los pasos descritos hasta ahora muestran cómo crear un adjunto de endpoint como dirección IP. Sin embargo, también puedes crear un adjunto de endpoint como nombre de host y usarlo para configurar un conector para la conectividad privada. Para saber cómo crear un adjunto de endpoint con un nombre de host, consulta Crear un adjunto de endpoint como nombre de host.
Crear una vinculación de endpoint como nombre de host
Para crear un adjunto de endpoint como nombre de host, sigue estos pasos:
- Crea un adjunto de endpoint como dirección IP. Para obtener más información, consulta Crear un adjunto de endpoint como dirección IP.
- Crea una zona gestionada privada de Cloud DNS en cualquiera de tus proyectos de Google Cloud.
En esta zona DNS, debes añadir el nombre de host que quieras usar para la configuración del conector y asignarlo a la dirección IP del adjunto de endpoint que has obtenido en el paso 1. Para obtener información sobre cómo crear una zona gestionada privada de Cloud DNS, consulta los artículos Crear una zona privada y Añadir un registro.
- Crea una zona gestionada de Integration Connectors en el proyecto de Google Cloud que uses para Integration Connectors. La zona gestionada de Integration Connectors (zona de emparejamiento) se comunica con la zona gestionada privada de Cloud DNS (creada en el paso 2) para la resolución de nombres.
Antes de crear la zona gestionada, debe conceder los siguientes roles y permisos:
- Concede el permiso
connectors.managedZones.create
al usuario que cree la zona gestionada de Integration Connectors.El permiso
connectors.managedZones.create
está disponible en el rol de gestión de identidades y accesosroles/connectors.admin
o en el rol de gestión de identidades y accesosroles/connectors.managedZonesAdmin
. Para obtener información sobre los distintos roles de gestión de identidades y accesos y sus permisos correspondientes disponibles para Integration Connectors, consulta Roles y permisos de gestión de identidades y accesos para Integration Connectors. - Asigna el rol
role/dns.peer
a la cuenta de servicio de Integration Connectorsservice-PROJECT_NUMBER@gcp-sa-connectorsiam.gserviceaccount.com
.Si el proyecto de Google Cloud de Cloud DNS es diferente del proyecto de Google Cloud de Integration Connectors, concede el rol
roles/dns.peer
a la cuenta de servicio de Integration Connectors en el proyecto de Google Cloud de Cloud DNS. Por ejemplo, supongamos que quieres crear la zona gestionada de Integration Connectors en el proyecto de Google Cloud 12345 y que Cloud DNS está en el proyecto de Google Cloud 67890. En este caso, debes asignar el rolroles/dns.peer
a la cuenta de servicioservice-12345@gcp-sa-connectors.iam.gserviceaccount.com
en el proyecto de Google Cloud 67890.
Para crear una zona gestionada de Integration Connectors, puedes usar la consola de Cloud o la línea de comandos (gcloud).
Consola
Para crear una zona gestionada de Integration Connectors desde la consola de Cloud, sigue estos pasos:
- Ve a la página Zonas gestionadas de Integration Connectors.
- Introduce valores en los siguientes campos:
- Nombre: el nombre de la zona gestionada.
- Nombre de DNS de destino: nombre completo de Cloud DNS para el que vas a crear la zona gestionada (de emparejamiento). Por ejemplo,
server8.stage.user.private
. - Proyecto de destino: nombre del proyecto de Google Cloud que tiene la zona de Cloud DNS privada.
- Red de destino: nombre de la red de VPC en la que se mantiene la zona de Cloud DNS privada.
- (Opcional) Descripción: introduce una descripción del adjunto de endpoint.
- (Opcional) Etiquetas: introduce etiquetas de recursos como pares clave-valor. Para obtener más información sobre las etiquetas, consulte el artículo ¿Qué son las etiquetas?
- Haz clic en Crear.
gcloud
Para crear una zona gestionada de Integration Connectors desde la línea de comandos, sigue estos pasos:
- Obtén un token de autenticación antes de ejecutar la API CreateManagedZone:
TOKEN="$(gcloud auth print-access-token)"
- Crea la zona gestionada con la API 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
Donde:
- DESCRIPTION es una descripción opcional de la zona gestionada.
- DNS_NAME: nombre completo de Cloud DNS para el que vas a crear la zona gestionada (de emparejamiento). Por ejemplo,
server8.stage.user.private
. - TARGET_PROJECT es el nombre del proyecto de Google Cloud que tiene la zona de Cloud DNS privada.
- TARGET_NETWORK es el nombre de la red de VPC en la que se mantiene la zona de Cloud DNS privada.
- PROJECT_ID es el proyecto de Google Cloud que estás usando para Integration Connectors.
- MANAGED_ZONE_NAME es el nombre de la zona gestionada. El nombre debe ser único. No puede haber otras zonas gestionadas con el mismo nombre y no puedes cambiar el nombre más adelante. El nombre debe empezar por una letra minúscula, seguida de un máximo de 63 letras minúsculas, números o guiones, y no puede acabar con un guion. La longitud mínima es de 2.
Después de llamar a la API, Integration Connectors inicia una operación de larga duración, por lo que puede tardar un tiempo en completarse. La zona gestionada se creará una vez que la operación se haya completado correctamente.
- Verifica si la zona gestionada se ha creado mediante la API 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 devuelve una respuesta similar a la siguiente:
{ "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" }
- Concede el permiso
Si la creación de la zona gestionada se realiza correctamente, la zona gestionada recién creada se mostrará en la página Zonas gestionadas, como se muestra en la siguiente imagen:


Incluir en la lista de permitidos el proyecto de Integration Connectors en una vinculación de servicio
Puedes crear el adjunto de servicio de PSC de forma que solo acepte solicitudes de los proyectos de Google Cloud especificados. Sin embargo, para hacerlo, necesitas el ID del proyecto del directorio de servicios asociado a tu proyecto de Google Cloud. Para obtener el ID del proyecto del directorio de servicios, puedes usar la API List Connections, como se muestra en el siguiente ejemplo.
Sintaxis
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"
Haz los cambios siguientes:
- CONNECTORS_PROJECT_ID: el ID de tu proyecto de Google Cloud en el que has creado la conexión.
Ejemplo
En este ejemplo se obtiene el ID de proyecto del directorio de servicios del proyecto de 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"
Al ejecutar este comando en el terminal, se muestra un resultado similar al siguiente:
..... { "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 } }, ....
En la salida de ejemplo, para el proyecto de Google Cloud connectors-test
, el ID del proyecto del directorio de servicios es abcdefghijk-tp
.
Verificar la conexión de la asociación de endpoints
Para verificar la conexión de la asociación de endpoints, haz lo siguiente:
- En la página Endpoint Attachments (Adjuntos de endpoint), haga clic en el nombre del adjunto de endpoint que ha creado.
- En la página Endpoint Attachment Details (Detalles de la conexión del endpoint) que aparece, consulta el campo Connection state (Estado de la conexión). Si el estado es
Accepted
, significa que la vinculación del endpoint se ha configurado correctamente y que la conexión de Private Service Connect se ha establecido.Para obtener información sobre otros estados, consulta Estados de la conexión.
Configurar una conexión para usar el adjunto de endpoint
En Integration Connectors, cuando cree una conexión o actualice una que ya tenga, vaya a la sección Destinations (Destinos), seleccione Endpoint attachment (Adjunto de endpoint) como Destination Type (Tipo de destino) y elija el adjunto de endpoint que haya creado en la lista Endpoint Attachment (Adjunto de endpoint).
Si has creado una zona gestionada, selecciona Dirección de host como Tipo de destino y usa el registro A que has creado al crear la zona gestionada.
Conectividad a varios tipos de redes privadas
Aunque la conectividad privada en Integration Connectors siempre se realizará a través de una vinculación de servicio de PSC, los pasos para establecer la conectividad privada varían ligeramente en función del entorno. En las siguientes secciones se describe cómo establecer una conectividad privada en los distintos entornos:
- El backend está alojado en las instalaciones
- El backend está alojado en la VPC de Google
- El backend está alojado en un entorno sin servidor de Google Cloud
- Backend está disponible como servicio gestionado de Google Cloud