Opciones de acceso privado a los servicios

Google Cloud ofrece varias opciones de acceso privado. Cada opción permite que las instancias de máquina virtual (VM) con direcciones IP internas (RFC 1918) llegue a ciertas API y servicios. Selecciona una opción que te permita acceder a las API y los servicios que necesitas.

En esta tabla, se resume cada opción. Puedes configurar una o todas estas opciones. Funcionan de forma independiente unas de otras.

Opción Clientes Conexión Servicios compatibles Uso
Acceso privado a Google
Instancias de VM de Google Cloud sin direcciones IP externas. Conéctate a las direcciones IP públicas estándar o VIP y dominios de Acceso privado a Google para las API y los servicios de Google a través de la puerta de enlace de Internet predeterminada de la nube virtual privada (VPC). Es compatible con la mayoría de los servicios y las API de Google. También admite el acceso a aplicaciones de App Engine. Usa esta opción para conectarte a las API y los servicios de Google sin tener que proporcionar direcciones IP externas a tus recursos de Google Cloud.
Acceso privado a Google para los hosts locales
Hosts locales con o sin direcciones IP externas. Conéctate a las API y los servicios de Google desde tu red local a través de un túnel de Cloud VPN o Cloud Interconnect mediante uno de los VIP y dominios específicos de Acceso privado a Google. Los servicios de Google a los que puedes acceder dependen del dominio específico de Acceso privado a Google que uses. Usa esta opción para conectarte a los servicios y las API de Google a través de una red de VPC. Con este método, no es necesario que tus hosts locales tengan direcciones IP externas.
Acceso privado a servicios
Instancias de VM de Google Cloud con o sin direcciones IP externas. Conéctate a una red de VPC de Google o administrada por terceros a través de una conexión de intercambio de tráfico entre redes de VPC. Es compatible con algunos servicios de Google o de terceros. Usa esta opción para conectarte a servicios específicos de Google y de terceros sin tener que asignar direcciones IP externas a tus recursos de Google Cloud o Google o de terceros.
Acceso a VPC sin servidores
Instancias de VM de Google Cloud con o sin direcciones IP externas. Conéctate directamente desde los servicios de Google sin servidores a través de una conexión de VPC interna. Entorno estándar de App Engine y funciones de Cloud Functions Usa esta opción para conectarte desde el entorno estándar de App Engine y Cloud Functions directamente a los recursos en una red de VPC en la que se usan direcciones IP internas.

Acceso privado a Google

Las instancias de VM que solo tienen direcciones IP internas (no direcciones IP externas) pueden usar el Acceso privado a Google. Pueden acceder a las direcciones IP externas de los servicios y las API de Google. La dirección IP de origen del paquete puede ser la dirección IP interna principal de la interfaz de red o una dirección en un rango de IP de alias asignado a la interfaz. Si inhabilitas el Acceso privado a Google, las instancias de VM ya no podrán acceder a las API ni a los servicios de Google; solo podrán enviar tráfico dentro de la red de VPC.

El Acceso privado a Google no tiene efecto en las instancias que tienen direcciones IP externas. Las instancias que tengan direcciones IP externas pueden acceder a Internet, según los requisitos de acceso a Internet. No necesitan una configuración especial para enviar solicitudes a las direcciones IP externas de los servicios y las API de Google.

El Acceso privado a Google se habilita subred por subred; es una configuración para subredes en una red de VPC. Si quieres habilitar una subred para el Acceso privado a Google y ver los requisitos, consulta Cómo configurar el Acceso privado a Google.

Servicios compatibles

El Acceso privado a Google permite el acceso a las API de Cloud y Developer y la mayoría de los servicios de Google Cloud, excepto los siguientes servicios:

  • Memcache de App Engine
  • Filestore
  • Memorystore
  • Cloud SQL

En su lugar, el acceso privado a servicios puede ser compatible con uno o más de ellos.

Ejemplo

