Actualiza una instancia a la nueva arquitectura de red


En esta página, se describe cómo actualizar las instancias de Cloud SQL de la arquitectura de red anterior a la nueva.

Esta página de actualización de la arquitectura de red de Cloud SQL solo se aplica a algunas instancias de Cloud SQL. Si tus instancias de Cloud SQL usan un proyecto de red de nube privada virtual (VPC) que se creó antes de agosto de 2021, debes actualizar la arquitectura de red de Cloud SQL para tus instancias.

Descripción general

En la siguiente tabla, se muestran los beneficios de la nueva arquitectura de red en comparación con la arquitectura de red anterior:

Función Arquitectura de red anterior Nueva arquitectura de red
Cómo migrar de Cloud SQL a AlloyDB para PostgreSQL con Database Migration Service Requiere que configures una dirección IP privada para la migración No se requiere configuración de red adicional.

Por ejemplo, migración de Cloud SQL a AlloyDB para PostgreSQL.
Conecta tu instancia de Cloud SQL con IP privada para servicios privados como Cloud Build o Vertex AI No se admite debido a la intransitividad del intercambio de tráfico entre redes Admitido
Instancias que cumplen con Assured Workloads No compatible Admitido
Microsoft AD administrado No compatible Admitido
Private Service Connect No compatible Admitido
Uso del rango de direcciones IP Rangos de direcciones IP adicionales consumidos para subredes dedicadas de instancias de IP privadas de Cloud SQL para PostgreSQL No se consumen rangos de direcciones IP adicionales para instancias de Cloud SQL para PostgreSQL
Cuota de instancia predeterminada de Cloud SQL por proyecto 100 1000

Planifica la actualización

Antes de actualizar la arquitectura de red de tus instancias de Cloud SQL, planifica la actualización de acuerdo con las siguientes restricciones de actualización:

  • Si actualizas la arquitectura de tu red, es posible que tu instancia tenga un tiempo de inactividad de hasta 4 minutos en promedio.

  • Si hay una migración de datos en curso, no puedes actualizar la instancia de origen a la arquitectura nueva durante la migración de datos.

  • Si te conectas a una instancia desde una fuente externa, verifica que todas las conexiones de intercambio de tráfico estén actualizadas para habilitar la exportación de rutas personalizadas.

  • Si usas perímetros de servicio, verifica que se incluya el proyecto host de VPC compartida. Si no se incluye este proyecto, la migración fallará.

  • No puedes actualizar la arquitectura de red de las instancias en una red con más de 300 instancias de Cloud SQL.

  • Si tu red incluye dos o más instancias que usan direcciones IP privadas en la misma región, Cloud SQL debe usar un rango (o rangos) adicional /24 del rango de direcciones IP de acceso privado a los servicios asignados para alojar las instancias en la nueva arquitectura de red. Este consumo adicional es temporal y se quita durante un evento de mantenimiento posterior de Cloud SQL.

Planifica la actualización de todas las instancias de Cloud SQL en un proyecto de red

Tus instancias de Cloud SQL pueden residir en el mismo proyecto que la red de VPC o en un proyecto independiente. El proyecto que aloja la red de VPC es el proyecto de red.

Un proyecto de red puede operar en modo de pila doble, lo que significa que puede alojar instancias de Cloud SQL de forma simultánea, con la arquitectura de red anterior y la nueva. Esto ocurre cuando al menos una instancia dentro del proyecto usa la arquitectura anterior. Como resultado, Cloud SQL no puede actualizar el proyecto a la arquitectura nueva.

Para consultar la arquitectura de red de todas las instancias de un proyecto, puedes usar gcloud CLI o la API.

Consideraciones para proyectos de pila doble

Cuando uses proyectos de pila doble, ten en cuenta las siguientes consideraciones:

  • Actualiza una instancia de forma implícita: Cuando modificas la red privada de una instancia o habilitas la dirección IP privada dentro de un proyecto de pila doble, Cloud SQL puede actualizar la instancia a la nueva arquitectura de red de forma implícita.
  • Sin degradaciones de arquitectura: Los cambios de red nunca degradan la arquitectura de red de una instancia.
  • Rechazar solicitudes: Si un cambio de red necesita una baja de versión para completarse, Cloud SQL rechaza la solicitud.

Para evitar posibles conflictos y garantizar una actualización de red sin problemas, te recomendamos que planifiques la actualización de todas las instancias del proyecto a la nueva arquitectura.

Actualiza la arquitectura de red de Cloud SQL

Para actualizar la arquitectura de red de las instancias de Cloud SQL, haz lo siguiente:

  1. Verifica la arquitectura de red de una sola instancia de Cloud SQL o de varias instancias de Cloud SQL.
  2. Actualiza la arquitectura de red de una instancia de Cloud SQL.

Verifica la arquitectura de red de una sola instancia de Cloud SQL

