Configurar IP privada

Esta página describe cómo configurar una instancia de Cloud SQL para usar una IP privada.

Para obtener información sobre cómo funciona la IP privada, así como los requisitos de entorno y gestión, consulte IP privada .

Antes de empezar

Requisitos de API e IAM

  • Debe habilitar la API de red de servicios para su Google Cloud proyecto.
  • Si está utilizando una red VPC compartida , también debe habilitar esta API para el proyecto host.

  • Para administrar una conexión de acceso a servicios privados, el usuario debe tener los siguientes permisos de Administración de Identidad y Acceso (IAM). Si no los tiene, podría recibir errores de permisos insuficientes.
    • compute.networks.list
    • compute.addresses.create
    • compute.addresses.list
    • servicenetworking.services.addPeering

    Si está utilizando una red VPC compartida , también debe agregar su usuario al proyecto host y asignarle los mismos permisos en el proyecto host.

Acceso a servicios privados

Al crear una nueva red de nube virtual privada (VPC) en su proyecto, debe configurar el acceso a servicios privados para asignar un rango de direcciones IP y crear una conexión de servicio privado. Esto permite que los recursos de la red de VPC se conecten a instancias de Cloud SQL. Google Cloud La consola proporciona un asistente para ayudarle a configurar esta configuración.

Configurar una instancia para usar IP privada

Puede configurar una instancia de Cloud SQL para usar una IP privada cuando crea la instancia o para una instancia existente.

Configurar una IP privada para una nueva instancia

Para configurar una instancia de Cloud SQL para usar una IP privada al crear una instancia:

Consola

  1. En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .

    Ir a Instancias de Cloud SQL

  2. Haga clic en Crear instancia .
  3. Expandir Mostrar opciones de configuración .
  4. Expandir conexiones .
  5. Seleccione IP privada .

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

  6. Seleccione la red VPC que desea utilizar.
  7. Si ve un mensaje que indica que necesita configurar una conexión de servicio privada, haga lo siguiente:

    1. Haga clic en Configurar conexión .
    2. En la sección Asignar un rango de IP , seleccione una de las siguientes opciones:
      • Seleccione uno o más rangos de IP existentes o cree uno nuevo en el menú desplegable. Este menú incluye los rangos previamente asignados, si los hay, o puede seleccionar "Asignar un nuevo rango de IP" e introducir un nuevo rango y un nombre.
      • Utilice un rango de IP asignado automáticamente en su red .
    3. Haga clic en Continuar .
    4. Haga clic en Crear conexión .
    5. Verifique que vea el mensaje: Private service connection for network VPC_NETWORK_NAME has been successfully created .
  8. Opcionalmente, puede especificar un rango de IP asignado para que sus instancias lo utilicen para las conexiones.
    1. Expandir la opción Mostrar rango de IP asignado .
    2. Seleccione un rango de IP del menú desplegable.
  9. Opcional. Si desea permitir otros Google Cloud servicios, como BigQuery, para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada; luego, seleccione Habilitar ruta privada .
  10. Termine de configurar su instancia.
  11. Haga clic en Crear instancia .

nube g

Antes de crear una instancia utilizando una dirección IP privada, asegúrese de que su proyecto esté configurado para el acceso a servicios privados .

Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:

  • INSTANCE_ID : El ID de la instancia
  • PROJECT_ID : El ID del proyecto
  • NETWORK_PROJECT_ID : El ID del proyecto de la red VPC

  • VPC_NETWORK_NAME : El nombre de la red VPC
  • RANGE_NAME : Opcional. Si se especifica, establece un nombre de rango para el cual se asigna un rango IP. El nombre del rango debe cumplir con RFC-1035 y contener entre 1 y 63 caracteres.
  • DATABASE_VERSION : La versión de la base de datos PostgreSQL (por ejemplo, POSTGRES_14 )
  • NUMBER_OF_CPU : El número de CPU
  • MEMORY_IN_GB : La cantidad de memoria (en GB)
  • REGION_NAME : El nombre de la región
Para especificar el nombre de su red VPC, utilice el parámetro --network . Para deshabilitar la IP pública, utilice el indicador --no-assign-ip .

Además, opcionalmente, utilice el parámetro --enable-google-private-path para permitir otros Google Cloud Servicios como BigQuery para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada. Este parámetro solo es válido si:

  • Utilice el parámetro --no-assign-ip .
  • Utilice el parámetro --network para especificar el nombre de la red VPC que desea utilizar para crear una conexión privada.

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

Terraformar