La red de VPC del siguiente ejemplo cumple el requisito de enrutamiento para el Acceso privado a Google porque tiene rutas a las direcciones IP públicas para las API de Google y servicios cuyos próximos saltos son la puerta de enlace de Internet predeterminada. El Acceso privado a Google está habilitado para subnet-a, pero no para subnet-b.

Implementación del Acceso privado a Google (haz clic para agrandar la imagen)

En la siguiente lista, se proporcionan detalles sobre el diagrama anterior:

  • Las reglas de firewall en la red de VPC se configuraron a fin de permitir la salida a 0.0.0.0/0 (o al menos a los IP del servidor para las API y los servicios de Google).
  • VM A1 puede acceder a las API y servicios de Google, incluido Cloud Storage, ya que su interfaz de red se encuentra en subnet-a, que tiene habilitado el Acceso privado a Google. El Acceso privado a Google se aplica a la instancia porque solo tiene una dirección IP interna.
  • VM B1 no puede acceder a las API ni servicios de Google porque solo tiene una dirección IP interna y el Acceso privado a Google está inhabilitado para subnet-b.
  • VM A2 y VM B2 pueden acceder a las API y los servicios de Google, incluido Cloud Storage, ya que ambas tienen direcciones IP externas. El Acceso privado a Google no tiene ningún efecto sobre si estas instancias pueden acceder a las API y los servicios de Google porque ambas tienen direcciones IP externas.

Acceso privado a Google para los hosts locales

Los hosts locales pueden llegar a las API y los servicios de Google mediante Cloud VPN o Cloud Interconnect desde tu red local a Google Cloud. Los hosts locales pueden enviar tráfico desde los siguientes tipos de direcciones IP de origen:

  • una dirección IP privada, como una dirección RFC 1918
  • una dirección IP pública de uso privado, excepto una dirección IP pública de propiedad de Google (el Acceso privado a Google para hosts locales no permite volver a usar las direcciones IP públicas de Google como fuentes en tu red local)

Si quieres habilitar el Acceso privado a Google para los hosts locales, debes configurar un DNS, las reglas de firewall y las rutas de manera local y en tus redes de VPC. No es necesario habilitar el Acceso privado a Google para ninguna subred en tu red de VPC como se haría con el Acceso privado a Google para las instancias de VM de Google Cloud.

Los hosts locales deben conectarse a las API y los servicios de Google mediante las direcciones IP virtuales (VIP) para los dominios restricted.googleapis.com o private.googleapis.com. Para obtener más información, consulta la sección Dominios y VIP privados del Acceso privado a Google.

Google publica registros A de DNS que resuelven los dominios en un rango VIP. A pesar de que los rangos son de un rango de IP público, Google no publica rutas para ellos. Por lo tanto, debes agregar un anuncio de ruta personalizado en un Cloud Router y tener una ruta estática personalizada apropiada en tu red de VPC para el destino VIP.

La ruta debe tener un destino que coincida con uno de los rangos VIP y un salto siguiente que sea la puerta de enlace de Internet predeterminada. El tráfico que se envía al rango VIP permanece dentro de la red de Google, en lugar de atravesar la Internet pública, porque Google no publica rutas hacia ellos de forma externa.

Para obtener información sobre la configuración, consulta Configuración del Acceso privado a Google para hosts locales.

Dominios específicos del Acceso privado a Google y VIP

En la siguiente tabla, se describen los nombres de dominio y su rango VIP. Debes usar una de estas VIP para el Acceso privado a Google destinado a hosts locales.

