Autorizar con redes autorizadas

En esta página, se describe cómo usar la configuración de redes autorizadas para conectar a instancias de Cloud SQL que usan direcciones IP.

Configura redes autorizadas

La dirección IP o el rango de direcciones IP de tu aplicación cliente deben configurarse como authorized networks para las siguientes condiciones:

  • La aplicación cliente se conecta directamente a una instancia de Cloud SQL desde su dirección IP pública.
  • La aplicación cliente se conecta directamente a una instancia de Cloud SQL desde su dirección IP privada, y la dirección IP del cliente no es RFC 1918.

La dirección IP puede ser un solo extremo o un rango en notación CIDR.

Console

  1. En Google Cloud Console, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. Selecciona Conexiones en el menú de navegación de SQL.
  4. Selecciona la casilla de verificación IP pública.
  5. Haz clic en Agregar red.
  6. En el campo Nombre, ingresa un nombre para la Red nueva.
  7. En el campo Red*, ingresa la dirección o rango de direcciones IP desde las que desees permitir las conexiones.

    Usa la notación CIDR.

  8. Haga clic en Listo.
  9. Haz clic en Guardar para actualizar la instancia.

gcloud

La configuración de redes autorizadas reemplaza la lista de redes autorizadas existente.

gcloud sql instances patch INSTANCE_ID \
--authorized-networks=NETWORK_RANGE_1,NETWORK_RANGE_2...
    

Terraform

Para configurar redes autorizadas, usa un recurso de Terraform.

resource "google_sql_database_instance" "default" {
  name             = "postgres-instance-with-authorized-network"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      authorized_networks {
        name = "Network Name"
        value = "192.0.2.0/24"
        expiration_time = "3021-11-15T16:19:00.094Z"
      }
    }
  }
  deletion_protection =  "true"
}

Aplique los cambios

Para aplicar tu configuración de Terraform en un proyecto de Google Cloud, completa los siguientes pasos:

  1. Iniciar Cloud Shell
  2. Establece el proyecto de Google Cloud en el que deseas aplicar la configuración de Terraform:
        export GOOGLE_CLOUD_PROJECT=PROJECT_ID
        
  3. Crea un directorio y abre un archivo nuevo en ese directorio. El nombre del archivo debe tener la extensión .tf, por ejemplo main.tf:
        mkdir DIRECTORY && cd DIRECTORY && nano main.tf
        
  4. Copia la muestra en main.tf.
  5. Revisa y modifica los parámetros de muestra que se aplicarán a tu entorno.
  6. Para guardar los cambios, presiona Ctrl-x y, luego, y.
  7. Inicializa Terraform mediante este comando:
    terraform init
  8. Revisa la configuración y verifica que los recursos que creará o actualizará Terraform coincidan con tus expectativas:
    terraform plan

    Corrige la configuración según sea necesario.

  9. Para aplicar la configuración de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply

    Espera hasta que Terraform muestre el mensaje “Apply complete!”.

  10. Abre tu proyecto de Google Cloud para ver los resultados. En la consola de Google Cloud, navega a tus recursos en la IU para asegurarte de que Terraform los haya creado o actualizado.

Borra los cambios

Para borrar tus cambios, haz lo siguiente:

  1. Para inhabilitar la protección contra la eliminación, en tu archivo de configuración de Terraform, establece el argumento deletion_protection en false.
    deletion_protection =  "false"
  2. Para aplicar la configuración actualizada de Terraform, ejecuta el siguiente comando y, luego, ingresa yes cuando se te solicite:
    terraform apply
  1. Quita los recursos que se aplicaron antes con tu configuración de Terraform mediante la ejecución del siguiente comando y, luego, ingresa yes cuando se te solicite:

    terraform destroy

REST v1

La configuración de redes autorizadas reemplaza la lista de redes autorizadas existente.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia
  • network_range_1: Un rango o una dirección IP autorizados
  • network_range_2: Otro rango o dirección IP autorizados

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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

REST v1beta4

La configuración de redes autorizadas reemplaza la lista de redes autorizadas existente.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia
  • network_range_1: Un rango o una dirección IP autorizados
  • network_range_2: Otro rango o dirección IP autorizados

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, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la siguiente:

Limitaciones

Algunos rangos de direcciones IP no se pueden agregar como redes autorizadas.

Rango de direcciones Notas
127.0.0.0/8 Rango de direcciones de bucle invertido
10.0.0.0/8 Rango de direcciones RFC 1918. Cloud SQL las incluye de manera implícita y automática en las redes autorizadas
172.16.0.0/12 Rango de direcciones RFC 1918. Cloud SQL las incluye de manera implícita y automática en las redes autorizadas
172.17.0.0/16 Reservado para la red de puente Docker
192.168.0.0/16 Rango de direcciones RFC 1918. Cloud SQL las incluye de manera implícita y automática en las redes autorizadas
0.0.0.0/8 Red nula de RFC 3330
169.254.0.0/16 RFC 3927 y RFC 2373, redes de vínculos locales
192.0.2.0/24 RFC 3330 y RFC 3849, redes de documentación
224.0.0.0/4 RFC 3330, redes de multidifusión
240.0.0.0/4 Este bloque, antes conocido como el espacio de direcciones de Clase E, está reservado para uso futuro. Consulta RFC 1112, Sección 4.

¿Qué sigue?