IP privada

En esta página, se proporciona información sobre el uso de IP privadas con Cloud SQL. Si deseas obtener instrucciones paso a paso para configurar una instancia de Cloud SQL a fin de usar una IP privada, consulta Configura una IP privada.

Descripción general

Cuando configuras una instancia de Cloud SQL para que use una IP privada, debes usar el acceso a servicios privados. El acceso a servicios privados se implementa como una conexión de intercambio de tráfico de VPC entre tu red de VPC y la red de VPC de los servicios de Google en los que reside tu instancia de Cloud SQL. El tráfico de la IP con acceso a servicios privados nunca se expone a la Internet pública.

Puedes usar el acceso privado a servicios para conectarte a los siguientes recursos:

  • Recursos de Cloud SQL con acceso a una red de VPC

  • Recursos de Cloud SQL de fuentes externas a través de un túnel VPN o Cloud Interconnect hacia la red de VPC

Puedes conectarte mediante una IP privada desde cualquier región. También puedes conectarte mediante VPC compartidas entre proyectos.

En el siguiente diagrama, se muestra una instancia de Compute Engine (VM1) en el mismo proyecto de GCP que las instancias de Cloud SQL configuradas con IP privada (DB1 y DB2). Las direcciones IP de las instancias de Cloud SQL están en el rango asignado por el acceso privado a los servicios y tienen intercambio de tráfico con la red de VPC a través de la conexión privada a los servicios.

Diagrama de descripción general de la configuración de IP privada Descrito en el texto anterior

Beneficios

Si usas una IP privada para conectarte a Cloud SQL, obtendrás algunos beneficios que el uso de direcciones IP públicas no proporciona:

  • La IP privada puede proporcionar una latencia de red menor que la IP pública.

  • El tráfico de servicios privados nunca se expone en la Internet pública. Por lo tanto, los vectores de ataque son limitados.

Requisitos para una IP privada

Para usar una IP privada, tu red y el entorno de aplicaciones deben cumplir con los siguientes requisitos. Además, si deseas configurar una IP privada por primera vez, se requieren permisos adicionales de IAM.

Requisitos de red

Cuando configuras el acceso privado a los servicios en una red de VPC, debes definir un rango de direcciones IP asignado y crear una conexión privada a los servicios. El rango de direcciones abarca las direcciones IP de las instancias de Cloud SQL y no puede superponerse con ningún otro rango en la red de VPC.

El rango de direcciones IP asignado garantiza que los rangos de IP de subred y los destinos de las rutas personalizadas en la red de VPC no se superpongan con los rangos de direcciones que usa la conexión de acceso privado a los servicios. Puedes crear un rango de IP asignadas de forma manual si deseas controlar el bloque CIDR o puedes hacer que Google Cloud cree uno por ti.

Cloud SQL asigna una subred /24 desde el rango de IP de acceso privado a los servicios para cada combinación de región y tipo de base de datos. Por ejemplo, para colocar instancias de MySQL en dos regiones, el rango de direcciones IP asignado debe contener al menos dos subredes disponibles de tamaño /24, y la implementación de MySQL y PostgreSQL en dos regiones requiere cuatro subredes disponibles de tamaño /24. Las instancias de SQL Server pueden compartir la misma subred con instancias de MySQL en una región.

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. Los rangos de direcciones que no son RFC 1918 deben configurarse como redes autorizadas.

De forma predeterminada, Cloud SQL no procesa rutas de subred de la 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.

Requisitos del entorno de aplicaciones

  • Si te conectas desde GKE, debes ejecutar la versión de GKE 1.8 o una superior en un clúster nativo de VPC.

Requisitos de API y de IAM

  • Debes habilitar la API de Herramientas de redes de servicio para tu proyecto.

    Si usas una red de VPC compartida, también debes habilitar esta API para el proyecto host.

  • Para establecer el acceso a servicios privados, se requiere la función de IAM Network Administrator.

    Una vez que se establece el acceso privado a los servicios en la red, ya no necesitas la función Network Administrator de IAM a fin de configurar una instancia para usar una IP privada.

Seguridad

El tráfico mediante el acceso privado a los servicios se proporciona con un cierto nivel de encriptación. Para obtener más información, consulta Autenticación y encriptación de redes virtuales de Google Cloud.

El proxy de Cloud SQL se puede configurar para conectarse mediante una IP privada y proporciona autenticación mediante credenciales de IAM y encriptación de extremo a extremo con un certificado SSL/TLS que se puede rotar.

Si los requisitos de seguridad exigen certificados SSL/TLS autoadministrados, consulta las instrucciones que se proporcionan en Configura SSL/TLS.

Descripción general de la configuración del acceso privado a servicios para la red