Dominio y VIP Servicios compatibles Ejemplo de uso
restricted.googleapis.com
199.36.153.4/30
Habilita el acceso a la API las API de Google y los servicios compatibles con los Controles del servicio de VPC.
Bloquea el acceso a las API de Google y a los servicios que no son compatibles con los Controles del servicio de VPC. No es compatible con las aplicaciones web de G Suite ni con las API de G Suite.
Usa restricted.googleapis.com a fin de que solo los servicios restringidos de los Controles del servicio de VPC estén disponibles para los hosts en tu red de VPC o local.
private.googleapis.com
199.36.153.8/30
Habilita el acceso a la API de la mayoría de las API y servicios de Google, sin importar si son compatibles con los Controles del servicio de VPC. Incluye el acceso a la API de Google Maps, Google Ads, Google Cloud Platform y la mayoría de las API de Google cuyos nombres terminen en googleapis.com. No es compatible con las aplicaciones web de G Suite. Usa private.googleapis.com cuando debas acceder a las API y a los servicios de Google en las siguientes circunstancias:
  • No estás usando los Controles del servicio de VPC.
  • Estás usando los Controles del servicio de VPC, pero también necesitas acceder a servicios que no son compatibles con los Controles del servicio de VPC.

Servicios compatibles

Los servicios disponibles para los hosts locales se limitan a los admitidos por el nombre de dominio y la VIP que se usan a fin de acceder a ellos. Para obtener más información, consulta Dominios y VIP específicos del Acceso privado a Google.

Ejemplo

En este ejemplo, la red local está conectada a una red de VPC a través de un túnel de Cloud VPN. El tráfico de los hosts locales a las API de Google fluye a través del túnel hacia la red de VPC. Una vez que el tráfico llega a la red de VPC, se envía a través de una ruta que usa la puerta de enlace de Internet predeterminada como su siguiente salto. Este salto siguiente permite que el tráfico salga de la red de VPC y se entregue en restricted.googleapis.com (199.36.153.4/30).

Caso práctico del Acceso privado a Google en la nube híbrida (haz clic para agrandar la imagen)
  • La configuración de DNS local asigna solicitudes *.googleapis.com a restricted.googleapis.com, que se resuelve en 199.36.153.4/30.
  • Cloud Router se configuró para anunciar el rango de direcciones IP 199.36.153.4/30 a través del túnel de Cloud VPN mediante un anuncio de ruta personalizado. El tráfico que viaja a las API de Google se enruta a través del túnel a la red de VPC.
  • Se agregaron rutas estáticas personalizadas a la red de VPC que dirige el tráfico con el destino 199.36.153.4/30 a la puerta de enlace de Internet predeterminada (como el siguiente salto). Luego, Google enruta el tráfico al servicio o la API adecuados.
  • Si creaste una zona privada administrada por Cloud DNS destinada a *.googleapis.com que se asigna a 199.36.153.4/30, y autorizaste esa zona para que la use tu red de VPC, las solicitudes a cualquier dominio googleapis.com se enviarán a las direcciones IP que usa restricted.googleapis.com. Con esta configuración, solo se puede acceder a las API compatibles, lo que puede generar que no se tenga acceso a otros servicios. Cloud DNS no admite anulaciones parciales. Si necesitas anulaciones parciales, usa BIND.

Acceso privado a servicios

Google y los terceros (que juntos se conocen como productores de servicios) pueden ofrecer servicios con direcciones IP internas que se alojan en una red de VPC. El acceso privado a servicios permite llegar a esas direcciones IP internas. Esto es útil si deseas que las instancias de VM en tu red de VPC usen direcciones IP internas en lugar de externas. Para obtener detalles acerca del uso del acceso privado a servicios, consulta Cómo configurar el acceso a los servicios privados.

El acceso privado a servicios requiere que primero asignes un rango de direcciones IP internas y, luego, crees una conexión privada. Un rango asignado es un bloque CIDR reservado que no se puede usar en tu red de VPC local. Se reserva para los productores de servicios y evita que se superpongan tu red de VPC y la de ellos. Cuando creas una conexión privada, debes especificar una asignación.

La conexión privada vincula tu red de VPC con la red de VPC del productor de servicios. Esta conexión permite que las instancias de VM en tu red de VPC usen direcciones IP internas para llegar a los recursos de servicio que tienen direcciones IP internas. Las instancias pueden tener direcciones IP externas, pero el acceso a los servicios privados no las requiere ni usa.

