En este documento, se describe cómo configurar la conectividad privada de hosts en una red de VPC o una red local a los servicios y las API de Google que son compatibles con los Controles del servicio de VPC.
Antes de leer este documento, te recomendamos que te familiarices con los conceptos de Acceso privado a Google, las especificaciones y la configuración de red. Consulta ejemplos de diagramas de topología sobre el uso del Acceso privado a Google con los Controles del servicio de VPC.
Antes de comenzar
- Habilita las API a las que deseas acceder a través de la página de API y servicios en la consola de Google Cloud.
- Asegúrate de tener la función necesaria para crear o actualizar las subredes. Los propietarios del proyecto, los editores y las principales de IAM con la función de administrador de red pueden crear o actualizar las subredes y asignar direcciones IP. Para obtener más información sobre las funciones, consulta la documentación sobre las funciones de IAM.
- Verifica que una red de VPC esté configurada para el Acceso privado a Google y el Acceso privado a Google para los hosts locales. Se admiten las redes de VPC en modo automático y personalizado. No se admiten las redes heredadas.
- Asegúrate de que las instancias de VM en una red de VPC tengan una dirección IP privada (sin dirección IP pública) y que estén en una subred que tenga habilitado el Acceso privado a Google.
- Para los hosts locales, asegúrate de tener una Cloud VPN existente. túnel o una conexión de Cloud Interconnect a tu de VPC de Google Cloud. Para admitir hosts locales que tienen direcciones IPv6 consulta Compatibilidad con IPv6.
Descripción general del procedimiento
Para configurar la conectividad privada, completa las siguientes tareas:
- Configura las rutas para los
restricted.googleapis.com
rangos de direcciones IP. Para para obtener más información, consulta Cómo configurar rutas. - Configura reglas de firewall para permitir que el tráfico adecuado llegue
restricted.googleapis.com
de rangos de direcciones IP. Para obtener más información, consulta Configura reglas de firewall. - Configura el DNS para que el tráfico hacia las APIs de Google se resuelva en
restricted.googleapis.com
de rangos de direcciones IP. Para obtener más información, consulta Configura el DNS.
Compatibilidad con IPv6 para restricted.googleapis.com
Puedes acceder a las APIs de Google usando el rango de direcciones IPv6 para
el dominio restricted.googleapis.com
: 2600:2d00:0002:1000::/64
.
Considera configurar las direcciones IPv6 si deseas usar el dominio restricted.googleapis.com
tener clientes que usan direcciones IPv6. Los clientes IPv6 que también tienen direcciones IPv4 configuradas pueden acceder a los servicios y las APIs de Google mediante las direcciones IPv4. No todos los servicios aceptan tráfico de
clientes IPv6.
Permitir que los clientes IPv6 de tu entorno local accedan a las APIs de Google con
restricted.googleapis.com
, debes configurar la conexión a tu VPC
red de VPC para admitir IPv6. Si deseas obtener más información, consulta las siguientes páginas:
- Compatibilidad con IPv6 para VPN con alta disponibilidad
- Los protocolos IP son compatibles Cloud Router
Los clientes locales pueden enviar solicitudes desde cualquier dirección IPv6 GUA o ULA, excepto el rango ULA fda3:e722:ac3:cc00::/64
, que está reservado para uso interno.
Para obtener más información sobre la VIP de restricted.googleapis.com
, consulta Cómo configurar
Acceso privado a Google.
Conectividad directa a APIs y servicios
Algunos servicios y APIs de Google ofrecen conectividad directa desde Compute Engine
de máquina virtual (VM), con el fin de evitar Google Front End
(GFE). Permitir
debes asegurarte de que tus rutas y reglas de firewall permitan
tráfico para llegar a 34.126.0.0/18
y 2001:4860:8040::/42
.
No es necesario crear registros DNS para estas direcciones. Varios servicios de Google Cloud
servicios compatibles con la conectividad directa para mejorar el rendimiento de Google
APIs de gRPC. Para habilitar este rendimiento mejorado, debes proporcionar acceso al
rangos de direcciones IP específicos.
La conectividad directa solo es compatible con los recursos de Google Cloud. No puedes usar conectividad directa desde hosts locales.
Los servicios que ofrecen conectividad directa con los Controles del servicio de VPC.
Configura rutas a restricted.googleapis.com
Aunque los Controles del servicio de VPC se aplican
servicios, independientemente del dominio que uses, restricted.googleapis.com
proporciona
una mitigación adicional del riesgo de robo de datos. restricted.googleapis.com
rechaza el acceso a los servicios y a las API de Google que no son compatibles con los Controles del servicio de VPC.
Para el Acceso privado a Google y el Acceso privado a Google para el entorno local
de VPC, tu red de VPC debe incluir una ruta para la
restricted.googleapis.com
rangos de direcciones IP cuyo próximo salto es el predeterminado
puerta de enlace de Internet. Aunque el próximo salto es una puerta de enlace de Internet predeterminada, el
el tráfico que se envía a restricted.googleapis.com
permanece dentro de la red de Google.
Si tu red de VPC no tiene un
default route cuyo próximo salto es el
puerta de enlace de Internet predeterminada, puedes crear una ruta estática
es el rango de direcciones IP restricted.googleapis.com
y cuyo próximo salto es el
de Internet predeterminada. Para evitar el acceso a Internet, debes quitar
a otras rutas cuyo próximo salto sea la puerta de enlace de Internet predeterminada.
Para obtener más información sobre cómo trabajar con rutas de VPC, consulta Usa rutas en la documentación de VPC.
Configurar rutas estáticas personalizadas en una red de VPC
Agrega rutas estáticas personalizadas para habilitar el acceso a los servicios administrados por Google que son compatibles con los Controles del servicio de VPC.
gcloud compute routes create ROUTE_NAME \ --network=NETWORK_NAME \ --destination-range=DESTINATION_RANGE \ --next-hop-gateway=default-internet-gateway
Reemplaza lo siguiente:
ROUTE_NAME
: Es un nombre para la ruta personalizada.NETWORK_NAME
es el nombre de tu red de VPC.DESTINATION_RANGE
: El rango de destino de la ruta- Para enrutar el tráfico a la VIP de
restricted.googleapis.com
, usa el siguiente comando: intervalos:- Para el tráfico IPv4:
199.36.153.4/30
- Para el tráfico IPv6:
2600:2d00:0002:1000::/64
- Para el tráfico IPv4:
- Para enrutar el tráfico a las APIs que permiten el tráfico directo
conectividad, usa los siguientes rangos:
- Para el tráfico IPv4:
34.126.0.0/18
- Para el tráfico IPv6:
2001:4860:8040::/42
- Para el tráfico IPv4:
- Para enrutar el tráfico a la VIP de
Anuncia la ruta restringida a los hosts en una red local
Si usas el Acceso privado a Google para hosts locales, configura las rutas a fin de que el tráfico de la API de Google se reenvíe a través de Cloud VPN o de la conexión de Cloud Interconnect. Cómo anunciar los rangos de direcciones VIP restringidos a tu red local, usa un anuncio personalizado de Cloud Router automático. El los rangos de direcciones VIP restringidos solo son accesibles para los hosts locales que llegue a tu red de VPC a través de direcciones IP privadas.
Puedes agregar esta ruta anunciada personalizada a un Cloud Router (para todos sesiones de BGP en el router) o una sesión de BGP seleccionada (para una sola Cloud VPN) túnel o adjunto de VLAN).
Las rutas IPv6 solo se anuncian en las sesiones de BGP en las que IPv6 está habilitado.
Crear una ruta anunciada personalizada para el rango restringido de todos los BGP en un Cloud Router existente, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Cloud Routers.
Selecciona el Cloud Router que quieres actualizar.
En la página de detalles de Cloud Router, haz clic en Editar.
Expande la sección Rutas anunciadas.
En Rutas, selecciona Crear rutas personalizadas.
A fin de seguir anunciando las subredes disponibles para Cloud Router, selecciona Anunciar todas las subredes visibles para Cloud Router. Habilitar esta opción imita el comportamiento predeterminado de Cloud Router.
Para agregar una ruta anunciada, selecciona Agregar ruta personalizada .
Configura el anuncio de ruta.
- Fuente: Selecciona Rango de IP personalizado.
- Rango de direcciones IP:
- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4:
- Descripción: agrega una descripción de
Restricted Google APIs IPs
Después de agregar rutas, selecciona Guardar.
gcloud
Ejecuta el comando update
y usa las marcas --set-advertisement-ranges
o --add-advertisement-ranges
para especificar los rangos de IP personalizados:
Para establecer rangos de IP personalizados, usa la marca
--set-advertisement-ranges
. Cualquiera se reemplazan las rutas personalizadas anunciadas existentes. En el siguiente ejemplo, actualiza el Cloud Routermy-router
para anunciar todas las subredes y los rangos de direcciones IPrestricted.googleapis.com
.gcloud compute routers update my-router \ --advertisement-mode CUSTOM \ --set-advertisement-groups ALL_SUBNETS \ --set-advertisement-ranges RANGES
Reemplaza
RANGES
por los rangos que deseas usar:- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4 e IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Para la conectividad IPv4:
Para agregar rangos de IP personalizados a un anuncio existente, usa la marca
--add-advertisement-ranges
. Ten en cuenta que esta marca requiere que el modo del anuncio del Cloud Router ya esté configurado encustom
. En el siguiente ejemplo, se agrega la dirección IPrestricted.googleapis.com
. a los anuncios de Cloud Router:gcloud compute routers update my-router \ --add-advertisement-ranges RANGES
Reemplaza
RANGES
por los rangos que deseas usar:- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4 e IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Para la conectividad IPv4:
Para crear una ruta anunciada personalizada para el rango restringido en un BGP específico de un Cloud Router existente, sigue estos pasos:
Console
En la consola de Google Cloud, ve a la página Cloud Routers.
Selecciona el Cloud Router que contiene la sesión de BGP que quieres actualizar.
En la página de detalles de Cloud Router, selecciona la sesión de BGP que quieres actualizar.
En la página de detalles de la sesión de BGP, selecciona Editar.
En Rutas, selecciona Crear rutas personalizadas.
Selecciona Anunciar todas las subredes visibles para Cloud Router. Esto hará que continúe el anuncio de las subredes disponibles en el Cloud Router. Habilitar esta opción imita el comportamiento predeterminado de Cloud Router.
Selecciona Agregar ruta personalizada para agregar una ruta anunciada.
Configura el anuncio de ruta.
- Origen: Selecciona Rango de IP personalizado para especificar una IP personalizada del rango de destino de la ruta.
- Rango de direcciones IP:
- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4:
- Descripción: Agrega una descripción de
Restricted Google APIs IPs
.
Cuando termines de agregar las rutas, selecciona Guardar.
gcloud
Ejecuta el comando update-bgp-peer
mediante las marcas --set-advertisement-ranges
o --add-advertisement-ranges
para especificar los rangos de IP personalizados.
Para establecer rangos de IP personalizados, usa la marca
--set-advertisement-ranges
. Cualquiera se reemplazan las rutas personalizadas anunciadas existentes.Si agregas rangos personalizados IPv6, y si el tráfico IPv6 está inhabilitado para la sesión de BGP, puedes habilitarlo con la marca
--enable-ipv6
.Con el siguiente ejemplo, se actualiza la sesión de BGP
my-bgp-session
en elmy-router
para anunciar todas las subredes y las rango de IP personalizado:gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --advertisement-mode CUSTOM \ --set-advertisement-groups ALL_SUBNETS \ --set-advertisement-ranges RANGES
Reemplaza
RANGES
por los rangos que deseas usar:- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4 e IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
- Para la conectividad IPv4:
Para agregar rangos de IP personalizados a los existentes, usa la marca
--add-advertisement-ranges
. Ten en cuenta que esta marca requiere que el modo del anuncio del Cloud Router ya esté configurado encustom
.Si agregas rangos personalizados IPv6, y si el tráfico IPv6 está inhabilitado para la sesión de BGP, puedes habilitarlo con la marca
--enable-ipv6
.En el siguiente ejemplo, se agregan los rangos de direcciones VIP restringidos al Anuncios de Cloud Router:
gcloud compute routers update-bgp-peer my-router \ --peer-name my-bgp-session \ --add-advertisement-ranges RANGES
Reemplaza
RANGES
por los rangos que deseas usar:- Para la conectividad IPv4:
199.36.153.4/30
- Para la conectividad IPv6:
2600:2d00:0002:1000::/64
- Para la conectividad IPv4 e IPv6:
199.36.153.4/30,2600:2d00:0002:1000::/64
Para obtener más información sobre el modo de anuncio personalizado, consulta Personalizado rutas anunciadas.
- Para la conectividad IPv4:
Configura reglas de firewall
En el Acceso privado a Google, las instancias de VM usan direcciones IP internas y no requieren direcciones IP externas para alcanzar los recursos protegidos de la API de Google. Sin embargo, es posible que las instancias de VM tengan direcciones IP externas o Cumplir con los requisitos de acceso a Internet Además de las rutas anunciadas personalizadas, puedes restringir de salida de instancias de VM en tu red de VPC creando reglas de firewall para rechazar el tráfico de salida.
De forma predeterminada, la regla de firewall de permiso de salida implícita permite que las instancias de VM envíen tráfico a cualquier destino si hay una ruta aplicable. Primero, puedes crear una regla de denegación de salida para bloquear todo el tráfico saliente. Luego, puedes crear reglas
reglas de salida prioritarias que permiten el tráfico a destinos seleccionados en tu
a la red de VPC y a la dirección IP restricted.googleapis.com
o rangos. Todas las comunicaciones con restricted.googleapis.com
se realizan mediante TCP.
puerto 443
.
Para permitir que el tráfico de Google Cloud llegue a restricted.googleapis.com
VIP, agrega reglas de firewall para los siguientes destinos:
- Para el tráfico IPv4:
199.36.153.4/30
- Para el tráfico IPv6:
2600:2d00:0002:1000::/64
Para permitir que el tráfico de Google Cloud llegue a las APIs y servicios que permiten conectividad directa, agrega reglas de firewall para la los siguientes destinos:
- Para el tráfico IPv4:
34.126.0.0/18
- Para el tráfico IPv6:
2001:4860:8040::/42
Para obtener más información sobre cómo trabajar con reglas de firewall de VPC, consulta Usa reglas de firewall de VPC en la Documentación de Cloud Next Generation Firewall.
Configura tus reglas de firewall locales para permitir que el tráfico
los hosts locales llegan a la dirección IP restricted.googleapis.com
o rangos.
- Para el tráfico IPv4:
199.36.153.4/30
- Para el tráfico IPv6:
2600:2d00:0002:1000::/64
La conectividad directa a las APIs y los servicios de Google no es compatibles con redes locales.
Configura un DNS
Puedes usar zonas privadas administradas para tus redes de VPC.
Las zonas de DNS privadas de Cloud DNS te permiten alojar una zona DNS a la que se puede acceder desde redes de VPC autorizadas.
Para configurar el reenvío desde ciertos servidores de nombres locales, puedes usar el
restricted.googleapis.com
de rangos de direcciones IP.
Luego, puedes crear una zona privada para googleapis.com
con un registro A de DNS que
asigna restricted.googleapis.com
y los registros CNAME apropiados para cada
Nombre de *.googleapis.com
. Para obtener más información, consulta
Administra zonas.
Para el acceso local, puedes configurar una política de reenvío de entrada de Cloud DNS a fin de permitir que los servidores de nombres locales consulten una zona privada administrada de Cloud DNS, o puedes configurar un servidor de nombres local, como uno que use BIND:
Configura DNS con Cloud DNS
Usa Cloud DNS a fin de habilitar la resolución de DNS para instancias de VM en la red de VPC, en hosts en una red local o en ambas opciones. Si estás mediante una VPC compartida, consulta Zonas privadas y VPC compartida. en la documentación de Cloud DNS. Además, si usas una VPC compartida, te recomendamos que incluyas el proyecto host de red de VPC compartida en el mismo como proyectos que se conectan a la red.
Configura Cloud DNS mediante zonas privadas
Puedes usar zonas privadas para configurar Cloud DNS:
Crea una zona privada administrada para tu red de VPC.
gcloud dns managed-zones create ZONE_NAME \ --visibility=private \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --description=DESCRIPTION \ --dns-name=googleapis.com
Reemplaza lo siguiente:
ZONE_NAME
es un nombre para la zona que estás creando. Por ejemplo,vpc
Este nombre se usa en cada uno de los siguientes pasos.PROJECT_ID
es el ID del proyecto que contiene tu red de VPC.NETWORK_NAME
: El nombre de tu red de VPCDESCRIPTION
es una descripción opcional y legible de la zona administrada.
Inicia una transacción.
gcloud dns record-sets transaction start --zone=ZONE_NAME
Reemplaza
ZONE_NAME
por el nombre de la zona que creaste en el primer paso.Agrega registros DNS.
gcloud dns record-sets transaction add --name=*.googleapis.com. \ --type=CNAME restricted.googleapis.com. \ --zone=ZONE_NAME \ --ttl=300
Reemplaza
ZONE_NAME
por el nombre de la zona que creaste en el primer paso.gcloud dns record-sets transaction add --name=restricted.googleapis.com. \ --type=A
199.36.153.4
,199.36.153.5
,199.36.153.6
,199.36.153.7
\ --zone=ZONE_NAME \ --ttl=300Reemplaza
ZONE_NAME
por el nombre de la zona que creaste en el primer paso.Si configuras las direcciones IPv6 para
restricted.googleapis.com
, también crea el siguiente conjunto de registros:gcloud dns record-sets transaction add --name=restricted.googleapis.com. \ --type=AAAA 2600:2d00:0002:1000:: \ --zone=ZONE_NAME \ --ttl=300
Ejecuta la transacción.
gcloud dns record-sets transaction execute --zone=ZONE_NAME
Reemplaza
ZONE_NAME
por el nombre de la zona que creaste en el primer paso.Opcional. Para permitir que los hosts locales lleguen a la VIP restringida, completa los siguientes pasos:
Crea una política de DNS y habilita el reenvío de DNS entrante a fin de que los servicios de resolución de nombres de la red de VPC estén disponibles de forma externa para los sistemas en redes locales.
gcloud dns policies create POLICY_NAME \ --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \ --enable-inbound-forwarding \ --description=DESCRIPTION
Reemplaza lo siguiente:
POLICY_NAME
es un nombre para la política que estás creando. Por ejemplo,apipolicy
.PROJECT_ID
es el ID del proyecto que contiene tu red de VPC.NETWORK_NAME
es el nombre de tu red de VPC.DESCRIPTION
es una descripción opcional y legible de la zona administrada.
En la red local, apunta el DNS local hacia la dirección IP de reenvío de Cloud DNS. Para encontrar la dirección IP de reenvío, usa el comando
compute addresses list
:gcloud compute addresses list --filter='name ~ ^dns-forwarding.*' \ --format='csv[no-heading](address, subnetwork)'
Configura DNS con BIND
Si usas BIND en la resolución de DNS, puedes configurarlo para resolver las solicitudes a la API de Google en las API de Google restringidas. Usa el siguiente ejemplo de configuración de BIND, que utiliza una política de respuestas zonas (RPZ) para lograr este comportamiento:
Agrega las siguientes líneas a
/etc/bind/named.conf
:include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local";
Agrega las siguientes líneas a
/etc/bind/named.conf.options
:options { directory "/var/cache/bind"; dnssec-validation no; auth-nxdomain no; # conform to RFC 1035 listen-on-v6 { any; }; listen-on { any; }; response-policy { zone "googleapis.zone"; }; allow-query { any;}; };
Agrega las siguientes líneas a
/etc/bind/named.conf.local
:include "/etc/bind/named.conf.default-zones";
zone "googleapis.zone" { type master; file "/etc/bind/db.googleapis.zone"; allow-query {none;}; };
Agrega las siguientes líneas a
/etc/bind/db.googleapis.zone
:$TTL 1H @ SOA LOCALHOST. noreply.localhost(1 1h 15m 30d 2h) NS LOCALHOST.
*.googleapis.com CNAME restricted.googleapis.com. restricted.googleapis.com CNAME rpz-passthru.
Configura DNS en casos especiales
Cuando necesites configurar el DNS en casos especiales, ten en cuenta lo siguiente:
- No se admite BIND personalizado cuando se usa Dataflow. Para personalizar la resolución de DNS cuando usas Dataflow con los Controles del servicio de VPC, usa las zonas privadas de Cloud DNS, en lugar de los servidores BIND personalizados. Para usar tu resolución de DNS local, considera usar un método de reenvío de DNS de Google Cloud.
Es posible que también debas configurar el DNS para
gcr.io
si, por ejemplo, usas Google Kubernetes Engine (GKE). Si deseas obtener más información, consulta Configura Container Registry para clústeres privados de GKE.