En esta página se describe cómo usar la configuración de redes autorizadas para conectarse a instancias de Cloud SQL que usan direcciones IP.
Configurar redes autorizadas
La dirección IP o el intervalo de direcciones de tu aplicación cliente deben configurarse como
authorized networks
en los siguientes casos:
- Tu aplicación cliente se conecta directamente a una instancia de Cloud SQL a través de su dirección IP pública.
- Tu aplicación cliente se conecta directamente a una instancia de Cloud SQL mediante su dirección IP privada y la dirección IP de tu cliente es una dirección que no es RFC 1918.
La dirección IP puede ser un único endpoint o un intervalo en notación CIDR.
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 SQL, selecciona Conexiones.
- Haz clic en la pestaña Redes.
- Selecciona la casilla IP pública.
- En la sección Redes autorizadas, despliega Nuevo intervalo de IPs.
- En el campo Nombre, introduce un nombre para el Nuevo intervalo de IPs.
- En el campo Intervalo de IP, introduce la dirección IPv4 pública o el intervalo de direcciones desde el que quieras permitir las conexiones.
También puedes hacer clic en Usar mi IP para que Cloud SQL rellene la dirección IPv4 de la máquina cliente desde la que accedes Google Cloud.
La opción Usar mi IP no está disponible para los clientes que usan direcciones IPv6.En el intervalo de direcciones, debe usar una notación CIDR válida (por ejemplo, 10.10.10.0/24).
- Haz clic en Listo.
- Haz clic en Guardar.
gcloud
Si configura redes autorizadas, se sustituirá la lista de redes autorizadas actual.
gcloud sql instances patch INSTANCE_ID \ --authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
Terraform
Para configurar redes autorizadas, usa un recurso de Terraform.
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
Si configura redes autorizadas, se sustituirá la lista de redes autorizadas actual.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- network_range_1 Una dirección o un intervalo de direcciones IP autorizados
- network_range_2 Otra dirección o intervalo de direcciones IP autorizadas
Método HTTP y URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id
Cuerpo JSON de la solicitud:
{ "settings": { "ipConfiguration": { "authorizedNetworks": [{"value": "network_range_1"}, {"value": "network_range_2"}] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
REST v1beta4
Si configura redes autorizadas, se sustituirá la lista de redes autorizadas actual.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- network_range_1 Una dirección o un intervalo de direcciones IP autorizados
- network_range_2 Otra dirección o intervalo de direcciones IP autorizadas
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": { "authorizedNetworks": [{"value": "network_range_1"}, {"value": "network_range_2"}] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Limitaciones
- Algunos intervalos de direcciones IP no se pueden añadir como redes autorizadas.
Intervalo de direcciones Notas 10.0.0.0/8 Intervalo de direcciones RFC 1918. Cloud SQL las incluye de forma automática e implícita en las redes autorizadas. 172.16.0.0/12 Intervalo de direcciones RFC 1918. Cloud SQL las incluye de forma automática e implícita en las redes autorizadas. 192.168.0.0/16 Intervalo de direcciones RFC 1918. Cloud SQL las incluye de forma automática e implícita en las redes autorizadas. - Cloud SQL no admite redes autorizadas IPv6. Si tu máquina cliente usa el protocolo IPv6, el botón opcional Usar mi IP no estará disponible en la pestaña Redes de la consola Google Cloud .
- Si utilizas una VPN o un servidor proxy, la opción Usar mi IP no muestra la dirección IP real del equipo cliente. Es un comportamiento programado.
Siguientes pasos
Consulta más información sobre el control de acceso a instancias.
Configura tu instancia para usar SSL/TLS.
Conéctate a tu instancia con el cliente sqlcmd mediante SSL/TLS.