Si un productor de servicios ofrece varios servicios, solo necesitas una conexión privada. Cuando creas una conexión privada, se usa la API de Herramientas de redes de servicios para crearla. Sin embargo, Google Cloud implementa esta conexión como una conexión de intercambio de tráfico entre redes de VPC entre tu red de VPC y la del productor de servicios. Por ejemplo, tu red de VPC lo muestra como una conexión de intercambio de tráfico y, para borrar la conexión privada, debes borrar la conexión de intercambio de tráfico.

Puedes usar el acceso privado a servicios solo con los servicios compatibles. Consulta al productor de servicios antes de crear una conexión privada.

Red de productores de servicios

En el lado del productor de servicios de la conexión privada hay una red de VPC, en la que se aprovisionan los recursos de servicio. La red del productor de servicios se crea solo para ti, y lo único que contiene son tus recursos.

Un recurso en la red del productor de servicios es similar a otro recurso en tu red de VPC. Por ejemplo, otros recursos de tu red de VPC pueden acceder a ellos mediante direcciones IP internas. También puedes crear reglas de firewall en tu red de VPC para controlar el acceso a la red del productor de servicios.

Para obtener detalles sobre el lado del productor de servicios, consulta Cómo habilitar el acceso a los servicios privados en la documentación de la infraestructura de servicio. Esta documentación es solo para tu información y no es necesaria a fin de habilitar o usar el acceso a los servicios privados.

Acceso privado a servicios y conectividad local

En situaciones de redes híbridas, una red local se conecta a una red de VPC mediante una conexión de Cloud VPN o Cloud Interconnect. De forma predeterminada, los hosts locales no pueden acceder a la red del productor de servicios mediante el acceso privado a servicios.

En la red de VPC, es posible que tengas rutas estáticas o dinámicas personalizadas para dirigir el tráfico a tu red local de manera correcta. Sin embargo, la red del productor del servicio no contiene esas mismas rutas. Cuando creas una conexión privada, la red de VPC y la red del productor de servicios solo intercambian rutas de subred.

Debes exportar las rutas personalizadas de la red de VPC para que la red del proveedor de servicios pueda importarlas y direccionar el tráfico a tu red local de forma correcta.

Para exportar rutas personalizadas, debes crear una conexión privada y, luego, modificar la configuración de intercambio de tráfico de VPC subyacente. Para obtener información sobre cómo crear una conexión privada, consulta Configuración del acceso a los servicios privados. Para obtener información sobre cómo exportar rutas personalizadas, consulta Actualiza una conexión de intercambio de tráfico.

Servicios compatibles

Estos servicios de Google son compatibles con el acceso privado a servicios:

Ejemplo

En el siguiente ejemplo, la red de VPC del cliente asignó el rango de direcciones 10.240.0.0/16 para los servicios de Google y estableció una conexión privada que usa el rango asignado. Cada servicio de Google crea una subred del bloque asignado para aprovisionar recursos nuevos en una región determinada, como las instancias de Cloud SQL.