Para verificar la arquitectura de red actual de una sola instancia, usa el comando gcloud sql instances describe o el método instances.get.

gcloud

Para obtener información sobre cómo instalar y comenzar a usar la CLI de gcloud, consulta Instala la CLI de gcloud. Para obtener información sobre cómo iniciar Cloud Shell, consulta Usa Cloud Shell.

Para verificar la arquitectura de red de una sola instancia, ejecuta el siguiente comando:

   gcloud sql instances describe INSTANCE_NAME
   

Si la instancia usa la arquitectura de red anterior, la respuesta es similar a la siguiente:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: OLD_NETWORK_ARCHITECTURE
  

Si la instancia usa la nueva arquitectura de red, la respuesta es similar a la siguiente:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: NEW_NETWORK_ARCHITECTURE
  

El parámetro sqlNetworkArchitecture indica si la instancia usa la arquitectura de red anterior (OLD_NETWORK_ARCHITECTURE) o la arquitectura de red nueva (NEW_NETWORK_ARCHITECTURE).

REST v1

Para verificar la arquitectura de red de una instancia, usa el método instances.get de la API de Cloud SQL Admin.

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

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: El nombre de la instancia.
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red se define de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Para verificar la arquitectura de red de una instancia, usa el método instances.get de la API de Cloud SQL Admin.

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

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: El nombre de la instancia.
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red se define de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Verifica la arquitectura de red de varias instancias de Cloud SQL

Para verificar la arquitectura de red de varias instancias de un proyecto, usa el comando gcloud sql instances list o el método instance.list.

gcloud

Para verificar la arquitectura de red de varias instancias de un proyecto, ejecuta el siguiente comando:

gcloud sql instances list --show-sql-network-architecture

El resultado es similar al siguiente.

NAME        DATABASE_VERSION LOCATION   ...     SQL_NETWORK_ARCHITECTURE
instance_1  POSTGRES_13      asia-northeast1-b  OLD_NETWORK_ARCHITECTURE
instance_2  MYSQL_5_7        europe-west1-d     NEW_NETWORK_ARCHITECTURE
...

REST v1

Para verificar la arquitectura de red de varias instancias en un proyecto, usa el método instance.list.

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

  • PROJECT_ID: el ID del proyecto
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

LIST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Para verificar la arquitectura de red de varias instancias en un proyecto, usa el método instance.list.

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

  • PROJECT_ID: el ID del proyecto
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red se define de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

LIST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Actualiza la arquitectura de red de una sola instancia de Cloud SQL

Para actualizar la arquitectura de red de una sola instancia, usa el comando gcloud sql instances patch, el método instance.update o el método instance.patch.

gcloud

Para actualizar la arquitectura de red de una instancia, ejecuta el siguiente comando:

gcloud sql instances patch INSTANCE_NAME --upgrade-sql-network-architecture

La operación de actualización toma unos minutos.

Durante la actualización, se inicia una operación de larga duración y se muestra un token de operación:

operation_id

REST v1

Para actualizar la arquitectura de red de una instancia, usa el método instance.update o el método instance.patch de la API de Cloud SQL Admin.

Cuando actualizas la arquitectura de red de Cloud SQL, no se permiten actualizaciones adicionales de la instancia en la solicitud. El cuerpo de la solicitud contiene una instancia del objeto DatabaseInstance, con sqlNetworkArchitecture configurado como NEW_NETWORK_ARCHITECTURE.

Durante la actualización, se inicia una operación de larga duración y se muestra un token de operación:

operation_id

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

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: El nombre de la instancia.
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red se define de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Si la actualización de la instancia falla, vuelve a intentar la operación de actualización.

REST v1beta4

Para actualizar la arquitectura de red de una instancia, usa instance.update method o instance.patch method de la API de Cloud SQL Admin.

Cuando actualizas la arquitectura de red de Cloud SQL, no se permiten actualizaciones adicionales de la instancia en la solicitud. El cuerpo de la solicitud contiene una instancia del objeto DatabaseInstance, con sqlNetworkArchitecture configurado como NEW_NETWORK_ARCHITECTURE.

Durante la actualización, se inicia una operación de larga duración y se muestra el siguiente token de operación:

operation_id

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

  • PROJECT_ID: el ID del proyecto
  • INSTANCE_NAME: El nombre de la instancia.
  • NETWORK_ARCHITECTURE_TYPE: El tipo de arquitectura de red se define de la siguiente manera:
    • OLD_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red anterior.
    • NEW_NETWORK_ARCHITECTURE: La instancia usa la arquitectura de red nueva.

Método HTTP y URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Cuerpo JSON de la solicitud:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Si por algún motivo la actualización de la instancia falla, puedes reintentar la operación de actualización.

Preguntas frecuentes

En esta sección, se proporcionan respuestas a las preguntas frecuentes sobre la actualización de la arquitectura de red de Cloud SQL.

