Overview
Puede cambiar la configuración de implementación de una aplicación existente para implementarla en un nuevo modelo, región y/o proveedor de nube. Por ejemplo, podría cambiar su aplicación de una implementación global a una región local específica de AWS o cambiar una aplicación implementada en el Este de Estados Unidos de AWS a Azure. Para una lista de todas las opciones disponibles, consulta Modelos de implementación y regiones.
Para migrar una aplicación existente, se inicia una migración de implementación que traslada automáticamente los datos y la configuración de la aplicación a la nueva configuración. El proceso de migración está diseñado para ser lo más fluido posible, pero requiere 5 de a 30 minutos de inactividad. Puede supervisar el estado de la migración, pero no se procesarán solicitudes hasta que se complete. Para obtener más información, consulte Proceso de migración de implementación.
Importante
Contacta con el soporte de MongoDB
Le recomendamos que se ponga en contacto con el soporte técnico de MongoDB si planea cambiar el modelo de implementación de una aplicación de producción. Para saber cómo hacerlo, visite el portal de soporte de MongoDB.
Ejecutar una migración de implementación
Puedes iniciar una migración de implementación en cualquier momento. Solo se puede realizar una migración a la vez para una aplicación. Si intentas iniciar una migración mientras otra está en curso, la nueva migración no se ejecutará y generará un error.
Si se conecta a su aplicación desde un SDK de Realm, debe actualizarlo a una versión compatible con los cambios de modelo de implementación. Si la versión del SDK de su aplicación no es compatible, deberá reinstalarla. Si cambia los modelos de implementación antes de la actualización, el SDK no podrá conectarse y las solicitudes fallarán.
Minimum SDK version:
SDK de Realm C++ v0.2.0
Realm Flutter SDK v1.2.0
Realm Kotlin SDK v1.10.0
Realm .NET SDK v11.1.0
Realm Node.js SDK v12.0.0 (pending release)
Realm React Native SDK v12.0.0 (pendiente de lanzamiento)
SDK de Realm Swift v10.40.0
Antes de comenzar
Antes de cambiar los modelos de implementación, tenga en cuenta lo siguiente:
All logs and drafts will be lost.
Los activadores suspendidos se reiniciarán.
Cualquier punto final privado existente deberá volver a crearse para la nueva región.
Los activadores y las operaciones de sincronización de dispositivos se pausarán durante la migración.
Importante
La migración de implementación es permanente
Cambiar el modelo de implementación no es un borrador. Una vez guardado, este cambio no se puede revertir.
Necesitará lo siguiente para modificar el modelo de implementación de una aplicación en la interfaz de usuario de Atlas:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.
Necesitarás lo siguiente para modificar el modelo de implementación de una aplicación con la API de administración:
Una cuenta de MongoDB Atlas con permisos de propietario del proyecto. Para aprender cómo registrarte para obtener una cuenta gratuita, consulta Comienza en Atlas.
Un par de claves pública/llave privada de la API de administración de MongoDB Atlas. La clave de la API debe tener permisos de Propietario del proyecto para trabajar con la API de administración de App Services.
La cadena hexadecimal ObjectId interna de tu aplicación y el ID del proyecto Atlas que contiene tu aplicación. Para saber cómo encontrarlos, consulta Obtener metadatos de la aplicación.
Procedimiento
Elige un modelo de implementación objetivo y una región
Puede migrar una aplicación a cualquier configuración de implementación válida.
En primer lugar, elija migrar a una región específica LOCAL
región o una implementación GLOBAL distribuida en todo el mundo.
Si elige GLOBAL, elija una de las regiones globales para alojar los datos de configuración de su aplicación.
Si LOCAL elige, elija un proveedor de nube y una región específicos para la implementación. Para ver una lista de todas las opciones disponibles, consulte Modelos y regiones de implementación.
Inicia la migración
Una vez que hayas especificado la configuración de implementación deseada, haz clic en Continue. Debería ver un mensaje de confirmación con una lista de verificación. Revise y verifique cada elemento de la lista para confirmar que comprende el impacto de la migración.
Una vez que hayas revisado la lista de control, comienza la migración haciendo clic en Change region.
Limpieza después de la migración
Algunas funciones y servicios dejarán de funcionar después de una migración y deberán reconfigurarse. Si utiliza alguna de estas funciones, siga los pasos de limpieza a continuación para restaurar la funcionalidad:
funcionalidad | Pasos de limpieza |
|---|---|
Los nodos privados de VPC son específicos de la región. Después de migrar a una nueva región, debes crear nuevos nodos privados de VPC en la nueva región y actualizar tu aplicación para usar los nuevos nodos. No puede usar puntos de conexión privados de VPC si migró a una implementación global o a una región local en Azure o GCP. | |
Envío de solicitudes | Una vez completada la migración, debes enviar solicitudes utilizando nuevas URLs, si corresponde. |
Elige un modelo de implementación objetivo y una región
Puede migrar una aplicación a cualquier configuración de implementación válida.
Primero, elige migrar a una región específica de LOCAL o a una implementación de GLOBAL distribuida por todo el mundo.
Si elige GLOBAL, elija una de las regiones globales para alojar los datos de configuración de su aplicación.
{ "deployment_model": "GLOBAL", "provider_region": "aws-us-east-1" }
Si LOCAL elige, elija un proveedor de nube y una región específicos para la implementación. Para ver una lista de todas las opciones disponibles, consulte Modelos y regiones de implementación.
{ "deployment_model": "LOCAL", "provider_region": "azure-westus" }
Inicia la migración
Para empezar una migración, llama al endpoint Crear una Migración de Implementación con el modelo de implementación y la región a la que quieras migrar en el cuerpo de la solicitud.
curl -X PUT \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/{groupId}/apps/{appId}/deployment_migration \ -H 'Content-Type: application/json' \ -H 'Authorization: Bearer <AccessToken>' \ -d '{ "deployment_model": "<DeploymentModel>", "provider_region": "<RegionID>" }'
Monitorear el estado de la migración
Para obtener el estado actual de una migración de implementación, llama al endpoint Obtener una migración de implementación.
curl -X GET \ https://services.cloud.mongodb.com/api/admin/v3.0/groups/<groupId>/apps/<appId>/deployment_migration \ -H 'Authorization: Bearer <AccessToken>'
Limpieza después de la migración
Algunas funciones y servicios dejarán de funcionar después de una migración y deberán reconfigurarse. Si utiliza alguna de estas funciones, siga los pasos de limpieza a continuación para restaurar la funcionalidad:
funcionalidad | Pasos de limpieza |
|---|---|
Los nodos privados de VPC son específicos de la región. Después de migrar a una nueva región, debes crear nuevos nodos privados de VPC en la nueva región y actualizar tu aplicación para usar los nuevos nodos. No puede usar puntos de conexión privados de VPC si migró a una implementación global o a una región local en Azure o GCP. | |
Envío de solicitudes | Una vez completada la migración, debes enviar solicitudes utilizando nuevas URLs, si corresponde. |
Proceso de migración de implementación
Deployment migrations move your App's data and configuration to one or more new regions in a series of stages. At each stage, the process migrates a portion of your App to the new model and cleans up any artifacts from the previous model.
Una migración de implementación avanza por las siguientes etapas en orden:
"started":la migración ha comenzado"downtime":La aplicación no está disponible mientras la migración está en curso."enabling_event_subscriptions": se están habilitando los traductores de Device Sync y activadores de la aplicación"cleanup": deployment artifacts are being cleaned upLa migración está completa y puede estar en uno de dos estados:
"successful": la migración se completó con éxito"failed": the migration failed
Datos afectados
El proceso de migración no afecta ningún dato de aplicación almacenado en un clúster MongoDB Atlas.
The migration process migrates the following components of your App:
Cuentas de usuario
Archivos de configuración de la aplicación
Activadores
API Services
Traductores de sincronización de dispositivos
The migration process does not migrate the following data:
Registros de aplicaciones
Borradores de implementación
Datos almacenados en un clúster de MongoDB Atlas