Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.

Fazer backup do banco de dados de aplicativo do MongoDB Ops Manager

O banco de dados de aplicativo armazena suas configurações do MongoDB Ops Manager, histórico de operações e metadados de backup. Ao implantar o banco de dados de aplicativo como um banco de dados de aplicativo externo, o Kubernetes operador o gerencia como um recurso personalizado padrão do MongoDB, o que significa que o MongoDB Ops Manager pode fazer backup e restaurá-lo como qualquer outra implantação do MongoDB que o Kubernetes operador gerencia.

Para implantar um banco de dados de aplicativo externo, consulte os seguintes procedimentos:

Uma implantação do MongoDB Ops Manager com um banco de dados de aplicativo gerenciado internamente armazena o banco de dados de aplicativo dentro do recurso personalizado do MongoDB Ops Manager, onde as ferramentas de backup padrão não podem alcançá-lo. Se o MongoDB Ops Manager falhar, você poderá perder o controle das implantações que ele gerencia.

Fazer backup de um banco de dados de aplicativo externo atende às seguintes necessidades:

  • Recuperação de desastre. Restaure o banco de dados de aplicativo após perda de dados, corrupção de dados ou uma alteração de configuração com falha.

  • Rede de segurança operacional. Reverta um gravar em massa errôneo para o momento antes de acontecer.

  • Objetivos de recuperação mais baixos. A captura contínua de oplog pode reduzir o objetivo do ponto de recuperação preservando as alterações entre snapshots.

O MongoDB Ops Manager mantém uma cópia dos dados do banco de dados de aplicativo e um fluxo contínuo de entradas de oplog, o que permite que você faça o seguinte:

  • Restaure um snapshot completo do banco de dados de aplicativo para uma implantação nova ou existente.

  • Restaure o banco de dados de aplicativo para qualquer ponto no tempo entre snapshots reproduzindo o oplog para um carimbo de data/hora que você escolher.

  • Query um snapshot de backup sem restaurá-lo. Para aprender mais, consulte Configurar queryable backup para recursos do Ops Manager.

  • Atenda aos requisitos de retenção e compliance, opcionalmente com snapshots imutáveis.

Uma implantação externa de banco de dados de aplicativo usa os seguintes recursos:

Resource
Descrição

gerenciamento MongoDB Ops Manager

Um recurso do MongoDB Ops Manager com seu próprio banco de dados de aplicativo gerenciado internamente. A instância de gerenciamento do MongoDB Ops Manager não gerencia seus bancos de dados. Ele gerencia o projeto que contém o banco de dados de aplicativo externo e atua como o mecanismo de recuperação se você perder a instância primária do MongoDB Ops Manager. Implante-o em um domínio de falha separado, como uma zona de disponibilidade diferente.

Banco de dados de aplicativo externo

Um recurso MongoDB ou MongoDBMultiCluster com spec.role configurado para AppDB. Para saber mais, consulte Especificação de recursos de banco de dados MongoDB e Especificação de recursos multi-Kubernetes-Cluster. Seu nome deve ser <primary-om-name>-db. A instância de gerenciamento do Ops Manager gerencia esse recurso como um projeto, para que você possa ativar o backup nele como qualquer outro recurso do MongoDB .

MongoDB Ops Manager primário

O recurso MongoDB Ops Manager que gerencia seus banco de dados. Ele omite spec.applicationDatabase e faz referência ao banco de dados de aplicativo externo com spec.externalApplicationDatabaseRef.

Como uma nova instância do MongoDB Ops Manager não pode ser iniciada sem um banco de dados de aplicativo, e um recurso do MongoDB com spec.role definido como AppDB não pode ser reconciliado sem uma instância do MongoDB Ops Manager disponível, a instância de gerenciamento do MongoDB Ops Manager é um pré-requisito para um banco de dados de aplicativo externo. Implante-o antes de implantar o banco de dados de aplicativo externo.

Se você perder a instância primária do MongoDB Ops Manager, você usa a instância de gerenciamento do MongoDB Ops Manager para restaurar o banco de dados de aplicativo externo, em seguida, recrie a instância primária do MongoDB Ops Manager no banco de dados de aplicativo restaurado e, em seguida, restaure suas cargas de trabalho do MongoDB.

Você pode distribuir o banco de dados de aplicativos externo como um recurso do MongoDBMultiCluster para distribuir os membros do banco de dados de aplicativos em vários clusters do Kubernetes. O Operador Kubernetes cria um StatefulSet de banco de dados de aplicativo por cluster de membro, chamado <primary-om-name>-db-<cluster-index>, e o recurso principal do Ops Manager faz referência a ele com spec.externalApplicationDatabaseRef definido como MongoDBMultiCluster.

