Migración de Azure Cosmos DB for NoSQL a la compatibilidad con la zona de disponibilidad
Esta guía describe cómo migrar Azure Cosmos DB for NoSQL de una zona sin compatibilidad con las zonas de disponibilidad a una zona compatible.
El uso de zonas de disponibilidad en Azure Cosmos DB no tiene ningún impacto perceptible en el rendimiento o la latencia. No requiere ningún ajuste en el modo de coherencia seleccionado y tampoco requiere ninguna modificación en el código de la aplicación.
Cuando se habilitan las zonas de disponibilidad, Azure Cosmos DB distribuye de forma inteligente las cuatro réplicas de los datos en todas las zonas disponibles. Esto garantiza que, en caso de interrupción en una zona de disponibilidad, la cuenta permanece totalmente operativa. Por el contrario, sin zonas de disponibilidad, todas las réplicas estarían ubicadas en una única zona de disponibilidad (no exponemos cuál), lo que provocaría un posible tiempo de inactividad si esa zona específica experimenta un problema.
La habilitación de zonas de disponibilidad es una excelente manera de aumentar la resistencia de la base de datos de Cosmos DB sin introducir complejidades adicionales de la aplicación, lo que afecta al rendimiento o incluso incurrir en costos adicionales, si también se usa el escalado automático.
Requisitos previos
Las cuentas sin servidor pueden usar zonas de disponibilidad, pero esta opción solo está disponible durante la creación de la cuenta. Las cuentas existentes sin zonas de disponibilidad no pueden convertirse a una configuración de zona de disponibilidad. Para cargas de trabajo críticas, el rendimiento aprovisionado es la opción recomendada.
Comprenda que la habilitación de zonas de disponibilidad no es una opción para toda la cuenta. Una sola cuenta de Cosmos DB puede abarcar un número arbitrario de regiones de Azure, cada una de las cuales se puede configurar de forma independiente para aprovechar las zonas de disponibilidad y es posible que algunos pares regionales no tengan compatibilidad con zonas de disponibilidad. Esto es importante, ya que algunas regiones aún no admiten zonas de disponibilidad, pero agregarlas a una cuenta de Cosmos DB no impedirá habilitar zonas de disponibilidad en otras regiones configuradas para esa cuenta. El modelo de facturación también refleja esta posibilidad. Para obtener más información sobre el Acuerdo de Nivel de Servicio para Cosmos DB, consulte Confiabilidad en Cosmos DB para NoSQL. Para ver qué regiones admiten zonas de disponibilidad, consulte Regiones de Azure con compatibilidad con zonas de disponibilidad
Requisitos de tiempo de inactividad
Cuando se migra a la compatibilidad con la zona de disponibilidad, se produce una pequeña cantidad de falta de disponibilidad de escritura (unos segundos) al agregar y quitar la región secundaria, ya que el sistema detiene deliberadamente las escrituras para comprobar la coherencia entre regiones.
Migración
Como no puede activar las zonas de disponibilidad en una región que ya ha sido agregada a su cuenta, tendrá que eliminar esa región y agregarla de nuevo con las zonas de disponibilidad activadas. Para evitar cualquier interrupción del servicio, agregará y conmutará por error a una región temporal hasta que se complete la configuración de la zona de disponibilidad.
Siga los pasos que se indican a continuación para habilitar las zonas de disponibilidad de la cuenta en regiones seleccionadas.
Agregue una región temporal a la cuenta de base de datos siguiendo los pasos descritos en Agregar región a la cuenta de base de datos.
Si la cuenta de Azure Cosmos DB está configurada con escrituras en varias regiones, vaya al paso siguiente. De lo contrario, realice la conmutación por error manual a la región temporal siguiendo los pasos indicados en Realizar conmutación por error manual en una cuenta de Azure Cosmos DB.
Quite la región para la que desea habilitar las zonas de disponibilidad siguiendo los pasos descritos en Quitar región de la cuenta de base de datos.
Vuelva a agregar la región para que se habilite con zonas de disponibilidad:
- Agregue la región a la cuenta de base de datos.
- Busque la región recién agregada en la columna Región de escritura y habilite la Zona de disponibilidad para esa región.
- Seleccione Guardar.
Realice la conmutación por error a la región habilitada para la zona de disponibilidad siguiendo los pasos indicados en Realizar conmutación por error manual en una cuenta de Azure Cosmos DB.
Quite la región temporal siguiendo los pasos descritos en Quitar región de la cuenta de base de datos.