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 con el los siguientes conceptos:
- Nube privada virtual (VPC) de Google Cloud
- Private Service Connect
- Cloud DNS
- Conectores de Integration
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:
- Abre la página Adjuntos de extremos de Integration Connectors.
- Haz clic en + Crear. Se abrirá la página Crear adjunto de extremo.
- Ingresa valores para los siguientes campos:
- Nombre: Un nombre para el adjunto del extremo. El nombre debe ser único. No pueden existir otros adjuntos de extremo con el mismo nombre y no puedes cambiarlo 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 creaste.
- (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 de extremos: Selecciona esta opción si deseas enviar tráfico a tu backend desde una conexión presente en cualquier región. También debes habilitar el acceso global para tu extremo de Private Service Connect.
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.
- Haz clic en Crear.
La columna Dirección IP especifica la dirección IP del archivo adjunto del 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:
- 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.
- Obtén un token de autenticación antes de ejecutar la API de CreateEndpointAttachment:
TOKEN="$(gcloud auth print-access-token)"
- 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 pueden existir otros adjuntos de extremo con el mismo nombre y no puedes 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 archivo adjunto del extremo se creará después de que la operación se complete correctamente.
- LOCATION es la región del adjunto del servicio. Por ejemplo,
- 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.
- Verifica si se creó el adjunto del extremo 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 archivo adjunto del extremo está disponible en el campo
endpointIp
. En este de muestra, la dirección IP es10.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:
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 archivo adjunto de extremo como nombre de host, realiza las siguientes tareas:
- Crea un adjunto de extremo como una dirección IP. Para obtener más información, consulta Crea un archivo adjunto de extremo como una dirección IP.
- 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. Si deseas obtener información para crear una zona administrada privada de Cloud DNS, consulta Cómo crear una zona privada y Cómo agregar un registro.
- 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
al usuario que crea la zona administrada de Integration Connectors.El permiso
connectors.managedZones.create
es disponibles en el rol de IAMroles/connectors.admin
o en Rol de IAMroles/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 deservice-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 rolroles/dns.peer
Cuenta de servicio deservice-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:
- Ve a la página Zonas administradas para Integration Connectors.
- Ingresa valores para los siguientes campos:
- Nombre: Un nombre para la zona administrada.
- 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
- Proyecto de destino: Es el nombre del proyecto de Google Cloud que tiene la zona privada de Cloud DNS.
- Red de destino: Nombre de la red de VPC en la que se mantiene la zona privada de Cloud DNS.
- (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?
- Haz clic en Crear.
gcloud
Para crear una zona administrada de Integration Connectors desde la línea de comandos, haz lo siguiente:
- Obtén un token de autenticación antes de ejecutar la API de CreateManagedZone:
TOKEN="$(gcloud auth print-access-token)"
- 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.
- 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" }
- Otorga el permiso
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:
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 la creación de la conexión se realiza correctamente, el estado de la conexión recién creada será Active
en la página Conexiones de la consola de Cloud.