Para configurar una IP privada para una nueva instancia, utilice los siguientes recursos de Terraform:


resource "google_compute_network" "peering_network" {
  name                    = "private-network"
  auto_create_subnetworks = "false"
}

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

resource "google_sql_database_instance" "default" {
  name             = "private-ip-sql-instance"
  region           = "us-central1"
  database_version = "POSTGRES_14"

  depends_on = [google_service_networking_connection.default]

  settings {
    tier = "db-custom-2-7680"
    ip_configuration {
      ipv4_enabled    = "false"
      private_network = google_compute_network.peering_network.id
    }
  }
}

resource "google_compute_network_peering_routes_config" "peering_routes" {
  peering              = google_service_networking_connection.default.peering
  network              = google_compute_network.peering_network.name
  import_custom_routes = true
  export_custom_routes = true
}

# [START  cloud_sql_postgres_instance_private_ip_dns]

## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.id
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

Aplicar los cambios

Para aplicar su configuración de Terraform en un Google Cloud proyecto, complete los pasos de las siguientes secciones.

Preparar Cloud Shell

  1. Inicie Cloud Shell .
  2. Establecer el valor predeterminado Google Cloud Proyecto donde desea aplicar sus configuraciones de Terraform.

    Solo necesitas ejecutar este comando una vez por proyecto y puedes ejecutarlo en cualquier directorio.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Las variables de entorno se anulan si establece 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 ).

  1. En Cloud Shell , cree un directorio y un nuevo archivo dentro de él. El nombre del archivo debe tener la extensión .tf ; por ejemplo, main.tf En este tutorial, el archivo se denomina main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Si está siguiendo un tutorial, puede copiar el código de muestra en cada sección o paso.

    Copie el código de muestra en el main.tf recién creado.

    Opcionalmente, copie el código de GitHub. Esto se recomienda cuando el fragmento de Terraform forma parte de una solución integral.

  3. Revise y modifique los parámetros de muestra para aplicarlos a su entorno.
  4. Guarde sus cambios.
  5. Inicialice Terraform. Solo necesita hacerlo una vez por directorio.
    terraform init

    Opcionalmente, para utilizar la última versión del proveedor de Google, incluya la opción -upgrade :

    terraform init -upgrade

Aplicar los cambios

  1. Revise la configuración y verifique que los recursos que Terraform va a crear o actualizar coincidan con sus expectativas:
    terraform plan

    Realice correcciones en la configuración según sea necesario.

  2. Aplique la configuración de Terraform ejecutando el siguiente comando e ingresando yes en el indicador:
    terraform apply

    Espere hasta que Terraform muestre el mensaje "¡Aplicación completada!"

  3. Abre tu Google Cloud proyecto para ver los resultados. En el Google Cloud consola, navegue a sus recursos en la interfaz de usuario para asegurarse de que Terraform los haya creado o actualizado.

Eliminar los cambios

Para eliminar sus cambios, haga lo siguiente:

  1. Para deshabilitar la protección contra eliminación, en el archivo de configuración de Terraform configure el argumento deletion_protection en false .
    deletion_protection =  "false"
  2. Aplique la configuración actualizada de Terraform ejecutando el siguiente comando e ingresando yes en el mensaje:
    terraform apply
  1. Elimine los recursos aplicados previamente con su configuración de Terraform ejecutando el siguiente comando e ingresando yes en el mensaje:

    terraform destroy

REST versión 1

Cree una nueva instancia con una dirección IP privada:

Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:

  • PROJECT_ID: El ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • VPC_NETWORK_NAME: Especifique el nombre de la red de nube virtual privada (VPC) que desea usar para esta instancia. El acceso a servicios privados debe estar configurado previamente para la red.
  • RANGE_NAME: Opcional. Si se especifica, establece un nombre de rango para el cual se asigna un rango IP. El nombre del rango debe cumplir con RFC-1035 y contener entre 1 y 63 caracteres.
  • AUTHORIZED_NETWORKS: Para conexiones IP públicas, especifique las conexiones de redes autorizadas que pueden conectarse a su instancia.

Para el parámetro ipv4Enabled , establezca el valor en true si está usando una dirección IP pública para su instancia o false si su instancia tiene una dirección IP privada.

Si establece el parámetro enablePrivatePathForGoogleCloudServices en true , entonces permite otros Google Cloud Servicios como BigQuery para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada. Al establecer este parámetro en false , otros... Google Cloud Los servicios no pueden acceder a los datos en Cloud SQL a través de una conexión IP privada.

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
      
    }
  }
}