La primera vez que configuras la conectividad de IP privada en una red de VPC específica, debes realizar un procedimiento por única vez a fin de configurar el acceso privado a servicios para Cloud SQL.

Después de establecer el acceso privado a los servicios, puedes crear una instancia de Cloud SQL que esté configurada para usar una IP privada, o bien puedes configurar el uso de IP privada en una instancia de Cloud SQL existente. Consulta Configura una IP privada para obtener instrucciones paso a paso.

Referencia rápida de temas sobre IP privadas

Si administras instancias de Cloud SQL mediante una IP privada, es posible que alguno de los siguientes temas te interese:

Tema Debate
Redes de VPC compartidas Puedes crear instancias de Cloud SQL con direcciones IP privadas en una red de VPC compartida. Sin embargo, no puedes asignar una dirección IP privada en una red de VPC compartida a una instancia de Cloud SQL existente.
Regiones Puedes conectarte mediante una IP privada en todas las regiones.
Redes heredadas No puedes conectarte a la IP privada de una instancia de Cloud SQL desde una red heredada. Las redes heredadas no admiten el intercambio de tráfico entre redes de VPC ni el acceso privado a los servicios.
Quita una IP privada Después de configurar una instancia de Cloud SQL para que use una IP privada, no puedes quitar la capacidad de IP privada de esa instancia.
IP pública y privada Puedes usar una IP pública y una privada para conectarte a la misma instancia de Cloud SQL. Ninguno de los métodos de conexión afecta al otro.
Instancias de Cloud SQL existentes Puedes configurar una instancia en el momento de su creación para que use una IP privada. También puedes configurar una instancia existente para que use una IP privada. Cuando se configura una instancia existente para usar una IP privada o cuando se cambia la red a la que está conectada, la instancia se reinicia, lo que genera un tiempo de inactividad.
Direcciones IP estáticas La dirección IP privada de la instancia de Cloud SQL es estática, es decir, no cambia.
Réplicas Una réplica hereda el estado de una IP privada de la instancia principal. No puedes configurar una IP privada directamente en una réplica.
Cloud Run No puedes usar una IP privada con Cloud Run.
El proxy de Cloud SQL Para conectarse a una instancia de Cloud SQL mediante una IP privada, el proxy debe estar en un recurso que tenga acceso a la misma red de VPC que la instancia. Si la instancia tiene ambos tipos de IP habilitados, el proxy usará la IP pública de forma predeterminada. Para garantizar que use la IP privada, el usuario debe pasar la marca -ip_address_types=PRIVATE al proxy. Obtén más información.
Intercambio de tráfico entre redes de VPC Una conexión que usa acceso privado a los servicios depende de un intercambio de tráfico entre redes de VPC. Sin embargo, el intercambio de tráfico entre redes de VPC no se crea de forma explícita, ya que es una función interna de Google Cloud. Después de crear la conexión de acceso privado a los servicios, podrás ver el intercambio de tráfico entre redes de VPC subyacente en la página Intercambio de tráfico entre redes de VPC en Cloud Console. No debes borrarlo, a menos que quieras quitar la conexión privada.

Obtén más información sobre el intercambio de tráfico entre redes de VPC.

Controles del servicio de VPC Los Controles del servicio de VPC mejoran la capacidad de mitigar el riesgo de robo de datos. Con los Controles del servicio de VPC, puedes crear perímetros alrededor de la instancia de Cloud SQL. Los controles de seguridad de VPC restringen el acceso desde el exterior a los recursos que están dentro del perímetro. Solo los clientes y los recursos que se encuentran dentro del perímetro pueden interactuar entre sí. Para obtener más información, consulta la Descripción general de los controles de seguridad de VPC. También debes revisar las limitaciones de Cloud SQL cuando usas los Controles del servicio de VPC. Para usar los controles de seguridad de VPC con Cloud SQL, consulta Configura los controles de seguridad de VPC.
Intercambio de tráfico transitivo Solo las redes de intercambio de tráfico directo pueden comunicarse. No se admite el intercambio de tráfico transitivo. En otras palabras, si la red de VPC N1 intercambia tráfico con N2 y N3, pero estas no están conectadas de forma directa, la red de VPC N2 no se podrá comunicar con la red de VPC N3 mediante el intercambio de tráfico entre redes de VPC.

Las instancias de Cloud SQL en diferentes proyectos de Google Cloud pueden conectarse entre sí mediante las redes de VPC compartidas.

Movimiento de instancias de Cloud SQL Las instancias de Cloud SQL solo se pueden mover entre redes que pertenecen al proyecto en el que residen. Además, las instancias de Cloud SQL no se pueden mover entre proyectos ni entre redes alojadas en proyectos diferentes.

Próximos pasos