Configura IP privadas

En esta página, se describe cómo configurar una instancia de Cloud SQL para usar una IP privada.

Para obtener más información sobre cómo funciona la IP privada y sobre los requisitos de administración y del entorno, consulta IP privada.

Antes de comenzar

Antes de configurar una instancia de Cloud SQL para usar una IP privada, debes realizar los siguientes pasos:

  • Habilita la API de Herramientas de redes de servicios en tu proyecto.

    Si usas una red de VPC compartida, también debes realizar las siguientes acciones:

    • Habilita la API de Herramientas de redes de servicios para el proyecto host.
    • Agrega tu usuario al proyecto host.
    • Otorga a tu usuario la función de IAM Network Administrator en el proyecto host.
  • Selecciona una red de VPC que desees usar.

  • Debes realizar este paso solo una vez: Configura el acceso privado a servicios en la red de VPC para asignar un rango de direcciones IP y crear una conexión privada a servicios. Esto permite que los recursos en la red de VPC se conecten a instancias de Cloud SQL.

    • 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 servicios en la red, ya no necesitas la función Network Administrator a fin de configurar una instancia para usar una IP privada.

    • Si usas una IP privada para cualquiera de las instancias de Cloud SQL, solo necesitas configurar el acceso privado a servicios una vez en cada proyecto de Google Cloud que tenga una instancia de Cloud SQL o necesite conectarse a una. Para obtener más información, consulta Acceso privado a servicios.

Cloud SQL configura el acceso privado a servicios por ti cuando se cumplen todas las condiciones que se indican a continuación:

  • Aún no configuraste el acceso privado a servicios en el proyecto de Google Cloud.
  • Estás habilitando la IP privada por primera vez para cualquier instancia de Cloud SQL en el proyecto de Google Cloud.
  • Cuando habilitas el uso de IP privada en la página Connections de la instancia, debes seleccionar las opciones de herramientas de redes asociadas default y Use an automatically allocated IP range.

Configura una instancia para que use una IP privada

Puedes configurar el uso de IP privada cuando creas una instancia de Cloud SQL o para una instancia ya existente.

Configura una IP privada en una instancia nueva

Si quieres configurar una instancia de Cloud SQL para usar una IP privada en el momento de su creación, realiza los siguientes pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en CREAR INSTANCIAS.
  3. En el asistente de creación, en Opciones de configuración, expande la sección Conectividad.
  4. Selecciona la casilla de verificación IP privada.

    En una lista desplegable, se muestran las redes de VPC disponibles en tu proyecto. Si tu proyecto es el proyecto de servicio de una VPC compartida, también se muestran las redes de VPC del proyecto host.

  5. Selecciona la red de VPC que deseas usar:
  6. Si configuraste el acceso privado a servicios, sigue estos pasos:

    1. Selecciona la red de VPC que deseas usar.
    2. Haz clic en Conectar.
    3. En un menú desplegable, se muestra el rango de direcciones IP que asignaste.

    4. Haz clic en Crear.
    5. Haz clic en Guardar.

    Para permitir que Cloud SQL asigne el rango y cree la conexión privada, sigue estos pasos:

    1. Selecciona la red de VPC “predeterminada”.
    2. Haz clic en Asignar y conectar.
    3. Haz clic en Guardar.

gcloud

Si aún no lo has hecho, sigue las instrucciones que aparecen a continuación a fin de configurar el acceso privado a servicios para Cloud SQL. Crea tu instancia de Cloud SQL con el parámetro --network para especificar el nombre de la red de VPC elegida y la marca --no-assign-ip a fin de inhabilitar la IP pública.

A menos que la red de VPC sea una red de VPC compartida, el valor del parámetro --network tendrá el siguiente formato: https://www.googleapis.com/compute/alpha/projects/[PROJECT_ID]/global/networks/[VPC_NETWORK_NAME].

Si la red de VPC es una red de VPC compartida, el valor del parámetro --network tendrá el formato projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK_NAME, en el que HOST_PROJECT_ID es el nombre del proyecto host de la VPC compartida, y VPC_NETWORK_NAME es el nombre de la red de VPC compartida.

gcloud --project=[PROJECT_ID] beta sql instances create [INSTANCE_ID]
       --network=[VPC_NETWORK_NAME]
       --no-assign-ip

Configura una IP privada en una instancia existente