Para enviar su solicitud, expanda una de estas opciones:

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

REST v1beta4

Cree una nueva instancia con una dirección IP privada:

Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:

  • PROJECT_ID: El ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • VPC_NETWORK_NAME: Especifique el nombre de la red de nube virtual privada (VPC) que desea usar para esta instancia. El acceso a servicios privados debe estar configurado previamente para la red.
  • RANGE_NAME: Opcional. Si se especifica, establece un nombre de rango para el cual se asigna un rango IP. El nombre del rango debe cumplir con RFC-1035 y contener entre 1 y 63 caracteres.
  • AUTHORIZED_NETWORKS: Para conexiones IP públicas, especifique las conexiones de redes autorizadas que pueden conectarse a su instancia.

Para el parámetro ipv4Enabled , establezca el valor en true si está usando una dirección IP pública para su instancia o false si su instancia tiene una dirección IP privada.

Si establece el parámetro enablePrivatePathForGoogleCloudServices en true , entonces permite otros Google Cloud Servicios como BigQuery para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada. Al establecer este parámetro en false , otros... Google Cloud Los servicios no pueden acceder a los datos en Cloud SQL a través de una conexión IP privada.

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
      
    }
  }
}

Para enviar su solicitud, expanda una de estas opciones:

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

Configurar una IP privada para una instancia existente

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

Para configurar una instancia existente para utilizar IP privada:

Consola

  1. En el Google Cloud consola, vaya a la página Instancias de Cloud SQL .

    Ir a Instancias de Cloud SQL

  2. Para abrir la página Descripción general de una instancia, haga clic en el nombre de la instancia.
  3. Seleccione Conexiones en el menú de navegación de Cloud SQL.
  4. En la pestaña Redes , seleccione la casilla de verificación IP privada .

    Una lista desplegable muestra las redes disponibles en su proyecto.

  5. Seleccione la red VPC que desea utilizar:
  6. Si ve Se requiere conexión a servicio privado :

    1. Haga clic en Configurar conexión .
    2. En la sección Asignar un rango de IP , elija una de las siguientes opciones:
      • Seleccione uno o más rangos de IP existentes o cree uno nuevo en el menú desplegable. Este menú incluye los rangos previamente asignados, si los hay, o puede seleccionar "Asignar un nuevo rango de IP" e introducir un nuevo rango y un nombre.
      • Utilice un rango de IP asignado automáticamente en su red.
    3. Haga clic en Continuar .
    4. Haga clic en Crear conexión .
    5. Verifique que vea el estado La conexión de servicio privado para la red VPC_NETWORK_NAME se ha creado correctamente .
  7. Opcional. Si desea permitir otros Google Cloud servicios, como BigQuery, para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada, luego seleccione la casilla de verificación Habilitar ruta privada .
  8. Haga clic en Guardar .

nube g

Asegúrese de que su proyecto esté configurado para acceso a servicios privados .

Actualice su instancia de Cloud SQL utilizando el parámetro --network para especificar el nombre de la red VPC seleccionada.

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

REST versión 1

Cree una nueva instancia con una dirección IP privada:

Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:

  • PROJECT_ID: El ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • VPC_NETWORK_NAME: Especifique el nombre de la red de nube virtual privada (VPC) que desea usar para esta instancia. El acceso a servicios privados debe estar configurado previamente para la red.
  • RANGE_NAME: Opcional. Si se especifica, establece un nombre de rango para el cual se asigna un rango IP. El nombre del rango debe cumplir con RFC-1035 y contener entre 1 y 63 caracteres.
  • AUTHORIZED_NETWORKS: Para conexiones IP públicas, especifique las conexiones de redes autorizadas que pueden conectarse a su instancia.

Para el parámetro ipv4Enabled , establezca el valor en true si está usando una dirección IP pública para su instancia o false si su instancia tiene una dirección IP privada.

Si establece el parámetro enablePrivatePathForGoogleCloudServices en true , entonces permite otros Google Cloud Servicios como BigQuery para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada. Al establecer este parámetro en false , otros... Google Cloud Los servicios no pueden acceder a los datos en Cloud SQL a través de una conexión IP privada.

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
      
    }
  }
}

Para enviar su solicitud, expanda una de estas opciones:

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

REST v1beta4

Cree una nueva instancia con una dirección IP privada:

Antes de utilizar cualquiera de los datos solicitados, realice las siguientes sustituciones:

  • PROJECT_ID: El ID del proyecto
  • INSTANCE_ID: El ID de la instancia
  • VPC_NETWORK_NAME: Especifique el nombre de la red de nube virtual privada (VPC) que desea usar para esta instancia. El acceso a servicios privados debe estar configurado previamente para la red.
  • RANGE_NAME: Opcional. Si se especifica, establece un nombre de rango para el cual se asigna un rango IP. El nombre del rango debe cumplir con RFC-1035 y contener entre 1 y 63 caracteres.
  • AUTHORIZED_NETWORKS : para conexiones IP públicas, especifique las conexiones de redes autorizadas que pueden conectarse a su instancia.

Para el parámetro ipv4Enabled , establezca el valor en true si está usando una dirección IP pública para su instancia o false si su instancia tiene una dirección IP privada.

Si establece el parámetro enablePrivatePathForGoogleCloudServices en true , entonces permite otros Google Cloud Servicios como BigQuery para acceder a datos en Cloud SQL y realizar consultas sobre estos datos a través de una conexión IP privada. Al establecer este parámetro en false , otros... Google Cloud Los servicios no pueden acceder a los datos en Cloud SQL a través de una conexión IP privada.

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
      
    }
  }
}

Para enviar su solicitud, expanda una de estas opciones:

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

Conectarse a una instancia usando su IP privada

Utilice el acceso a servicios privados para conectarse 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 desde fuera de esa red (una fuente externa ).

Conectarse desde una fuente interna

Para conectarse desde una fuente en el mismo Google Cloud proyecto como su 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 donde se ha establecido el acceso a servicios privados para la instancia de Cloud SQL.

Para conectarse desde una fuente sin servidor, como el entorno estándar de App Engine , Cloud Run o las funciones de Cloud Run , su aplicación o función se conecta directamente a su 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 local o una red VPC) está conectada a la red VPC a la que está conectada su instancia de Cloud SQL, puede usar Cloud VPN o Cloud Interconnect para conectarse a la instancia desde un cliente en la red externa.

Para permitir conexiones desde una red externa, haga lo siguiente:

  1. Asegúrese de que su red VPC esté conectada a la red externa mediante un túnel VPN en la nube o un archivo adjunto de VLAN para interconexión dedicada o interconexión de socio .
  2. Asegúrese de que las sesiones del Protocolo de puerta de enlace de borde (BGP) en los enrutadores en la nube que administran sus túneles VPN en la nube y los adjuntos de interconexión en la nube (VLAN) hayan recibido prefijos específicos (destinos) de su red local.

    Las rutas predeterminadas (destino 0.0.0.0/0) no se pueden importar a la red de VPC de Cloud SQL porque esta tiene su propia ruta local predeterminada. Las rutas locales para un destino se utilizan aunque el emparejamiento de Cloud SQL esté configurado para importar rutas personalizadas desde la red de VPC.

  3. Identifique las conexiones de peering generadas por la conexión de servicios privados. Según el servicio, la conexión de servicios privados podría crear una o más de las siguientes conexiones de peering, pero no necesariamente todas:
    • cloudsql-mysql-googleapis-com
    • cloudsql-postgres-googleapis-com
    • servicenetworking-googleapis-com
  4. Actualice todas las conexiones de peering para habilitar la exportación de rutas personalizadas .
  5. Identifique el rango asignado utilizado por la conexión de servicios privados.
  6. Configure el modo de publicidad personalizado de Cloud Router para el rango asignado en los Cloud Routers que administran sesiones BGP para sus túneles VPN de Cloud o conexiones de Cloud Interconnect (VLAN).

Conectarse desde Cloud Shell

Cloud Shell no admite la conexión a una instancia de Cloud SQL que solo tenga una dirección IP privada.

Conectarse desde direcciones IP que no sean RFC 1918

La RFC 1918 especifica las direcciones IP asignadas para uso interno (es decir, dentro de una organización) y que no se enrutan por Internet. En concreto, son:

  • 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 rangos de direcciones RFC 1918. De esta forma, todos los clientes privados pueden acceder a la base de datos sin necesidad de usar el proxy.

Para conectarse desde una dirección IP que no sea RFC 1918, debe configurar una autorización de IP por instancia para permitir el tráfico desde rangos de direcciones IP que no sean RFC 1918.

Por ejemplo, utilice 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 cumplan con el RFC 1918 de su red VPC. Debe actualizar el emparejamiento de red con Cloud SQL para exportar cualquier ruta que no cumpla con el RFC 1918.

