Accede a las APIs regionales de Google a través de extremos
En este documento, se explica cómo usar los extremos de Private Service Connect para conectarse a extremos regionales de las APIs de Google compatibles.
Para obtener información sobre otras opciones de configuración de Private Service Connect, consulta Private Service Connect.
Funciones
Para obtener los permisos que necesitas a fin de crear un extremo regional de Private Service Connect, pídele a tu administrador que te otorgue los siguientes roles de IAM en la red de VPC:
-
Rol Compute Network Admin (
roles/compute.networkAdmin
) -
Rol DNS Administrator (
roles/dns.admin
)
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
También puedes obtener los permisos necesarios mediante roles personalizados o cualquier otro rol predefinido.
Antes de comenzar
Install the Google Cloud CLI, then initialize it by running the following command:
$ gcloud init
Enable the Compute Engine, Network Connectivity Center, Cloud DNS, and Service Directory APIs.
Habilita las APIs de Google a las que deseas acceder a través de los extremos de Private Service Connect mediante la página APIs y servicios en la consola de Google Cloud. Private Service Connect no habilita de forma automática ninguna API.
Asegúrate de que las reglas de firewall de salida permitan el tráfico al extremo. La configuración predeterminada del firewall para una red de VPC permite este tráfico, porque contiene una regla de permiso de salida implícita. Verifica que no hayas creado una regla de salida de prioridad más alta que bloquee el tráfico.
Lee las Limitaciones.
Crea un extremo regional de Private Service Connect
Puedes crear un extremo de Private Service Connect regional a fin de enviar solicitudes a un extremo regional para una API de Google de destino.
Para obtener una lista de las extremos regionales, consulta Extremos de servicios regionales.
Los nombres de host del extremo regional tienen dos formas:
- Nombres de host públicos:
SERVICE.REGION.rep.DOMAIN
Nombres de host privados:
SERVICE.REGION.p.rep.DOMAIN
El nombre de host privado agrega un subdominio
p
entreREGION
yrep
.
Cuando configuras la API de Google de destino, especificas el formato privado del nombre de host, por ejemplo, spanner.me-central2.p.rep.googleapis.com
. Después de crear el extremo, crea un registro DNS privado para el extremo, mediante el mismo nombre de host regional del extremo.
Aunque puedes configurar el extremo de Private Service Connect con cualquier nombre, para facilitar el mantenimiento, recomendamos usar el nombre del servicio de la API de Google de destino, de modo que el nombre de DNS coincida con el nombre del extremo. Por ejemplo, si el extremo tiene un objetivo de spanner.me-central2.p.rep.googleapis.com
, usa spanner
como el nombre del extremo.
gcloud
Usa el comando gcloud network-connectivity regional-endpoints create
.
gcloud network-connectivity regional-endpoints create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_URI \ --subnetwork=SUBNET_URI \ --target-google-api=REP_NAME
Si deseas que el extremo esté disponible para los recursos en otras regiones, agrega la marca --enable-global-access
.
Reemplaza lo siguiente:
ENDPOINT_NAME
: un nombre para el extremo.REGION
: región en la que deseas crear el extremo.NETWORK_URI
: el URI de la red de VPC del extremo:projects/PROJECT_ID/global/networks/NETWORK_NAME
.SUBNET_URI
: el URI de la subred a la que deseas conectar el extremo:projects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME
.REP_NAME
: el nombre del extremo del servicio regional al que deseas conectarte. Por ejemplo,spanner.me-central2.p.rep.googleapis.com
Enumerar extremos
Puedes enumerar todos los extremos configurados.
Console
En la consola de Google Cloud, ve a la página Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Se muestran todos los extremos, incluidos los que tienen objetivos de extremos regionales.
gcloud
Usa el comando gcloud network-connectivity regional-endpoints list
.
gcloud network-connectivity regional-endpoints list \ --region=REGION
Reemplaza REGION
por la región de los extremos que deseas enumerar.
Verifica que el extremo funcione
Crea una instancia de máquina virtual (VM) en la red de VPC y la región en las que se configura el extremo. Ejecuta el siguiente comando en la VM para verificar que el extremo de Private Service Connect funcione. Los extremos no responden a las solicitudes de ping (ICMP).
curl --connect-to SERVICE.REGION.p.rep.DOMAIN:443:ENDPOINT_IP:443 \ 'SERVICE.REGION.p.rep.DOMAIN/PATH'
Reemplaza lo siguiente:
SERVICE
: el servicio al que apunta tu extremo. Por ejemplo,spanner
ologging
.REGION
: la región del extremo.DOMAIN
: dominio del servicio. Por ejemplo,googleapis.com
ENDPOINT_IP
: la dirección IP del extremo.PATH
: la ruta a un recurso que entrega este servicio. Por ejemplo, muchos servicios ofrecen un documento de descubrimiento con la ruta$discovery/rest?version=v1
.
En la siguiente solicitud de ejemplo, se prueba que un extremo con la dirección IP 192.168.1.100
puede solicitar el documento de descubrimiento de la API de Cloud Spanner del extremo regional en me-central2
.
curl --connect-to spanner.me-central2.p.rep.googleapis.com:443:192.168.1.100:443 \ 'https://spanner.me-central2.p.rep.googleapis.com/$discovery/rest?version=v1'
Crea una entrada de DNS privada para el extremo
Debes crear entradas de DNS para los extremos en este formato: SERVICE.REGION.p.rep.DOMAIN
.
Puedes usar Cloud DNS para crear las entradas de DNS.
Crea una zona de DNS privada que tenga este formato:
REGION.p.rep.DOMAIN
.Por ejemplo, si deseas usar un extremo regional en el dominio
googleapis.com
, en la regiónme-central2
, crea una zona de DNS privada con este nombre:me-central2.p.rep.googleapis.com
.Crea un registro DNS que apunte a la dirección IP asignada al extremo. El nombre de host debe coincidir con el nombre del servicio,
SERVICE
. Por ejemplo,spanner
ologging
son nombres de servicio.
Por ejemplo, si tu extremo está configurado con el spanner.me-central2.p.rep.googleapis.com
de destino, creas una zona de DNS privada llamada me-central2.p.rep.googleapis.com
y un registro A llamado spanner
que apunta a dirección IP del extremo. El nombre de dominio completamente calificado del extremo es spanner.me-central2.p.rep.googleapis.com
.
Configura los clientes para usar el nombre del extremo privado
Debes configurar los clientes para que usen los nombres de DNS privados en lugar de los públicos de DNS. Consulta la documentación de tu cliente o biblioteca cliente para obtener información sobre cómo configurarla con el fin de usar extremos personalizados. Por ejemplo:
Python: puedes configurar
api_endpoint
en Opciones del cliente.Go: puedes configurar
WithEndpoint
en ClientOptions..NET: puedes configurar
Endpoint
en la clase de compilador del cliente.gcloud: Puedes configurar
api_endpoint_overrides
en la gcloud CLI.
Obtén información detallada sobre un extremo
Puedes ver todos los detalles de configuración de un extremo.
gcloud
Usa el comando gcloud network-connectivity regional-endpoints describe
.
gcloud network-connectivity regional-endpoints describe \ ENDPOINT_NAME --region=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME
: El nombre del extremo.REGION
: la región del extremo.
Borra un extremo †
Puedes borrar un extremo.
gcloud
Usa el comando gcloud network-connectivity regional-endpoints delete
.
gcloud network-connectivity regional-endpoints delete \ ENDPOINT_NAME --region=REGION
Reemplaza lo siguiente:
ENDPOINT_NAME
: El nombre del extremo.REGION
: la región del extremo.
Accede a los extremos desde redes híbridas
Los clientes en las redes conectadas a Google Cloud con adjuntos de VLAN para los túneles de Cloud Interconnect o Cloud VPN pueden llegar a los extremos de Private Service Connect.El adjunto de VLAN o el túnel de Cloud VPN deben finalizar en la misma red de VPC (o red de VPC compartida) que el extremo. Los clientes en redes de VPC de intercambio de tráfico no pueden alcanzar extremos.
El tráfico del cliente desde los adjuntos de VLAN o los túneles de Cloud VPN puede llegar a los extremos en otra región si se configura el acceso global.
Dataplane v1 y Dataplane v2 son compatibles con los adjuntos de VLAN. Para obtener más información sobre las versiones de Dataplane, consulta Dataplane v2.
Debes configurar los sistemas en la otra red para que puedan realizar consultas a tus zonas de DNS privadas.
Si implementaste las zonas del DNS privado con Cloud DNS, completa los siguientes pasos:
Crea una política de servidor de entrada en la red de VPC a la que se conecta la otra red.
Identifica los puntos de entrada de reenvío entrantes en la región en la que se encuentra el adjunto de VLAN o el túnel de Cloud VPN, en la red de VPC a la que tu otra red se conecta.
Configura sistemas y servidores de nombres de DNS en la otra red para reenviar los Nombres de DNS para los extremos a un punto de entrada de reenvío entrante en la misma región que el adjunto de VLAN o el túnel de Cloud VPN que se conecta a la red de VPC.