Configurar una instancia de Cloud SQL existente para que use una IP privada hace que la instancia se reinicie, lo que causa un tiempo de inactividad.

A fin de configurar una instancia existente para que use IP privada, sigue estos pasos:

Console

  1. Ve a la página de instancias de Cloud SQL en Google Cloud Console.
    Ir a la página de instancias de Cloud SQL
  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de esa instancia.
  3. Selecciona la pestaña Conexiones.
  4. Selecciona la casilla de verificación IP privada.

    En una lista desplegable, se muestran las redes disponibles en tu proyecto. Si tu proyecto es el proyecto de servicio de una VPC compartida, también se muestran las redes de VPC del proyecto host.

  5. Si configuraste el acceso privado a servicios, sigue estos pasos:
    1. Selecciona la red VPC que deseas usar.
    2. En un menú desplegable, se muestra el rango de direcciones IP que asignaste.

    3. Haz clic en Conectar.
    4. Haz clic en Guardar.
  6. Para permitir que Cloud SQL asigne una dirección IP, sigue estos pasos:
    1. Selecciona la red de VPC “predeterminada”.
    2. Haz clic en Asignar y conectar.
    3. Haz clic en Guardar.

gcloud

Si aún no lo has hecho, sigue las instrucciones que aparecen a continuación a fin de configurar el acceso privado a servicios para Cloud SQL. Actualiza tu instancia de Cloud SQL con el parámetro --network para especificar el nombre de la red de VPC seleccionada.

VPC_NETWORK_NAME es el nombre de la red de VPC elegida, por ejemplo: my-vpc-network. El valor del parámetro --network tiene el siguiente formato: https://www.googleapis.com/compute/alpha/projects/[PROJECT_ID]/global/networks/[VPC_NETWORK_NAME].

gcloud --project=[PROJECT_ID] beta sql instances patch [INSTANCE_ID]
       --network=[VPC_NETWORK_NAME]
       --no-assign-ip

Conéctate a una instancia mediante su IP privada

Debes usar el acceso privado a servicios para conectarte a instancias de Cloud SQL desde instancias de Compute Engine o Google Kubernetes Engine en la misma red de VPC (definidas aquí como fuentes internas) o fuera de esa red (con una fuente externa).

Conéctate desde una fuente interna

Si quieres conectarte desde una fuente en el mismo proyecto de Google Cloud que tu instancia de Cloud SQL, como el proxy de Cloud SQL que se ejecuta en un recurso de Compute Engine, ese recurso debe estar en la misma red de VPC que la instancia de Cloud SQL.

Conéctate desde una fuente externa

Puedes conectarte desde un cliente en una red local si la red local está conectada a la red de VPC a la que está conectada la instancia de Cloud SQL. Para permitir conexiones desde una red local, haz lo siguiente:

  1. Asegúrate de que la red de VPC esté conectada a la red local mediante un túnel de Cloud VPN o un adjunto de interconexión (VLAN) para la interconexión dedicada o la interconexión de socio.
  2. Identifica el intercambio de tráfico que produce la conexión de servicios privados. Ten en cuenta que se crea un intercambio de tráfico para cada tipo de motor de base de datos que usas (MySQL, PostgreSQL y SQL Server).
  3. Actualiza la conexión de intercambio de tráfico para intercambiar rutas personalizadas.
  4. Identifica el rango asignado que usa la conexión de servicios privados.
  5. Crea un anuncio de ruta personalizado de Cloud Router para el rango asignado en los Cloud Routers que administran sesiones de BGP para los túneles de Cloud VPN o los adjuntos de Cloud Interconnect (VLAN).

Conéctate desde direcciones que no sean RFC 1918

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 se deben configurar como redes autorizadas.

Para conectarte desde una dirección que no sea RFC 1918, debes configurar la autorización de IP por instancia a fin de permitir el tráfico de rangos de direcciones que no sean RFC 1918.

Por ejemplo, usa un comando de gcloud como el siguiente:

gcloud sql instances patch [INSTANCE_NAME] --authorized-networks 172.16.12.0/28,172.16.1.0/24,172.16.10.0/24,172.16.2.0/24,172.16.11.0/24,192.88.99.0/24,11.0.0.0/24

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. Por ejemplo:

gcloud compute networks peerings update cloudsql-[mysql/postgres]-googleapis-com --network=NETWORK --export-subnet-routes-with-public-ip --project=PROJECT

Próximos pasos