En este documento, se explica cómo el acceso privado a servicios proporciona conectividad de IP privada para Cloud SQL y se aborda la asignación de direcciones IP, las consideraciones de red y seguridad, y la conectividad de varias VPC.
El acceso privado a servicios se implementa como una conexión de intercambio de tráfico entre redes de VPC entre la red de VPC y la red de VPC del proveedor de servicios en la que reside tu instancia de Cloud SQL. Esta conexión de red privada permite que las instancias de VM en tu red de VPC y los Google Cloud servicios a los que accedes se comuniquen de forma exclusiva con tu instancia de Cloud SQL mediante direcciones IP privadas. Las instancias de VM no necesitan acceso a Internet o direcciones IP externas para alcanzar los servicios que están disponibles a través del acceso privado a los servicios.
Direcciones IP
Para usar el acceso privado a servicios en una red de VPC, se debe disponer de uno o más
rangos de direcciones IP para la VPC
(para obtener más información sobre las direcciones IP, consulta Direcciones IP).
Estos rangos deben ser lo suficientemente grandes para Cloud SQL y cualquier otro Google Cloud
servicio administrado que planees usar. Cloud SQL y otros Google Cloud
servicios requieren bloques de IP dedicados de los rangos asignados.
El tamaño mínimo para esos bloques es de 256 direcciones (longitud del prefijo /24), aunque el tamaño recomendado es de 65,536 direcciones (longitud del prefijo /16).
Si vas a crear instancias en varias regiones o para diferentes tipos de bases de datos, debes tener al menos un rango /24 de direcciones IP disponibles para cada región o tipo de base de datos. Esto incluye otras aplicaciones, como
Filestore o Memorystore.
Cuando configuras el acceso privado a servicios, puedes seleccionar un rango existente o asignar uno nuevo. Si permites que Google Cloud se asigne el rango por ti, como se
describe en la siguiente sección, se Google Cloud asigna un rango de longitud de prefijo /24
con el nombre default-ip-range.
Cuándo usar rangos CIDR separados
Dado que Cloud SQL usa rangos CIDR /24 como una unidad de rango de IP, existen varias condiciones en las que se requieren rangos /24 separados.
- Separación regional: Si creas dos instancias de Cloud SQL en dos regiones separadas, debes asignar al menos dos rangos CIDR /24 separados. Cada unidad de rango de IP solo se puede usar para instancias de Cloud SQL dentro de una sola región.
- Separación forzada de la arquitectura de red:
Las instancias que creas
con la marca
--enforce-new-sql-network-architecture(o el campo de API equivalente) no pueden compartir la misma unidad de rango de IP con las instancias del mismo proyecto que usan la arquitectura de red anterior. Las instancias que creas con la nueva arquitectura de red requieren sus propios rangos /24 dedicados en cada región.
Ejemplo de acceso privado a servicios
En este ejemplo, la red de VPC asignó el rango de direcciones
10.240.0.0/16 para Google Cloud los servicios y estableció una conexión privada
con ese rango. Cada Google Cloud servicio (por ejemplo,
Cloud SQL) crea una subred a partir del bloque asignado para aprovisionar recursos nuevos
en una región determinada, como las instancias de Cloud SQL.
En el diagrama, se ilustran los siguientes aspectos de la configuración de acceso privado a servicios:
- Se asigna el rango
10.240.0.0/16a la conexión privada. Con esta asignación, Google Cloud los servicios pueden crear subredes en las que se aprovisionan recursos nuevos. - En el Google Cloud lado de los servicios de la conexión privada, Google Cloud se crea un proyecto para el cliente. El proyecto está aislado, lo que significa que ningún otro cliente lo comparte y se le factura al cliente solo por los recursos que aprovisiona.
- Cada Google Cloud servicio crea una subred en la que se aprovisionan recursos.
El rango de direcciones IP de la subred suele ser un bloque de enrutamiento entre dominios sin clase (CIDR)
/24que elige el servicio y proviene del rango de direcciones IP asignado. 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. Consulta la documentación del servicio pertinente para obtener más información.
- Se siguen aplicando costos de transferencia de datos salientes para el tráfico entre regiones, en el que una instancia de VM se comunica con recursos de 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 destino10.240.0.2se enrutan a la conexión privada a través de la red del productor de servicios. Después de que la solicitud llega a la red de servicios, esta contiene rutas que dirigen la solicitud al recurso correcto. - El tráfico entre redes de VPC fluye de forma interna dentro de la Google Cloud red, no a través de la Internet pública.
Consideraciones de red
Cloud SQL asigna una subred /24 del rango de IP de acceso privado a servicios para cada región. Por ejemplo, para colocar instancias de SQL Server en dos regiones, se requiere que el rango de direcciones IP asignado contenga al menos dos subredes disponibles de tamaño /24.
Las conexiones a una instancia de Cloud SQL mediante una dirección IP privada se autorizan de forma automática para los rangos de direcciones RFC 1918. De esta manera, todos los clientes privados pueden acceder a la base de datos sin pasar por el proxy de autenticación de Cloud SQL.
De forma predeterminada, Cloud SQL no procesa rutas de subred de tu VPC que no son RFC 1918. Debes actualizar el intercambio de tráfico entre redes a Cloud SQL para exportar cualquier ruta que no sea RFC 1918.
Consideraciones de seguridad
El tráfico a través del acceso privado a servicios se proporciona con un cierto nivel de encriptación. Para obtener más información, consulta Google Cloud Autenticación y encriptación de redes virtuales.
El proxy de autenticación de Cloud SQL se puede configurar para conectarse mediante el acceso privado a servicios y proporciona autenticación con credenciales de IAM y encriptación de extremo a extremo con un certificado SSL/TLS que se puede rotar.
Si tus requisitos de seguridad exigen certificados SSL/TLS autoadministrados que administras, consulta las instrucciones que se proporcionan en Configura SSL/TLS.
Crear una red de VPC para cada instancia con una dirección IP privada proporciona un mejor aislamiento de red que colocar todas las instancias en la red de VPC “predeterminada”.
Conectividad de varias VPC
Cloud SQL admite direcciones IP privadas a través de acceso privado a servicios. Cuando creas una instancia de Cloud SQL, Cloud SQL crea la instancia dentro de su propia red de VPC, llamada VPC de Cloud SQL. Para habilitar una IP privada, debes configurar una conexión de intercambio de tráfico entre la VPC de Cloud SQL y tu red de VPC. Esto permite que los recursos de la red de VPC accedan a las direcciones IP internas de tus recursos de Cloud SQL en la red de VPC de Cloud SQL.
Mediante el Intercambio de tráfico entre redes de VPC, Cloud SQL implementa el acceso privado a servicios de forma interna, lo que permite que las direcciones IP internas se conecten entre dos redes de VPC, sin importar si pertenecen al mismo proyecto u organización. Sin embargo, debido a que el intercambio de tráfico entre redes de VPC no es transitivo, solo transmite las rutas entre las dos VPC que intercambian tráfico de forma directa. Si tienes una VPC adicional, no podrá acceder a tus recursos de Cloud SQL mediante la conexión configurada con tu VPC original.
Para mitigar esta limitación y conectar tu instancia de Cloud SQL a varias VPC mediante direcciones IP privadas, puedes usar las siguientes opciones de conexión:
- Conéctate con rutas anunciadas personalizadas
- Conéctate con un proxy intermedio (SOCKS5)
- Conéctate con el proxy de autenticación de Cloud SQL como servicio
Para obtener más información sobre cómo conectar varias VPC, consulta Conecta tu instancia a varias redes de VPC.
Próximos pasos
- Obtén más información sobre direcciones IP.
- Obtén más información sobre Cloud VPN.
- Obtén más información sobre las redes de VPC.
- Obtén más información sobre el intercambio de tráfico entre redes de VPC.
- Obtén más información sobre la VPC compartida.