En esta página se describe cómo configurar una instancia de Cloud SQL para que use una IP privada.
Para obtener información sobre cómo funciona la IP privada, así como los requisitos de entorno y gestión, consulta IP privada.
Antes de empezar
Requisitos de la API y de IAM
- Debes habilitar la API Service Networking en tu proyecto Google Cloud .
- Para gestionar una conexión de acceso a servicios privados, el usuario debe tener los siguientes permisos de gestión de identidades y accesos (IAM). Si no tienes los permisos necesarios, pueden aparecer errores de permisos insuficientes.
compute.networks.list
compute.addresses.create
compute.addresses.list
servicenetworking.services.addPeering
Si utilizas una red de VPC compartida, también debes añadir tu usuario al proyecto del host y asignarle los mismos permisos en el proyecto del host.
Si utilizas una red de VPC compartida, también debes habilitar esta API en el proyecto host.
Acceso a servicios privados
Cuando crees una red de nube privada virtual (VPC) en tu proyecto, tendrás que configurar el acceso a servicios privados para asignar un intervalo de direcciones IP y crear una conexión de servicio privada. De esta forma, los recursos de la red de VPC pueden conectarse a instancias de Cloud SQL. La consola Google Cloud proporciona un asistente para ayudarte a configurar esta opción.
Configurar una instancia para que use una IP privada
Puedes configurar una instancia de Cloud SQL para que use una IP privada al crearla o en una instancia que ya tengas.
Configurar una IP privada para una instancia nueva
Para configurar una instancia de Cloud SQL para que use una IP privada al crear una instancia, sigue estos pasos:
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Haz clic en Crear instancia.
- Despliega Mostrar opciones de configuración.
- Despliega Conexiones.
- Selecciona 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 mostrarán las redes de VPC del proyecto del host.
- Selecciona la red de VPC que quieras usar.
- Haz clic en Configurar conexión.
- En la sección Asignar un intervalo de IPs, seleccione una de las siguientes opciones:
- Selecciona uno o varios intervalos de IP o crea uno en el menú desplegable. El desplegable incluye los intervalos asignados anteriormente, si los hay, o puedes seleccionar Asignar un nuevo intervalo de IP e introducir un nuevo intervalo y un nombre.
- Usa un intervalo de direcciones IP asignado automáticamente en tu red.
- Haz clic en Continuar.
- Haga clic en Crear conexión.
- Comprueba que veas el mensaje
Private service connection for network VPC_NETWORK_NAME has been successfully created
. - Si quieres, puedes especificar un intervalo de IPs asignadas para que tus instancias lo usen en las conexiones.
- Despliega la opción Mostrar intervalo de direcciones IP asignado.
- Seleccione un intervalo de IP en el menú desplegable.
- Opcional. Si quieres permitir que otros Google Cloud servicios, como BigQuery, accedan a los datos de Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada, selecciona Habilitar ruta privada.
- Termina de configurar tu instancia.
- Haz clic en Crear instancia.
Si ves un mensaje que indica que debes configurar una conexión de servicio privada, haz lo siguiente:
gcloud
Antes de crear una instancia con una dirección IP privada, asegúrate de que tu proyecto esté configurado para el acceso a servicios privados.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
INSTANCE_ID
: el ID de instancia.PROJECT_ID
: el ID del proyectoNETWORK_PROJECT_ID
: el ID de proyecto de la red de VPC.VPC_NETWORK_NAME
: nombre de la red de VPCRANGE_NAME
: Opcional. Si se especifica, se asigna un nombre de intervalo al intervalo de IPs. El nombre del intervalo debe cumplir lasRFC-1035
y tener entre 1 y 63 caracteres.DATABASE_VERSION
: la versión de la base de datos PostgreSQL (por ejemplo,POSTGRES_14
)NUMBER_OF_CPU
: número de CPUsMEMORY_IN_GB
: cantidad de memoria (en GB)REGION_NAME
: nombre de la región
--network
. Para inhabilitar la IP pública, usa la marca --no-assign-ip
.
También puedes usar el parámetro --enable-google-private-path
para permitir que otros servicios, como BigQuery, accedan a los datos de Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada. Google Cloud Este parámetro solo es válido si:
- Usa el parámetro
--no-assign-ip
. - Usa el parámetro
--network
para especificar el nombre de la red de VPC que quieras usar para crear una conexión privada.
--enforce-new-network-architecture
.
Asegúrate de haber asignado suficientes direcciones IP. Si usas la nueva arquitectura de red antes de que se actualice por completo un proyecto, es posible que no puedas crear instancias si no hay suficiente espacio de direcciones IP disponible.
Para obtener más información, consulta los artículos Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
gcloud beta sql instances create INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \ --no-assign-ip \ --allocated-ip-range-name=RANGE_NAME \ --enable-google-private-path \ --database-version=DATABASE_VERSION \ --cpu=NUMBER_OF_CPU \ --memory=MEMORY_IN_GB \ --region=REGION_NAME \ --enforce-new-network-architecture
Terraform
Para configurar una IP privada en una instancia nueva, usa los siguientes recursos de Terraform:
google_compute_network
google_compute_global_address
google_service_networking_connection
google_sql_database_instance
Aplica los cambios
Para aplicar la configuración de Terraform en un proyecto, sigue los pasos que se indican en las siguientes secciones. Google Cloud
Preparar Cloud Shell
- Abre Cloud Shell.
-
Define el Google Cloud proyecto Google Cloud predeterminado en el que quieras aplicar tus configuraciones de Terraform.
Solo tiene que ejecutar este comando una vez por proyecto y puede hacerlo en cualquier directorio.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Las variables de entorno se anulan si defines valores explícitos en el archivo de configuración de Terraform.
Preparar el directorio
Cada archivo de configuración de Terraform debe tener su propio directorio (también llamado módulo raíz).
-
En Cloud Shell, crea un directorio y un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión
.tf
. Por ejemplo,main.tf
. En este tutorial, nos referiremos al archivo comomain.tf
.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Si estás siguiendo un tutorial, puedes copiar el código de ejemplo de cada sección o paso.
Copia el código de ejemplo en el archivo
main.tf
que acabas de crear.También puedes copiar el código de GitHub. Se recomienda cuando el fragmento de Terraform forma parte de una solución integral.
- Revisa y modifica los parámetros de ejemplo para aplicarlos a tu entorno.
- Guarda los cambios.
-
Inicializa Terraform. Solo tienes que hacerlo una vez por directorio.
terraform init
Si quieres usar la versión más reciente del proveedor de Google, incluye la opción
-upgrade
:terraform init -upgrade
Aplica los cambios
-
Revisa la configuración y comprueba que los recursos que va a crear o actualizar Terraform se ajustan a tus expectativas:
terraform plan
Haga las correcciones necesarias en la configuración.
-
Aplica la configuración de Terraform ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
Espera hasta que Terraform muestre el mensaje "Apply complete!".
- Abre tu Google Cloud proyecto para ver los resultados. En la Google Cloud consola, ve a tus recursos en la interfaz de usuario para asegurarte de que Terraform los ha creado o actualizado.
Eliminar los cambios
Para eliminar los cambios, sigue estos pasos:
- Para inhabilitar la protección contra la eliminación, en el archivo de configuración de Terraform, asigna el valor
false
al argumentodeletion_protection
.deletion_protection = "false"
- Aplica la configuración de Terraform actualizada ejecutando el siguiente comando e introduciendo
yes
en la petición:terraform apply
-
Para quitar los recursos que se hayan aplicado anteriormente con tu configuración de Terraform, ejecuta el siguiente comando e introduce
yes
en la petición:terraform destroy
REST v1
Crea una instancia con una dirección IP privada:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: El ID del proyecto
- INSTANCE_ID: El ID de instancia
- VPC_NETWORK_NAME: Especifica el nombre de la red de nube privada virtual (VPC) que quieras usar en esta instancia. El acceso privado a servicios ya debe estar configurado en la red.
- RANGE_NAME: Opcional. Si se especifica, se asigna un nombre de intervalo al intervalo de IPs. El nombre del intervalo debe cumplir las
RFC-1035
y tener entre 1 y 63 caracteres. - AUTHORIZED_NETWORKS: En el caso de las conexiones de IP pública, especifique las conexiones de las redes autorizadas que pueden conectarse a su instancia.
En el parámetro ipv4Enabled
, asigna el valor true
si usas una dirección IP pública para tu instancia o false
si tu instancia tiene una
dirección IP privada.
Si asignas el valor true
al parámetro enablePrivatePathForGoogleCloudServices
,
permitirás que otros servicios, como BigQuery, accedan a los datos de
Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada. Google Cloud Si asignas el valor false
a este parámetro, otros Google Cloud servicios no podrán acceder a los datos de Cloud SQL a través de una conexión IP privada.
Puede usar el campo sqlNetworkArchitecture
para forzar el uso de la nueva arquitectura de red en la instancia al crearla, aunque el proyecto no se haya actualizado por completo.
Para obtener más información sobre la nueva arquitectura de red y sus implicaciones, consulta los artículos
Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{ "name": "INSTANCE_ID", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "allocatedIpRange": "RANGE_NAME" "authorizedNetworks": [AUTHORIZED_NETWORKS], "enablePrivatePathForGoogleCloudServices": true } }, "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Crea una instancia con una dirección IP privada:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: El ID del proyecto
- INSTANCE_ID: El ID de instancia
- VPC_NETWORK_NAME: Especifica el nombre de la red de nube privada virtual (VPC) que quieras usar en esta instancia. El acceso privado a servicios ya debe estar configurado en la red.
- RANGE_NAME: Opcional. Si se especifica, se asigna un nombre de intervalo al intervalo de IPs. El nombre del intervalo debe cumplir las
RFC-1035
y tener entre 1 y 63 caracteres. - AUTHORIZED_NETWORKS: En el caso de las conexiones de IP pública, especifique las conexiones de las redes autorizadas que pueden conectarse a su instancia.
En el parámetro ipv4Enabled
, asigna el valor true
si usas una dirección IP pública para tu instancia o false
si tu instancia tiene una
dirección IP privada.
Si asignas el valor true
al parámetro enablePrivatePathForGoogleCloudServices
,
permitirás que otros servicios, como BigQuery, accedan a los datos de
Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada. Google Cloud Si asignas el valor false
a este parámetro, otros Google Cloud servicios no podrán acceder a los datos de Cloud SQL a través de una conexión IP privada.
Puede usar el campo sqlNetworkArchitecture
para forzar el uso de la nueva arquitectura de red en la instancia al crearla, aunque el proyecto no se haya actualizado por completo.
Para obtener más información sobre la nueva arquitectura de red y sus implicaciones, consulta los artículos
Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances
Cuerpo JSON de la solicitud:
{ "name": "INSTANCE_ID", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "allocatedIpRange": "RANGE_NAME" "authorizedNetworks": [AUTHORIZED_NETWORKS], "enablePrivatePathForGoogleCloudServices": true } }, "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Configurar una IP privada para una instancia
Si configuras una instancia de Cloud SQL para que use una IP privada, la instancia se reiniciará y habrá un tiempo de inactividad.
Para configurar una instancia que ya existe para que use una IP privada, sigue estos pasos:
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- En el menú de navegación de Cloud SQL, selecciona Conexiones.
- En la pestaña Redes, selecciona la casilla IP privada.
En una lista desplegable se muestran las redes disponibles en tu proyecto.
- Selecciona la red de VPC que quieras usar:
- Haz clic en Configurar conexión.
- En la sección Asignar un intervalo de IPs, elija una de las siguientes opciones:
- Selecciona uno o varios intervalos de IP o crea uno en el menú desplegable. El menú desplegable incluye los intervalos asignados anteriormente, si los hay, o puedes seleccionar Asignar un nuevo intervalo de IP e introducir un nuevo intervalo y un nombre.
- Usa un intervalo de direcciones IP asignado automáticamente en tu red.
- Haz clic en Continuar.
- Haga clic en Crear conexión.
- Comprueba que se muestre el estado Se ha creado una conexión de servicio privada para la red
VPC_NETWORK_NAME
. - Opcional. Si quieres permitir que otros Google Cloud servicios, como BigQuery, accedan a los datos de Cloud SQL y envíen consultas sobre ellos a través de una conexión de IP privada, selecciona la casilla Habilitar ruta privada.
- Haz clic en Guardar.
Si ves el mensaje Se necesita una conexión de servicio privada:
gcloud
Asegúrate de que tu proyecto esté configurado para el acceso privado a servicios.
Actualiza tu instancia de Cloud SQL con el parámetro --network
para especificar el nombre de la red de VPC que has seleccionado.
Para forzar el uso de la nueva arquitectura de red en la instancia al añadir una configuración de red IP privada, usa la marca --enforce-new-network-architecture
.
Asegúrate de haber asignado suficiente espacio de direcciones IP en tu intervalo de IPs.
Si usas la nueva arquitectura de red antes de que se actualice por completo un proyecto, es posible que no puedas crear instancias si no hay suficiente espacio de direcciones IP disponible.
Para obtener más información, consulta los artículos Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
gcloud beta sql instances patch INSTANCE_ID \ --project=PROJECT_ID \ --network=projects/NETWORK_PROJECT_ID/global/networks/VPC_NETWORK_NAME \ --no-assign-ip \ --enable-google-private-path \ --enforce-new-network-architecture
REST v1
Crea una instancia con una dirección IP privada:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: El ID del proyecto
- INSTANCE_ID: El ID de instancia
- VPC_NETWORK_NAME: Especifica el nombre de la red de nube privada virtual (VPC) que quieras usar en esta instancia. El acceso privado a servicios ya debe estar configurado en la red.
- RANGE_NAME: Opcional. Si se especifica, se asigna un nombre de intervalo al intervalo de IPs. El nombre del intervalo debe cumplir las
RFC-1035
y tener entre 1 y 63 caracteres. - AUTHORIZED_NETWORKS: En el caso de las conexiones de IP pública, especifique las conexiones de las redes autorizadas que pueden conectarse a su instancia.
En el parámetro ipv4Enabled
, asigna el valor true
si usas una dirección IP pública para tu instancia o false
si tu instancia tiene una
dirección IP privada.
Si asignas el valor true
al parámetro enablePrivatePathForGoogleCloudServices
,
permitirás que otros servicios, como BigQuery, accedan a los datos de
Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada. Google Cloud Si asignas el valor false
a este parámetro, otros Google Cloud servicios no podrán acceder a los datos de Cloud SQL a través de una conexión IP privada.
Puede usar el campo sqlNetworkArchitecture
para forzar el uso de la nueva arquitectura de red en la instancia al crearla, aunque el proyecto no se haya actualizado por completo.
Para obtener más información sobre la nueva arquitectura de red y sus implicaciones, consulta los artículos
Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "allocatedIpRange": "RANGE_NAME" "authorizedNetworks": [AUTHORIZED_NETWORKS], "enablePrivatePathForGoogleCloudServices": true } }, "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Crea una instancia con una dirección IP privada:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: El ID del proyecto
- INSTANCE_ID: El ID de instancia
- VPC_NETWORK_NAME: Especifica el nombre de la red de nube privada virtual (VPC) que quieras usar en esta instancia. El acceso privado a servicios ya debe estar configurado en la red.
- RANGE_NAME: Opcional. Si se especifica, se asigna un nombre de intervalo al intervalo de IPs. El nombre del intervalo debe cumplir las
RFC-1035
y tener entre 1 y 63 caracteres. - AUTHORIZED_NETWORKS: en el caso de las conexiones de IP pública, especifica las conexiones de las redes autorizadas que pueden conectarse a tu instancia.
En el parámetro ipv4Enabled
, asigna el valor true
si usas una dirección IP pública para tu instancia o false
si tu instancia tiene una
dirección IP privada.
Si asignas el valor true
al parámetro enablePrivatePathForGoogleCloudServices
,
permitirás que otros servicios, como BigQuery, accedan a los datos de
Cloud SQL y hagan consultas sobre ellos a través de una conexión IP privada. Google Cloud Si asignas el valor false
a este parámetro, otros Google Cloud servicios no podrán acceder a los datos de Cloud SQL a través de una conexión IP privada.
Puede usar el campo sqlNetworkArchitecture
para forzar el uso de la nueva arquitectura de red en la instancia al crearla, aunque el proyecto no se haya actualizado por completo.
Para obtener más información sobre la nueva arquitectura de red y sus implicaciones, consulta los artículos
Actualizar una instancia a la nueva arquitectura de red y Asignar un intervalo de direcciones IP.
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
Cuerpo JSON de la solicitud:
{ "settings": { "ipConfiguration": { "ipv4Enabled": false, "privateNetwork": "projects/PROJECT_ID/global/networks/VPC_NETWORK_NAME", "allocatedIpRange": "RANGE_NAME" "authorizedNetworks": [AUTHORIZED_NETWORKS], "enablePrivatePathForGoogleCloudServices": true } }, "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE" }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Conectarse a una instancia mediante su IP privada
Puedes usar el acceso a servicios privados para conectarte a instancias de Cloud SQL desde instancias de Compute Engine o Google Kubernetes Engine en la misma red VPC (definida aquí como fuentes internas) o desde fuera de esa red (una fuente externa).
Conectarse desde una fuente interna
Para conectarte desde una fuente del mismo Google Cloud proyecto que tu instancia de Cloud SQL, como el proxy de autenticación de Cloud SQL que se ejecuta en un recurso de Compute Engine, ese recurso debe estar en la misma red de VPC en la que se haya establecido el acceso a servicios privados para la instancia de Cloud SQL.
Para conectarte desde una fuente sin servidor, como el entorno estándar de App Engine, Cloud Run o Cloud Run functions, tu aplicación o función se conecta directamente a tu instancia a través del acceso a VPC sin servidor sin el proxy de autenticación de Cloud SQL.
Conectarse desde una fuente externa
Si una red externa (por ejemplo, una red on-premise o una red VPC) está conectada a la red VPC a la que está conectada tu instancia de Cloud SQL, puedes usar Cloud VPN o Cloud Interconnect para conectarte a la instancia desde un cliente de la red externa.
Para permitir las conexiones desde una red externa, siga estos pasos:
- Asegúrate de que tu red de VPC esté conectada a la red externa mediante un túnel de Cloud VPN o una vinculación de VLAN para una interconexión dedicada o Partner Interconnect.
- Asegúrate de que las sesiones del protocolo de pasarela fronteriza (BGP) de los routers de Cloud que gestionan tus túneles de Cloud VPN y tus vinculaciones de Cloud Interconnect (VLANs) hayan recibido prefijos (destinos) específicos de tu red on-premise.
Las rutas predeterminadas (destino 0.0.0.0/0) no se pueden importar a la red VPC de Cloud SQL porque esa red tiene su propia ruta predeterminada local. Las rutas locales de un destino se usan aunque el emparejamiento de Cloud SQL esté configurado para importar rutas personalizadas desde tu red de VPC.
-
Identifica las conexiones de peering producidas por la conexión de servicios privados. En función del servicio, la conexión de servicios privados puede crear una o varias de las siguientes conexiones de intercambio de tráfico, pero no necesariamente todas:
cloudsql-mysql-googleapis-com
cloudsql-postgres-googleapis-com
servicenetworking-googleapis-com
- Actualiza todas las conexiones de emparejamiento para habilitar Exportar rutas personalizadas.
- Identifica el intervalo asignado que usa la conexión de servicios privados.
- Configura el modo de anuncio personalizado de Cloud Router para el intervalo asignado en los routers de Cloud que gestionan las sesiones BGP de tus túneles de Cloud VPN o vinculaciones de Cloud Interconnect (VLANs).
Conectarse desde Cloud Shell
Cloud Shell usa una máquina virtual de Compute Engine gestionada por Google Cloud y que está fuera de tu red VPC. Por lo tanto, no existe una ruta de conectividad entre Cloud Shell y el espacio de direcciones IP privadas de tu red de VPC.
Por lo tanto, Cloud Shell no admite la conexión a una instancia de Cloud SQL que solo tenga una dirección IP privada.
Para conectarte a instancias de Cloud SQL desde una red externa mediante conectividad de IP privada, consulta el artículo Conectarse a una instancia de Cloud SQL desde fuera de su VPC.
Conectarse desde direcciones IP que no sean RFC 1918
En RFC 1918 se especifican las direcciones IP que se asignan para usarse internamente (es decir, dentro de una organización) y que no se enrutarán en Internet. En concreto, son las siguientes:
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
Las conexiones a una instancia de Cloud SQL mediante una dirección IP privada se autorizan automáticamente para los intervalos de direcciones RFC 1918. De esta forma, todos los clientes privados pueden acceder a la base de datos sin pasar por el proxy.
Para conectarte desde una dirección IP que no sea RFC 1918, debes configurar la autorización de IP por instancia para permitir el tráfico desde intervalos de direcciones IP que no sean RFC 1918.
Por ejemplo, usa un comando gcloud
como el siguiente:
gcloud sql instances patch INSTANCE_NAME \ --authorized-networks=192.88.99.0/24,11.0.0.0/24
De forma predeterminada, Cloud SQL no aprende rutas de subred que no sean RFC 1918 de tu red de VPC. Debes actualizar el peering de red a Cloud SQL para exportar cualquier ruta que no sea RFC 1918.
gcloud compute networks peerings update cloudsql-postgres-googleapis-com
\
--network=VPC_NETWORK_NAME \
--export-subnet-routes-with-public-ip \
--project=PROJECT_ID
cloudsql-postgres-googleapis-com
es el nombre de una conexión de servicio privada de la página Red de VPC.Selecciona tu red y busca la sección Private Service Connection (Conexión de servicio privada).
VPC_NETWORK_NAME
es el nombre de tu red de VPC.PROJECT_ID
es el ID del proyecto de la red de VPC. Si utilizas una VPC compartida, usa el ID del proyecto host.
Haz los cambios siguientes:
Para mitigar el agotamiento de las direcciones IP, puede usar direcciones IP públicas usadas de forma privada.
Conectarse desde direcciones IP públicas usadas de forma privada
Si quieres configurar tu instancia en un intervalo de direcciones IP públicas usadas de forma privada, habilita export-subnet-routes-with-public-ip
en el peering de red entre tu red y la red de Cloud SQL.
gcloud compute networks peerings update cloudsql-postgres-googleapis-com
\
--network=VPC_NETWORK_NAME \
--export-subnet-routes-with-public-ip \
--project=PROJECT_ID
cloudsql-postgres-googleapis-com
es el nombre de una conexión de servicio privada de la página Red de VPC.Selecciona tu red y busca la sección Conexión de servicio privada.
VPC_NETWORK_NAME
es el nombre de tu red de VPC.PROJECT_ID
es el ID del proyecto de la red de VPC. Si utilizas una VPC compartida, usa el ID del proyecto host.
Haz los cambios siguientes:
Conectarse a una instancia configurada con direcciones IP públicas usadas de forma privada
Si tu instancia está configurada en un intervalo de direcciones IP públicas de uso privado y quieres conectarte a ella, habilita import-subnet-routes-with-public-ip
en el peering de red entre tu red y la red de Cloud SQL.
gcloud compute networks peerings update cloudsql-postgres-googleapis-com
\
--network=VPC_NETWORK_NAME \
--import-subnet-routes-with-public-ip \
--project=PROJECT_ID
Haz los cambios siguientes:
cloudsql-postgres-googleapis-com
es el nombre de una conexión de servicio privada de la página Red de VPC.Selecciona tu red y busca la sección Private Service Connection (Conexión de servicio privada).
VPC_NETWORK_NAME
es el nombre de tu red de VPC.PROJECT_ID
es el ID del proyecto de la red de VPC. Usa el ID del proyecto host si utilizas una VPC compartida.
Conectarse mediante un endpoint de escritura
Además de una dirección IP privada, puedes usar un endpoint de escritura en una cadena de conexión SQL. Un endpoint de escritura es un nombre de servicio de nombres de dominio (DNS) global que se resuelve automáticamente en la dirección IP de la instancia principal actual. Si usas un endpoint de escritura, no tendrás que hacer cambios en la conexión de la aplicación cuando se produzca un fallo en una región.
Si se produce una conmutación por error o una conmutación de una réplica, el endpoint de escritura puede ayudar a gestionar las direcciones IP privadas de las instancias. Cuando esto ocurra, usa el endpoint de escritura para conectarte a la instancia que actúa como instancia principal.
Cómo crea Cloud SQL un endpoint de escritura
Si habilitas la API Cloud DNS en tu Google Cloud proyecto y, a continuación, creas una instancia principal de la edición Enterprise Plus de Cloud SQL, promocionas la réplica de la instancia o actualizas la instancia de la edición Enterprise de Cloud SQL, Cloud SQL genera un endpoint de escritura automáticamente y lo asigna a la instancia.
Para obtener más información, consulta Ver el endpoint de escritura.
Asignar un endpoint de escritura a una instancia
Si no habilitas la API Cloud DNS en tu Google Cloud proyecto y, a continuación, creas, asciendes o actualizas tu instancia, Cloud SQL no asignará el endpoint de escritura a la instancia automáticamente.
Para que Cloud SQL genere un endpoint de escritura y lo asigne a la instancia, consulta Generar el endpoint de escritura.
Solucionar problemas
Consulta la sección sobre solución de problemas para ver los problemas de conectividad conocidos y la sección sobre depuración de problemas de conexión para obtener ayuda con el autodiagnóstico.
Siguientes pasos
- Más información sobre las IPs privadas
- Más información sobre el acceso a servicios privados
- Consulta cómo usar Controles de Servicio de VPC para añadir un perímetro de servicio.
- Más información sobre cómo configurar el acceso a servicios privados
- Consulta más información sobre cómo configurar el acceso a servicios privados para Cloud SQL.
- Consulta más información sobre Cloud VPN.
- Consulta más información sobre las redes de VPC.
- Consulta más información sobre el emparejamiento entre redes de VPC.
- Consulta más información sobre la VPC compartida.