Acceso privado a servicios (haz clic para agrandar la imagen)
  • Se le asigna el rango 10.240.0.0/16 a la conexión privada. A partir de esta asignación, los servicios de Google pueden crear subredes donde se aprovisionan recursos nuevos.
  • Del lado de los servicios de Google de la conexión privada, Google crea un proyecto para el cliente. El proyecto está aislado, lo que significa que no se comparte con ningún otro cliente y que al cliente solo se le facturan los recursos con los que se aprovisionó.
  • Cada servicio de Google crea una subred en la que aprovisionar recursos. Por lo general, el rango de direcciones IP de la subred es un bloque CIDR /24 que elige el servicio y proviene del rango de direcciones IP asignadas. No puedes modificar la subred del productor de servicios. Un servicio aprovisiona recursos nuevos en subredes regionales existentes que ese servicio creó antes. Si una subred está llena, el servicio crea una nueva subred en la misma región.
  • Las instancias de VM en la red del cliente pueden acceder a los recursos de servicio en cualquier región si el servicio lo admite. Es posible que algunos servicios no admitan la comunicación entre regiones. Por ejemplo, las instancias de VM solo se pueden comunicar con las instancias de Cloud SQL que estén en la misma región. Para obtener más información, consulta la documentación del servicio relevante.
  • Se aplicarán costos de salida para el tráfico interregional, en el que una instancia de VM se comunica con recursos en una región diferente.
  • A la instancia de Cloud SQL se le asigna la dirección IP 10.240.0.2. En la red de VPC del cliente, las solicitudes con un destino de 10.240.0.2 se enrutan a la conexión privada a la red del productor del servicio. Después de llegar a la red de servicio, la red de servicio contiene rutas que dirigen la solicitud al recurso correcto.
  • El tráfico entre redes de VPC fluye a nivel interno dentro de la red de Google, no a través de la Internet pública.

Acceso a VPC sin servidores

El Acceso a VPC sin servidores te permite conectarte desde el entorno estándar de App Engine y Cloud Functions directamente a tu red de VPC. Esta conexión permite que tus apps del entorno estándar de App Engine y Cloud Functions accedan a los recursos en tu red de VPC a través de direcciones IP internas.

Con el acceso a VPC sin servidores, se crea un conector en tu proyecto de Google Cloud y se adjunta a una red de VPC. A continuación, configura tus servicios sin servidores (como apps de App Engine o Cloud Functions) a fin de usar este conector para el tráfico de red interno.

El Acceso a VPC sin servidores solo permite que la app o función envíe solicitudes a los recursos de la red de VPC y reciba respuestas a esas solicitudes. La comunicación en la dirección opuesta, en la que una VM inicia una solicitud a una app o función, requiere que uses la dirección pública de una o la otra. Consulta la sección sobre el Acceso privado a Google para obtener más detalles.

El acceso a VPC sin servidores no admite redes heredadas ni redes Shared VPC. Para obtener más información, consulta Cómo configurar el Acceso a VPC sin servidores.

Servicios compatibles

Los siguientes servicios de Google son compatibles con los conectores del Acceso a VPC sin servidores:

  • Entorno estándar de App Engine
    • Todos los entornos de ejecución, excepto PHP 5.5 y Go 1.9
  • Cloud Functions

Ejemplo

En el siguiente ejemplo, una app del entorno estándar de App Engine y Cloud Functions usan un conector de Acceso a VPC sin servidores para enviar solicitudes a recursos internos en la red de VPC.

Ejemplo del Acceso a VPC sin servidores (haz clic para ampliar)
Ejemplo del Acceso a VPC sin servidores (haz clic para ampliar)
  • El conector del Acceso a VPC sin servidores está en el mismo proyecto y la misma región que la app de App Engine y Cloud Functions.
  • El conector está conectado a la red de VPC que contiene los recursos de destino. El conector puede acceder a los recursos en otras redes de VPC y proyectos de Google Cloud si usas el intercambio de tráfico entre redes de VPC.
  • Al conector se le asigna el rango de IP 10.8.0.0/28. Las solicitudes enviadas desde el conector al destino tienen una dirección IP de origen en este rango.
  • La app de App Engine y Cloud Functions llegan a los recursos de destino mediante el envío de solicitudes a sus direcciones IP internas, 10.0.0.4 y 10.1.0.2. Los recursos de destino pueden estar en cualquier región. Los costos de salida aplican al tráfico enviado desde el conector a un recurso en una región diferente.
  • Las solicitudes enviadas desde App Engine y Cloud Functions a direcciones IP internas (privadas) viajan a nivel interno a través del conector del Acceso a VPC sin servidores hasta el recurso de destino. Las solicitudes enviadas a direcciones IP externas (públicas) viajan a través de la Internet pública.

Próximos pasos