¿Cuál es el impacto de la actualización en mi instancia de Cloud SQL?

Cuando actualizas la arquitectura de tu red, la instancia de Cloud SQL tiene el estado MAINTENANCE. En este estado, la instancia experimenta hasta cuatro minutos de tiempo de inactividad, en promedio. No se permiten cambios adicionales en la instancia hasta que se complete la actualización. Otras instancias en tu proyecto o red afectadas por la actualización.

¿Todas las funciones operan de la misma manera después de la actualización?

Todas las funciones de tu instancia de Cloud SQL operan de la misma manera en la arquitectura nueva que en la anterior. Después de actualizar una instancia para usar la nueva arquitectura de red, si deseas cambiar la red de esa instancia, asegúrate de que todas las instancias en la red de destino también se actualicen a la nueva arquitectura de red.

¿Qué instancias usa la arquitectura de red anterior?

Cualquier proyecto nuevo que se haya creado después de agosto de 2021 usará automáticamente la arquitectura de red nueva. Los proyectos existentes pueden contener instancias de Cloud SQL que tienen más de dos años y aún usan la arquitectura de red anterior. Por lo tanto, todas las instancias dentro de un proyecto existente deben actualizarse antes de que cualquier instancia nueva en ese proyecto pueda comenzar a usar la nueva arquitectura de red.

¿Se crean todas las instancias de Cloud SQL nuevas en la arquitectura de red nueva?

De forma predeterminada, las instancias nuevas de Cloud SQL que se crean en proyectos creados después de agosto de 2021 usan la arquitectura de red nueva.

Si deseas crear una instancia en un proyecto creado antes de agosto de 2021 y usar la nueva arquitectura de red, debes actualizar todas las instancias existentes de ese proyecto a la nueva arquitectura de red. Si usas VPC compartida, debes actualizar todas las instancias de los proyectos que participan en la VPC compartida.

Después de actualizar todas las instancias existentes en tu proyecto, espera varias horas antes de crear instancias en el proyecto. Las instancias nuevas que crees en el proyecto usarán la nueva arquitectura de red.

¿Es posible actualizar todas las instancias de un proyecto con un solo comando?

No, la actualización a la nueva arquitectura de red se basa en cada instancia.

¿La réplica se actualiza automáticamente si actualizo la instancia principal?

No, la actualización a la nueva arquitectura de red se basa en cada instancia individual. Cada réplica se trata como una instancia independiente y debe actualizarse por separado. Esto significa que, si la instancia principal se actualiza y la réplica usa la arquitectura de red anterior, la réplica no se ve afectada. Lo contrario también es verdadero. Si actualizas una réplica, la instancia principal no se verá afectada.

Recibí una notificación en la que se indica que se actualizará la arquitectura de red de mis instancias de Cloud SQL. ¿Qué debo hacer?

No es necesario que realices ninguna acción.

En algunas instancias, cuando la actualización automática se realiza en una red privada, la solicitud se rechaza de forma temporal. Como solución alternativa, puedes actualizar la arquitectura de red de tu instancia; para ello,, sigue el procedimiento en Actualiza la arquitectura de red de una sola instancia de Cloud SQL.

Cuando intento actualizar mi instancia, recibo el error “fuera del rango de direcciones IP reservadas”. ¿Qué debo hacer?

Para usar instancias de Cloud SQL en una red de VPC con IP privada, asigna rangos de direcciones IP cuando configures el acceso privado a los servicios para la red de VPC.

Por ejemplo, si se cambia o borra un rango de direcciones IP asignadas, es posible que veas un error similar al siguiente:

Network architecture upgrade not allowed for private-ip instance PROJECT_ID:INSTANCE_NAME
whose IP address range 10.0.0.0/24 is outside the reserved IP address range for
private services access. Re-allocate the IP address range for private services access and retry.

En este ejemplo, el rango de direcciones IP asignado original tiene el nombre google-managed-services-VPC_NETWORK_NAME y el rango de direcciones IP asignado original es 10.0.0.0/16. Luego, creas una instancia con una dirección IP privada de 10.0.0.1. Si se borra el rango de direcciones IP de google-managed-services-VPC_NETWORK_NAME o se actualiza para hacer referencia a un rango de 10.1.0.0/16, este rango no abarca la dirección IP privada de la instancia 10.0.0.1. Luego, cuando intentes actualizar la arquitectura de red de la instancia, verás el error outside the reserved IP address range.

A fin de resolver este problema, sigue el procedimiento en Configura el acceso privado a servicios para Cloud SQL. Reasigna un rango de direcciones IP que incluya la dirección IP de tu instancia en los rangos asignados para el acceso privado a servicios. Como mínimo, puedes asignar el rango de direcciones IP informado en el mensaje de error (en el ejemplo anterior, 10.0.0.0/24).

Luego, vuelve a intentar la actualización de la arquitectura de red.

¿Qué sigue?