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:

Capacidades Arquitectura de red anterior Nueva arquitectura de red
Migra de Cloud SQL a AlloyDB para PostgreSQL y de AlloyDB para PostgreSQL a Cloud SQL 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 o migración de AlloyDB para PostgreSQL a Cloud SQL.
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
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, habrá hasta 4 minutos de tiempo de inactividad para tu instancia de base de datos.

  • 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 durante los últimos cuatro días o menos hay dos o más instancias en la red en la misma región, solo puedes actualizar las instancias que tengan habilitada la alta disponibilidad.

    Nota: En esta situación, Cloud SQL usa un rango adicional /24 de forma temporal para alojar las instancias actualizadas en la arquitectura nueva. Después de que Cloud SQL actualiza todas las instancias en la combinación de red y región, Cloud SQL libera el rango.

    Por ejemplo, si la red contiene dos instancias y una está en us-east1 y la otra está en us-central1, puedes actualizar ambas instancias, sin importar si la alta disponibilidad está habilitada o no. Sin embargo, si la red contiene tres instancias y una está en us-east1, y las otras dos están en us-central1, puedes actualizar las instancias en us-central1 que tienen habilitada la alta disponibilidad. Debido a que la instancia en us-east1 es la única instancia en esa región, puedes actualizarla, sin importar si la alta disponibilidad está habilitada.

  • Una vez que actualizas una instancia de alta disponibilidad a la nueva arquitectura de red, no puedes inhabilitar la alta disponibilidad en esa instancia.

  • Las instancias heredadas de alta disponibilidad (HA) no tienen réplicas de conmutación por error para una actualización.

  • Después de actualizar la arquitectura de red, no puedes crear réplicas de conmutación por error de alta disponibilidad heredadas para instancias actualizadas.

  • Si la recuperación de un momento determinado (PITR) o la replicación se habilitaron para tu instancia de Cloud SQL después del 11 de agosto de 2023, no puedes actualizar la instancia. Esto se debe a que, después del 11 de agosto de 2023, los registros PITR se almacenan en Cloud Storage.

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

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

Si al menos una instancia de Cloud SQL dentro de un proyecto de red usa la arquitectura de red anterior, todo el proyecto usa la arquitectura de red anterior. En este caso, tu proyecto no se actualiza por completo a la arquitectura de red nueva.

Puedes usar la gcloud CLI o la API de Cloud SQL Admin para consultar la arquitectura de red de todas las instancias de Cloud SQL dentro de un proyecto.

Cuando modificas la red privada de una instancia o habilitas una IP privada para una instancia, no puedes modificar la arquitectura de red en la misma solicitud. Si lo haces, se rechaza la solicitud. Para evitar esto, te recomendamos que actualices todas las instancias de un proyecto de red antes de modificar el proyecto de red.

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
   ...
   sql_network_architecture: 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
   ...
   sql_network_architecture: NEW_NETWORK_ARCHITECTURE
  

El parámetro sql_network_architecture 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.

HTTP method and 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.

HTTP method and 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.

HTTP method and 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.

HTTP method and 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.

HTTP method and 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.

HTTP method and URL:

PATCH 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,
  "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. La actualización no afecta a otras instancias de tu proyecto o red.

¿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 hacer lo siguiente:

  1. Actualiza todas las instancias existentes en ese proyecto a la arquitectura de red nueva.

  2. Si tienes un contrato de asistencia de Google Cloud, crea una solicitud de asistencia para cambiar la arquitectura de red predeterminada del proyecto a la nueva arquitectura.

  3. Si no tienes un contrato de asistencia, crea tu instancia y, luego, actualízala a la nueva arquitectura de red.

Una vez que se cambia el valor predeterminado del proyecto, puedes crear instancias con la arquitectura de red nueva en ese proyecto.

Si no cambias la arquitectura de red predeterminada de tu proyecto, todas las instancias nuevas de ese proyecto usarán la arquitectura de red anterior. Luego, debes actualizar cada una de estas instancias a la nueva arquitectura de red de forma individual.

¿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 correcto. Si actualizas una réplica, la instancia principal no se verá afectada.

¿Qué sigue?