Importante: El comando para actualizar las instancias de Cloud SQL a la nueva arquitectura de red está inhabilitado temporalmente.
En esta página se describe cómo actualizar tus instancias de Cloud SQL de la arquitectura de red antigua a la nueva.
Esta página sobre la 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 del 2021, debes actualizar la arquitectura de red de Cloud SQL de tus instancias.
Información general
En la siguiente tabla se muestran las ventajas de la nueva arquitectura de red en comparación con la antigua:
Competencia | Arquitectura de red antigua | Nueva arquitectura de red |
---|---|---|
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 ninguna configuración de red adicional. Por ejemplo, migración de Cloud SQL a AlloyDB para PostgreSQL. |
Conecta tu instancia de Cloud SQL mediante una IP privada a servicios privados, como Cloud Build o Vertex AI. | No se admite debido a la intransitividad del emparejamiento de redes | Compatible |
Instancias que cumplen los requisitos de Assured Workloads | No compatible | Compatible |
Microsoft AD gestionado | No compatible | Compatible |
Private Service Connect | No compatible | Compatible |
Cuota de instancias de Cloud SQL predeterminada por proyecto | 100 | 1000 |
Planificar la actualización
Antes de actualizar la arquitectura de red de tus instancias de Cloud SQL, planifica la actualización según las siguientes restricciones:
Si actualizas tu arquitectura de red, es posible que tu instancia experimente un tiempo de inactividad de hasta 4 minutos de media.
Si hay una migración de datos en curso, no podrás actualizar la instancia de origen a la nueva arquitectura durante la migración de datos.
Si te conectas a una instancia desde una fuente externa, comprueba que todas las conexiones de peering se hayan actualizado para habilitar la exportación de rutas personalizadas.
Si usas perímetros de servicio, comprueba que se incluya el proyecto del host de la VPC compartida. Si no se incluye este proyecto, la migración fallará.
No puedes actualizar la arquitectura de red de las instancias de 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, tu instancia tendrá las siguientes limitaciones:
- Cloud SQL podría usar un intervalo /24 (o varios) adicional del intervalo de direcciones IP que hayas asignado al acceso privado a servicios. Cloud SQL usa el intervalo (o los intervalos) /24 adicional para alojar instancias en la nueva arquitectura de red.
- Si quedan pocos intervalos de subred /24 disponibles en el intervalo de direcciones IP que has asignado al acceso privado a servicios, Cloud SQL podría usar un intervalo /24 propiedad de Google para las instancias aptas. No puedes degradar la instancia actualizada para que sea una réplica de una instancia externa.
Estas limitaciones son temporales y Cloud SQL las elimina durante un evento de mantenimiento posterior.
Las instancias de alta disponibilidad (HA) antiguas con réplicas de conmutación por error no se pueden actualizar.
Después de actualizar la arquitectura de la red, no puedes crear réplicas de conmutación por error de alta disponibilidad antiguas para las instancias actualizadas.
Si vas a actualizar instancias de IP privada, es posible que la marca
import-custom-routes
esté habilitada en tu conexión de peering con la redservicenetworking
. Si cambias este ajuste después de la actualización, es posible que tu instancia pierda la conectividad.
Planificar la actualización de todas las instancias de Cloud SQL de un proyecto de red
Tus instancias de Cloud SQL pueden residir en el mismo proyecto que la red de VPC o en otro proyecto. El proyecto que aloja la red de VPC es el proyecto de red.
Un proyecto de red puede funcionar en modo de doble pila, lo que significa que puede alojar instancias de Cloud SQL simultáneamente con las arquitecturas de red antigua y nueva. Esto ocurre cuando al menos una instancia del proyecto usa la arquitectura antigua. Por lo tanto, Cloud SQL no puede actualizar el proyecto a la nueva arquitectura.
Para consultar la arquitectura de red de todas las instancias de un proyecto, puedes usar la CLI de gcloud o la API.
Consideraciones sobre los proyectos de pila dual
Cuando uses proyectos de pila dual, ten en cuenta lo siguiente:
- Actualizar una instancia de forma implícita: cuando modificas la red privada de una instancia o habilitas la dirección IP privada en un proyecto de doble pila, Cloud SQL puede actualizar la instancia a la nueva arquitectura de red de forma implícita.
- No se puede cambiar a una versión anterior de la arquitectura: los cambios en la red nunca degradan la arquitectura de red de una instancia.
- Rechazar solicitudes: si para completar un cambio de red es necesario hacer un downgrade, Cloud SQL rechaza la solicitud.
- Las instancias nuevas no pueden usar intervalos de IPs de la antigua arquitectura de red: cuando un proyecto está en modo de pila dual, no puedes crear instancias que usen intervalos de IPs asociados a conexiones de servicio de la antigua arquitectura de red.
Aplicación de la nueva arquitectura de red: puedes forzar que una instancia use la nueva arquitectura de red cuando crees la instancia o cuando modifiques su configuración de red. Cuando usas la marca
para crear o actualizar la instancia, esta se coloca en una subred independiente de las instancias que usan la antigua arquitectura de red. La separación es permanente y se mantiene incluso después de actualizar las instancias de la arquitectura de red antigua a la nueva.--enforce-new-network-architecture Para obtener más información sobre la asignación de IPs y las subredes, consulta Intervalos de direcciones IP asignados.
Para evitar posibles conflictos y que la actualización de la red se realice sin problemas, te recomendamos que planifiques la actualización de todas las instancias del proyecto a la nueva arquitectura.
Actualizar la arquitectura de red de Cloud SQL
Para actualizar la arquitectura de red de tu instancia de Cloud SQL, sigue estos pasos:
- Consulta la arquitectura de red de una sola instancia de Cloud SQL o de varias instancias de Cloud SQL.
- Actualizar la arquitectura de red de una instancia de Cloud SQL
Consultar la arquitectura de red de una sola instancia de Cloud SQL
Para comprobar 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 empezar a usar la CLI de gcloud, consulta el artículo Instalar la CLI de gcloud. Para obtener información sobre cómo iniciar Cloud Shell, consulta el artículo Usar Cloud Shell.
Para comprobar 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 antigua, la respuesta será 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 será similar a la siguiente:
name: INSTANCE_NAME project: PROJECT_ID ... sqlNetworkArchitecture: NEW_NETWORK_ARCHITECTURE
El parámetro sqlNetworkArchitecture
indica si tu instancia usa la arquitectura de red antigua (OLD_NETWORK_ARCHITECTURE
) o la nueva (NEW_NETWORK_ARCHITECTURE
).
REST v1
Para comprobar la arquitectura de red de una instancia, usa el método instances.get
de la API Admin de Cloud SQL.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_NAME: 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 antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance "name": INSTANCE_NAME "project": PROJECT_ID "sqlNetworkArchitecture": enum (SqlNetworkArchitecture) ... }
REST v1beta4
Para comprobar la arquitectura de red de una instancia, usa el método instances.get
de la API Admin de Cloud SQL.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_NAME: 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 antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance "name": INSTANCE_NAME "project": PROJECT_ID "sqlNetworkArchitecture": enum (SqlNetworkArchitecture) ... }
Comprobar la arquitectura de red de varias instancias de Cloud SQL
Para comprobar 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 comprobar la arquitectura de red de varias instancias de un proyecto, ejecuta el siguiente comando:
gcloud sql instances list --show-sql-network-architecture
La salida tiene un aspecto 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 comprobar la arquitectura de red de varias instancias de un proyecto, usa el método instance.list
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- NETWORK_ARCHITECTURE_TYPE: el tipo de arquitectura de red, que puede ser:
OLD_NETWORK_ARCHITECTURE
: la instancia usa la arquitectura de red antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance "name": INSTANCE_NAME "project": PROJECT_ID "sqlNetworkArchitecture": enum (SqlNetworkArchitecture) ... }
REST v1beta4
Para comprobar la arquitectura de red de varias instancias de un proyecto, usa el método instance.list
.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- 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 antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance "name": INSTANCE_NAME "project": PROJECT_ID "sqlNetworkArchitecture": enum (SqlNetworkArchitecture) ... }
Actualizar 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 tarda unos minutos.
Durante la actualización, se inicia una operación de larga duración y se devuelve 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 Admin de Cloud SQL.
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
definido como NEW_NETWORK_ARCHITECTURE
.
Durante la actualización, se inicia una operación de larga duración y se devuelve un token de operación:
operation_id
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_NAME: 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 antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance, "targetLink": string, "status": enum (SqlOperationStatus), "name": string, "insertTime": string, "startTime": string, "endTime": string ... }
Si la actualización de tu instancia falla, vuelve a intentarlo.
REST v1beta4
Para actualizar la arquitectura de red de una instancia, usa el método
instance.update method
o el método instance.patch method
de la API Admin de Cloud SQL.
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
definido como NEW_NETWORK_ARCHITECTURE
.
Durante la actualización, se inicia una operación de larga duración y se devuelve el siguiente token de operación:
operation_id
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_NAME: 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 antigua.NEW_NETWORK_ARCHITECTURE
: la instancia usa la nueva arquitectura de red.
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, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
{ "kind": sql#instance, "targetLink": string, "status": enum (SqlOperationStatus), "name": string, "insertTime": string, "startTime": string, "endTime": string ... }
Si la actualización de tu instancia falla por cualquier motivo, puedes volver a intentarlo.
Preguntas frecuentes
En esta sección se responden preguntas frecuentes sobre cómo actualizar la arquitectura de red de Cloud SQL.
- ¿Cómo afecta la actualización a mi instancia de Cloud SQL?
- ¿Todas las funciones funcionan igual después de la actualización?
- ¿Qué instancias usan la antigua arquitectura de red?
- ¿Todas las instancias de Cloud SQL nuevas se crean en la nueva arquitectura de red?
- ¿Es posible actualizar todas las instancias de un proyecto con un solo comando?
- ¿La réplica se actualiza automáticamente si actualizo la principal?
- He recibido una notificación que indica que se va a actualizar la arquitectura de red de mis instancias de Cloud SQL. ¿Qué debo hacer?
- Cuando intento actualizar mi instancia, aparece el error "outside the reserved IP address range" (fuera del intervalo de direcciones IP reservadas). ¿Qué debo hacer?
¿Cómo afectará la actualización a mi instancia de Cloud SQL?
Cuando actualizas tu arquitectura de red, la instancia de Cloud SQL tiene el estado MAINTENANCE. En este estado, la instancia experimenta un tiempo de inactividad de hasta cuatro minutos de media. No se pueden hacer más cambios en la instancia hasta que se complete la actualización. El resto de las instancias de tu proyecto o red no se verán afectadas por la actualización.
¿Todas las funciones funcionan igual después de la actualización?
Todas las funciones de tu instancia de Cloud SQL funcionan igual en la nueva arquitectura que en la antigua. Después de actualizar una instancia para que use la nueva arquitectura de red, si quieres cambiar la red de esa instancia, asegúrate de que todas las instancias de la red de destino también se hayan actualizado a la nueva arquitectura de red.
¿Qué instancias usan la arquitectura de red antigua?
Los proyectos nuevos que se hayan creado después de agosto del 2021 usarán automáticamente la nueva arquitectura de red. Los proyectos pueden contener instancias de Cloud SQL creadas antes de agosto del 2021 que sigan usando la antigua arquitectura de red. Por lo tanto, todas las instancias de un proyecto deben actualizarse antes de que las nuevas instancias de ese proyecto puedan empezar a usar la nueva arquitectura de red.
¿Todas las instancias de Cloud SQL nuevas se crean en la nueva arquitectura de red?
De forma predeterminada, las nuevas instancias de Cloud SQL creadas en proyectos creados después de agosto del 2021 usan la nueva arquitectura de red.
Si quieres crear una instancia en un proyecto creado antes de agosto del 2021 y usar la nueva arquitectura de red, tienes las siguientes opciones:
Actualizar todas las instancias: actualiza todas las instancias del proyecto a la nueva arquitectura de red. Si utilizas la VPC compartida, debes actualizar todas las instancias de los proyectos que participen en la VPC compartida. Después de actualizar todas las instancias del proyecto, espera varias horas antes de crear más instancias en el proyecto. Las nuevas instancias que crees en el proyecto usarán la nueva arquitectura de red.
Forzar el uso de la nueva arquitectura de red: puedes obligar a Cloud SQL a usar la nueva arquitectura de red mediante el campo
sqlNetworkArchitecture
de la API o la marca--enforce-new-network-architecture
de la CLI degcloud
cuando creas una instancia o modificas la configuración de red de IP privada de una instancia. Sin embargo, si aplicas la nueva arquitectura de red a las instancias antes de que se actualice por completo un proyecto, es posible que no se puedan crear instancias si no hay suficiente espacio de direcciones IP disponible. Para obtener más información sobre la asignación de intervalos de direcciones IP, consulta Intervalos de direcciones IP asignados.
Si hay instancias eliminadas recientemente con la antigua arquitectura de red, debes esperar cuatro días antes de crear una instancia con la nueva arquitectura de red. Este retraso se debe al proceso de restauración de una instancia eliminada.
¿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 principal?
No, la actualización a la nueva arquitectura de red se basa en cada instancia. Cada réplica se trata como una instancia independiente y debe actualizarse por separado. Esto significa que, si se actualiza la principal y la réplica usa la arquitectura de red antigua, la réplica no se verá afectada. También sucede lo contrario. Si actualizas una réplica, el elemento principal no se verá afectado.
He recibido una notificación que indica que se va a actualizar la arquitectura de red de mis instancias de Cloud SQL. ¿Qué debo hacer?
No es necesario que hagas nada.
En algunos casos, cuando se produce la actualización automática en una red privada, la solicitud se rechaza temporalmente. Como solución alternativa, puedes actualizar la arquitectura de red de tu instancia por tu cuenta siguiendo el procedimiento que se describe en Actualizar la arquitectura de red de una sola instancia de Cloud SQL.
Cuando intento actualizar mi instancia, aparece el error "fuera del intervalo de direcciones IP reservadas". ¿Qué debo hacer?
Para usar instancias de Cloud SQL en una red de VPC con IP privada, asigna intervalos de direcciones IP al configurar el acceso a servicios privados para la red de VPC.
Por ejemplo, si se cambia o se elimina un intervalo de direcciones IP asignado, puede que se produzca 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 intervalo de direcciones IP asignado originalmente tiene el nombre google-managed-services-VPC_NETWORK_NAME
y el intervalo de direcciones IP asignado originalmente es 10.0.0.0/16
.
A continuación, crea una instancia con una dirección IP privada de 10.0.0.1
.
Si se elimina el intervalo de direcciones IP de google-managed-services-VPC_NETWORK_NAME
o se actualiza para que haga referencia a un intervalo de 10.1.0.0/16
, este intervalo no cubrirá la dirección IP privada de la instancia 10.0.0.1
.
Después, cuando intentas actualizar la arquitectura de red de tu instancia, se produce el error outside the reserved IP address range
.
Para solucionar este problema, sigue el procedimiento que se indica en el artículo Configurar el acceso privado a los servicios en Cloud SQL.
Reasigna un intervalo de direcciones IP que incluya la dirección IP de tu instancia a los intervalos asignados para el acceso privado a los servicios.
Como mínimo, puedes asignar el intervalo de direcciones IP que se indica en el mensaje de error (en el ejemplo anterior, 10.0.0.0/24
).
A continuación, vuelve a intentar la actualización de la arquitectura de red.
Siguientes pasos
- Consulta más información sobre Private Service Connect.
- Consulta más información sobre Assured Workloads.
- Consulta más información sobre cómo configurar el acceso a servicios privados para Cloud SQL.
- Consulta más información sobre Database Migration Service para AlloyDB para PostgreSQL.