Um banco de dados de aplicativos externo com vários clusters exige criptografia TLS e rede entre clusters entre os clusters de membros. Você pode fornecer essa rede com uma interface de serviço, como Isthio, ou sem uma interface de serviço. Para uma implantação sem uma rede de serviço, consulte Multi-Cluster Ops Manager sem uma rede de serviço. Para saber mais, consulte Implantar um banco de dados de aplicativos externos multicluster.

O MongoDB Ops Manager armazena metadados de backup no banco de dados de aplicativo, e tanto o aplicativo MongoDB Ops Manager quanto o Backup Daemon se conectam ao banco de dados de aplicativo. Ao referenciar um banco de dados de aplicativo externo com spec.externalApplicationDatabaseRef, o Kubernetes operador lida com essa conexão para você:

  • O Operador Kubernetes resolve a configuração TLS e CA do recurso MongoDB referenciado e o aplica ao Ops Manager StatefulSet e ao Backup Daemon StatefulSet. O Backup Daemon confia em um banco de dados de aplicativos externo habilitado para TLS da mesma forma que confia em um gerenciado internamente.

  • O Backup Daemon se conecta usando a mesma string de conexão que o operador do Kubernetes calcula para o aplicativo do Ops Manager.

A ativação do backup não muda. Você define spec.backup.enabled no recurso primário do MongoDB Ops Manager, assim como faria para um banco de dados de aplicativo gerenciado internamente. A única diferença é onde o banco de dados de aplicativo é executado.

Para fazer backup do banco de dados de aplicativo externo em si, habilite o backup no recurso MongoDB que o representa, no projeto que a instância de gerenciamento do MongoDB Ops Manager gerencia. Para saber mais, consulte Configurar backups do banco de dados MongoDB.

Durante uma migração entre um banco de dados de aplicativo gerenciado internamente e um banco de dados de aplicativo externo, o operador Kubernetes define uma anotação no StatefulSet do banco de dados de aplicativo para o registro de que o StatefulSet está pronto para mudar de proprietários. O operador Kubernetes define e lê essas anotações. Não os defina você mesmo.

Em uma implantação de vários clusters, o Operador Kubernetes aplica essas anotações ao Banco de Dados do Aplicativo StatefulSet em cada cluster de membros. O Operador Kubernetes rastreia a propriedade de cada StatefulSet do cluster de membros com o rótulo mongodbmulticluster em vez de uma referência de proprietário. Um StatefulSet em um cluster de membros não pode carregar uma referência de proprietário a um recurso no cluster central.

Anotação
Descrição

mongodb.com/appdb-migration-ready

O recurso MongoDB Ops Manager liberou o StatefulSet para que o recurso MongoDB possa assumir a propriedade dele. O operador Kubernetes define essa anotação quando você migra de um banco de dados de aplicativo gerenciado internamente para um banco de dados de aplicativo externo. Para aprender mais, consulte Migrar um banco de dados de aplicativo para uma implantação externa.

mongodb.com/appdb-reverse-migration-ready

O recurso do MongoDB liberou o StatefulSet para que o recurso do MongoDB Ops Manager possa recuperá-lo. O Kubernetes operador define esta anotação quando você retorna um banco de dados de aplicativo externo para o gerenciamento interno. Para aprender mais, consulte Retornar um banco de dados de aplicativo externo para o MongoDB Ops Manager.

Antes de fazer backup de um banco de dados de aplicativo externo, conclua as seguintes tarefas:

O backup do banco de dados de aplicativo externo tem as seguintes limitações:

  • Um recurso MongoDB com spec.role configurado para AppDB deve utilizar uma topologia de cluster único. Para distribuir o banco de dados de aplicativos externos em vários clusters do Kubernetes, use um recurso MongoDBMultiCluster, conforme descrito em Implantar um banco de dados de aplicativos externos de vários clusters.

  • Este recurso não faz backup nem restaura o estado do MongoDB Ops Manager além do próprio banco de dados de aplicativo.

  • Este recurso não altera como você faz backup ou restaura as implantações do MongoDB que você gerencia com o MongoDB Ops Manager.

  • O operador Kubernetes não oferece suporte a substituições de automationConfig para um banco de dados de aplicativo externo, porque o recurso MongoDB não tem uma configuração equivalente.

  • O operador Kubernetes não oferece suporte a spec.applicationDatabase.passwordSecretKeyRef durante a migração para um banco de dados de aplicativo externo. O operador do Kubernetes gera uma nova senha e gira qualquer senha que você forneceu.

  • Quando você faz referência a uma implantação existente do MongoDB como um banco de dados de aplicativo externo, você assume a responsabilidade pelo gerenciamento diário dessa implantação. O operador Kubernetes não fornece nenhuma ferramenta que reconcilia a configuração de recurso do MongoDB com a configuração do banco de dados de aplicativo gerenciada internamente. Você deve especificar essa configuração você mesmo.