Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.

Realizar una copia de seguridad de la base de datos de la aplicación de MongoDB Ops Manager

La base de datos de la aplicación almacena la configuración de MongoDB Ops Manager, el historial de operaciones y los metadatos de la copia de seguridad. Cuando implementa la base de datos de la aplicación como una base de datos de la aplicación externa, el operador de Kubernetes la tiene gestionada como un recurso personalizado estándar de MongoDB, lo que significa que Ops Manager puede hacer una copia de seguridad y una restauración de ella como cualquier otra implementación de MongoDB que el operador de Kubernetes tiene gestionada.

Para implementar una base de datos de la aplicación externa, consulte los siguientes procedimientos:

Una implementación de MongoDB Ops Manager con una base de datos de la aplicación gestionada internamente almacena la base de datos de la aplicación dentro del recurso personalizado de MongoDB Ops Manager, donde las herramientas estándar de copia de seguridad no pueden acceder a ella. Si MongoDB Ops Manager falla, puede perder el control de las implementaciones que gestiona.

La copia de seguridad de una base de datos de la aplicación externa aborda las siguientes necesidades:

  • Recuperación ante desastres. Restauración de la base de datos de la aplicación después de una pérdida de datos, una corrupción de datos o un cambio de configuración fallido.

  • Red de seguridad operacional. Revierta un guardar masivo erróneo al momento anterior a que ocurriera.

  • Objetivos de recuperación más bajos. La captura continua de oplog puede reducir el objetivo de punto de recuperación al preservar los cambios entre instantáneas.

MongoDB Ops Manager mantiene una copia de los datos de la base de datos de la aplicación y un flujo continuo de entradas de oplog, lo que le permite hacer lo siguiente:

  • Restaurar un snapshot completo de la base de datos de la aplicación en una implementación nueva o existente.

  • Restaure la base de datos de la aplicación a cualquier punto en el tiempo entre instantáneas mediante la reproducción del oplog a una marca de tiempo que elija.

  • Query un snapshot de copia de seguridad sin restaurarlo. Para obtener más información, consulte Configurar respaldos consultables para recursos de MongoDB Ops Manager.

  • Cumpla con los requisitos de retención y cumplimiento, opcionalmente con snapshot inmutables.

Una implementación externa de la base de datos de la aplicación utiliza los siguientes recursos:

Resource
Descripción

Gestión MongoDB Ops Manager

Un recurso de MongoDB Ops Manager con su propia base de datos de la aplicación gestionada internamente. La instancia de MongoDB Ops Manager de gestión no gestiona sus bases de datos. Gestiona el Proyecto que contiene la base de datos de la aplicación externa y actúa como motor de recuperación si pierde la instancia principal de MongoDB Ops Manager. Implemente en un dominio de error independiente, como una zona de disponibilidad diferente.

Base de datos de la aplicación externa

Un recurso de MongoDB o MongoDBMultiCluster con spec.role configurado como AppDB. Para obtener más información, consulte la Especificación de recursos de base de datos de MongoDB y la Especificación de recursos de clústeres múltiples de Kubernetes. Su nombre debe ser <primary-om-name>-db. La instancia de Ops Manager administra este recurso como un proyecto, por lo que puede habilitar la copia de seguridad como en cualquier otro recurso de MongoDB.

MongoDB Ops Manager primario

El recurso de MongoDB Ops Manager que gestiona sus bases de datos. Omite spec.applicationDatabase y hace referencia a la base de datos externa de la aplicación con spec.externalApplicationDatabaseRef.

Dado que una nueva instancia de MongoDB Ops Manager no puede iniciarse sin una base de datos de la aplicación, y un recurso de MongoDB con spec.role establecido en AppDB no puede conciliarse sin una instancia de MongoDB Ops Manager disponible, la instancia de gestión de MongoDB Ops Manager es un requisito previo para una base de datos de la aplicación externa. Implemente antes de implementar la base de datos externa de la aplicación.

Si pierde la instancia principal de MongoDB Ops Manager, utilice la instancia de gestión de MongoDB Ops Manager para restaurar la base de datos de la aplicación externa, a continuación, vuelva a crear la instancia principal de MongoDB Ops Manager en la base de datos de la aplicación restaurada y, a continuación, restaure las cargas de trabajo de MongoDB.

Puede implementar la base de datos de aplicaciones externa como un recurso MongoDBMultiCluster para distribuir los miembros de la base de datos de aplicaciones entre varios clústeres de Kubernetes. El operador de Kubernetes crea un StatefulSet de la base de datos de aplicaciones por cada clúster miembro, denominado <primary-om-name>-db-<cluster-index>, y el recurso principal del administrador de operaciones lo referencia con spec.externalApplicationDatabaseRef configurado como tipo MongoDBMultiCluster.