gcloud compute networks peerings update cloudsql-postgres-googleapis-com \
--network=VPC_NETWORK_NAME \
--export-subnet-routes-with-public-ip \
--project=PROJECT_ID

    Reemplace lo siguiente:

  • cloudsql-postgres-googleapis-com es un nombre de conexión de servicio privado de su página de red VPC .

    Seleccione su red, luego busque la sección Conexión de servicio privado .

  • VPC_NETWORK_NAME es el nombre de su red VPC.
  • PROJECT_ID es el ID del proyecto de la red de VPC. Si usa una VPC compartida, utilice el ID del proyecto del host.

Para mitigar el agotamiento de direcciones IP, puede utilizar direcciones IP públicas de uso privado .

Conectarse desde direcciones IP públicas de uso privado

Si desea configurar su instancia en un rango de direcciones IP públicas de uso privado, habilite export-subnet-routes-with-public-ip en el intercambio de redes entre su 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

    Reemplace lo siguiente:

  • cloudsql-postgres-googleapis-com es un nombre de conexión de servicio privado de su página de red VPC .

    Seleccione su red y luego busque la sección Conexión de servicio privado .

  • VPC_NETWORK_NAME es el nombre de su red VPC.
  • PROJECT_ID es el ID del proyecto de la red de VPC. Si usa una VPC compartida, utilice el ID del proyecto del host.

Conectarse a una instancia configurada con direcciones IP públicas de uso privado

Si su instancia está configurada en un rango de direcciones IP públicas de uso privado y desea conectarse a él, habilite import-subnet-routes-with-public-ip en el intercambio de redes entre su 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

    Reemplace lo siguiente:

  • cloudsql-postgres-googleapis-com es un nombre de conexión de servicio privado de su página de red VPC .

    Seleccione su red, luego busque la sección Conexión de servicio privado .

  • VPC_NETWORK_NAME es el nombre de su red VPC.
  • PROJECT_ID es el ID del proyecto de la red de VPC. Si usa VPC compartida, utilice el ID del proyecto del host.

Conectarse mediante un punto final de escritura

Además de una dirección IP privada, puede usar un punto de conexión de escritura en una cadena de conexión SQL. Un punto de conexión 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. Al usar un punto de conexión de escritura, puede evitar tener que realizar cambios en la conexión de la aplicación cuando se produce una interrupción regional.

Si se produce una conmutación por error o una conmutación de réplica, el punto final de escritura puede ayudar a administrar las direcciones IP privadas de las instancias. En este caso, utilice el punto final de escritura para conectarse a la instancia que actúa como instancia principal.

Cómo Cloud SQL crea un punto final de escritura

Si habilita la API de DNS en la nube para su Google Cloud proyecto y, luego, crea una instancia principal de Cloud SQL Enterprise Plus Edition , promueve la réplica de la instancia o actualiza la instancia de Cloud SQL Enterprise Edition ; Cloud SQL genera automáticamente un punto final de escritura y lo asigna a la instancia.

Para obtener más información sobre cómo obtener el punto final de escritura para la instancia, consulte Ver información de la instancia .

Asignar un punto final de escritura a una instancia

Si no habilita la API de DNS en la nube para su Google Cloud proyecto y luego crea, promueve o actualiza su instancia, Cloud SQL no asigna el punto final de escritura a la instancia automáticamente.

Para que Cloud SQL genere un punto final de escritura y lo asigne a la instancia, complete los siguientes pasos:

  1. Habilitar la API de DNS en la nube.

    Consola

    1. En el Google Cloud consola, vaya a la página de API .

      Ir a las API

    2. Haga clic en la API de DNS en la nube .
    3. Habilitar la API.

    nube g

    1. Haga clic en el siguiente botón para abrir Cloud Shell, que proporciona acceso de línea de comandos a su Google Cloud Recursos directamente desde el navegador.

      Abrir Cloud Shell

    2. Para habilitar la API, ejecute el siguiente comando gcloud services enable :

      gcloud services enable dns.googleapis.com
  2. Cree una réplica habilitada para recuperación ante desastres avanzada . Como resultado, Cloud SQL genera el punto de conexión de escritura y lo asigna a la instancia.

  3. Para recuperar el punto final de escritura, utilice el comando gcloud sql instances describe :
    gcloud sql instances describe INSTANCE_NAME | grep psaWriteEndpoint

    Reemplace INSTANCE_NAME con el nombre de su instancia de Cloud SQL.

Solucionar problemas

Consulte la solución de problemas para problemas de conectividad conocidos y también la depuración de problemas de conexión para obtener ayuda con el autodiagnóstico.

¿Qué sigue?