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.
- 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.REGION_NAME
: nombre de la región
--network
. Para inhabilitar la IP pública, usa la marca --no-assign-ip
.
Para forzar el uso de la nueva arquitectura de red en la instancia, usa la marca --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 \ --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.
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], } }, "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.
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], } }, "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
. - 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 \ --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.
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], } }, "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.
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], } }, "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 PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --export-subnet-routes-with-public-ip \ --project=PROJECT_ID
PEERING_CONNECTION
es el nombre de la conexión de emparejamiento que se genera mediante la conexión de servicios privados entre tu red de VPC y la red del productor de servicios.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 PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --export-subnet-routes-with-public-ip \ --project=PROJECT_ID
PEERING_CONNECTION
es el nombre de la conexión de emparejamiento que se crea mediante la conexión de servicios privados entre tu red de VPC y la red del productor de servicios. Para saber el nombre de la conexión de emparejamiento, ve a la página Emparejamiento entre redes de VPC.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 PEERING_CONNECTION \ --network=VPC_NETWORK_NAME \ --import-subnet-routes-with-public-ip \ --project=PROJECT_ID
Haz los cambios siguientes:
PEERING_CONNECTION
es el nombre de la conexión de emparejamiento creada por la conexión de servicios privados entre tu red de VPC y la red del productor de servicios. Para saber el nombre de la conexión de emparejamiento, ve a la página Emparejamiento entre redes de VPC.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.
Limitaciones del servicio gestionado para Microsoft Active Directory
Si la región de la instancia principal original deja de estar disponible y Managed Service for Microsoft Active Directory está habilitado, el endpoint de escritura de la instancia principal recién ascendida no se podrá usar con la autenticación de Managed Microsoft AD para conectarse después de una operación de failover.
Compatibilidad con los endpoints de escritura de la edición Enterprise Plus de Cloud SQL en relaciones de confianza entre bosques
Una VM unida a un entorno local depende del enrutamiento por sufijo de nombre para la autenticación. Los endpoints de escritura de una instancia de la edición Enterprise Plus de Cloud SQL, gestionados por Cloud SQL, usan un formato de nombre de host distinto, por ejemplo, *.sql-psa.goog
.
Si el endpoint de escritura asociado a tu instancia de Cloud SQL Enterprise Plus Edition opera desde un dominio conectado a través de una relación de confianza, es posible que este formato de conexión impida que el dominio local encuentre automáticamente el dominio autoritativo del nombre de principal de servicio.
Para solucionar este problema, debes añadir el sufijo de dominio gestionado de Cloud SQL correspondiente (por ejemplo, goog
o sql-psa.goog
) como sufijo de UPN alternativo. Debes añadir este sufijo a nivel de bosque en el Active Directory del dominio gestionado con la cuenta setupadmin
:
- En tu instancia de Active Directory gestionada, sigue estos pasos:
- En la ventana Administrador del servidor, selecciona Herramientas. A continuación, selecciona Dominios y relaciones de confianza de Active Directory.
- En el panel, haz clic con el botón derecho en Dominios y relaciones de confianza de Active Directory (el nodo raíz).
- A continuación, selecciona Propiedades.
- En la pestaña Sufijos UPN, introduzca el sufijo UPN alternativo (por ejemplo,
sql-psa.goog
). - Haz clic en Añadir.
- Haz clic en Aplicar.
- Haz clic en Aceptar.
- En tu instancia local de Active Directory, sigue estos pasos:
- En la ventana Administrador del servidor, selecciona Herramientas y, a continuación, Dominios y relaciones de confianza de Active Directory.
- En el panel, haz clic con el botón derecho en el nombre de tu dominio de AD gestionado y en las relaciones de confianza. Este es el dominio gestionado específico que tiene la confianza de tu dominio local.
- Selecciona Propiedades y, a continuación, ve a la pestaña Confianzas.
- En las secciones Dominios de confianza de este dominio (confianzas salientes) o Dominios que confían en este dominio (confianzas entrantes), selecciona la entrada del nombre de tu dominio gestionado y, a continuación, haz clic en Propiedades.
- Ve a la pestaña Enrutamiento por sufijo de nombre y haz clic en Actualizar.
- Busca y selecciona el sufijo de nombre que acabas de añadir, como
sql-psa.goog
y haz clic en Habilitar. - Haz clic en Aplicar y Aceptar en todos los cuadros de diálogo restantes.
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.