Una base de datos de aplicaciones externa multiclúster requiere cifrado TLS y conectividad de red entre los clústeres miembros. Esta conectividad puede proporcionarse con una malla de servicios, como Istio, o sin ella. Para una implementación sin malla de servicios, consulte Administrador de operaciones multiclúster sin malla de servicios. Para obtener más información, consulte Implementación de una base de datos de aplicaciones externa multiclúster.

MongoDB Ops Manager almacena los metadatos de copia de seguridad en la base de datos de la aplicación, y tanto la aplicación MongoDB Ops Manager como el daemon de copias de seguridad se conectan a la base de datos de la aplicación. Cuando haga referencia a una base de datos de la aplicación externa con spec.externalApplicationDatabaseRef, el operador de Kubernetes gestiona esta conexión por usted:

  • El operador de Kubernetes resuelve la configuración TLS y la CA del recurso MongoDB referenciado y la aplica tanto al StatefulSet del administrador de operaciones como al StatefulSet del demonio de copia de seguridad. El demonio de copia de seguridad confía en una base de datos de aplicación externa con TLS habilitado del mismo modo que confía en una gestionada internamente.

  • El daemon de copias de seguridad se conecta utilizando la misma cadena de conexión que el operador de Kubernetes calcula para la aplicación MongoDB Ops Manager.

Habilitar la copia de seguridad no cambia. Establece spec.backup.enabled en el recurso primario de MongoDB Ops Manager, como lo haría para una base de datos de la aplicación gestionada internamente. La única diferencia es dónde se ejecuta la base de datos de la aplicación.

Para realizar una copia de seguridad de la propia base de datos de la aplicación externa, habilite la copia de seguridad en el recurso de MongoDB que la representa, en el proyecto que gestiona la instancia de gestión de MongoDB Ops Manager. Para obtener más información, consulte Configurar copias de seguridad de la base de datos de MongoDB.

Durante una migración entre una base de datos de la aplicación gestionada internamente y una base de datos de la aplicación externa, el operador de Kubernetes establece una anotación en el StatefulSet de la base de datos de la aplicación para registrar que el StatefulSet está listo para cambiar de propietario. El operador de Kubernetes establece y lee estas anotaciones. No las establezca usted mismo.

En una implementación de clústeres múltiples, el operador de Kubernetes aplica estas anotaciones al StatefulSet de la base de datos de la aplicación en cada clúster miembro. El operador de Kubernetes realiza un seguimiento de la propiedad de cada StatefulSet de clúster miembro con la etiqueta mongodbmulticluster en lugar de una referencia de propietario. Un StatefulSet en un clúster miembro no puede contener una referencia de propietario a un recurso en el clúster central.

Anotación
Descripción

mongodb.com/appdb-migration-ready

El recurso de MongoDB Ops Manager liberó el StatefulSet para que el recurso de MongoDB pueda asumirlo. El operador de Kubernetes establece esta anotación cuando migra de una base de datos de la aplicación gestionada internamente a una base de datos de la aplicación externa. Para obtener más información, consulte Migrar una base de datos de la aplicación a una implementación externa.

mongodb.com/appdb-reverse-migration-ready

El recurso de MongoDB liberó el StatefulSet para que el recurso de MongoDB Ops Manager pueda recuperarlo. El operador de Kubernetes establece esta anotación cuando devuelve una base de datos de la aplicación externa a la gestión interna. Para obtener más información, consulte Devolver una base de datos de la aplicación externa a MongoDB Ops Manager.

Antes de realizar una copia de seguridad de una base de datos de la aplicación externa, realice las siguientes tareas:

La copia de seguridad de la base de datos de la aplicación externa tiene las siguientes limitaciones:

  • Un recurso de MongoDB con spec.role configurado como AppDB debe usar una topología de clúster único. Para distribuir la base de datos de aplicación externa entre varios clústeres de Kubernetes, utilice un recurso MongoDBMultiCluster, como se describe en Implementar una base de datos de aplicación externa multiclúster.

  • Esta funcionalidad no realiza copias de seguridad ni restaura el estado de MongoDB Ops Manager, a excepción de la propia base de datos de la aplicación.

  • Esta funcionalidad no cambia la forma en que realiza copias de seguridad o realiza la restauración de las implementaciones de MongoDB que gestiona con MongoDB Ops Manager.

  • El operador de Kubernetes no admite invalidaciones de automationConfig para una base de datos de la aplicación externa, porque el recurso de MongoDB no tiene una configuración equivalente.

  • El operador de Kubernetes no admite spec.applicationDatabase.passwordSecretKeyRef durante la migración a una base de datos de aplicaciones externa. El operador de Kubernetes genera una nueva contraseña y rota cualquier contraseña que haya proporcionado.

  • Cuando hace referencia a una implementación de MongoDB existente como una base de datos de la aplicación externa, asume la responsabilidad de la gestión diaria de esa implementación. El operador de Kubernetes no proporciona ninguna herramienta que concilie la configuración de recursos de MongoDB con la configuración de la base de datos de la aplicación gestionada internamente. Debe especificar esa configuración usted mismo.