Observação
Este recurso não está disponível para clusters M0 grátis e clusters Flex. Para aprender mais sobre quais recursos não estão disponíveis, consulte Limites do Atlas M0 (cluster grátis).
O Atlas permite exportar seus snapshots do Cloud Backup para um serviço de armazenamento de objeto .
Para saber como gerenciar políticas e agendamentos de backup automatizado, consulte Gerenciar políticas de backup.
Serviços de armazenamento suportados
Atualmente, o Atlas oferece suporte aos seguintes serviços de armazenamento de objeto :
AWS Buckets S3
Armazenamento de blobs Azure
Buckets do Google Cloud Storage
Como o Atlas exporta snapshots
Observação
Se você exportar backups para o Amazon Web Services S3, poderá ativar o bloqueio de objetos do Amazon Web Services S3 para garantir a imutabilidade dos seus arquivos de backup necessários para conformidade e segurança. As travas de objetos impedem exclusões e modificações de arquivos de backup exportados.
Você pode exportar manualmente snapshots individuais ou configurar uma política de exportação para exportação automática de seus snapshots. Para exportações automáticas, você deve especificar uma frequência em sua política de exportação:
Diariamente
Semanalmente
Por mês
Anual
O Atlas exporta automaticamente qualquer snapshot de backup com o tipo de frequência que corresponde à frequência de exportação. O resultado exportado é um backup completo desse snapshot.
Exemplo
Considere o seguinte:
Uma política de backup que define um cronograma semanal e mensal de captura de imagem
Uma política de exportação que define uma frequência de exportação mensal
Suponha que, no final do mês, os snapshots semanais e mensais aconteçam no mesmo dia. Haveria 4 snapshots dos quais 3 seriam semanais e o quarto snapshot, embora tratado como um snapshot semanal pelo Atlas, também seria o snapshot mensal porque aconteceu no mesmo dia. O Atlas exportará o snapshot mensal somente porque a frequência de exportação corresponde à frequência do snapshot para esse snapshot. Para exportar os snapshots semanais também, atualize a política de exportação para exportar snapshots semanais. Se a frequência de exportação for definida como semanal, o Atlas exportará todos os 4 snapshots.
À medida que a exportação avança, você poderá ver resultados parciais em seu serviço de armazenamento de objeto .
O Atlas persiste documentos em snapshots, independentemente das configurações de Time to Live. Você pode acessar esses documentos a partir do seu snapshot após o prazo de vida útil.
O Atlas cobra $.125 por GB de dado exportado para o bucket da AWS S3, contêiner do Azure Blob Storage ou bucket do Google Cloud Storage, além do custo de transferência de dados do serviço de nuvem. O Atlas compacta os dados antes de exportá-los. Para estimar a quantidade de dados que estão sendo exportados, adicione o dataSize de cada banco de dados ao cluster. Esse total deve corresponder ao tamanho não compactado de sua exportação, que seria o custo máximo incorrido pelo Atlas para a operação de exportação de dados.
Uploads de arquivos do Atlas
O Atlas carrega um arquivo vazio para /exported_snapshots/.permissioncheck quando você:
Adicionar um novo armazenamento de objeto para exportação
Iniciar uma exportação
Depois de concluir a exportação, o Atlas faz o upload de um arquivo de metadados chamado .complete e de um arquivo de metadados chamado metadata.json para cada coleção.
Se um trabalho de exportação falhar:
O Atlas não tenta exportar automaticamente novamente.
O Atlas não remove quaisquer dados parciais em seu armazenamento de objeto .
Formato de Dados Exportado
O Atlas gzipfaz o upload de documentos JSON2 estendidos (v) compactados. O Atlas não carrega esses documentos em ordem. A seguir está o caminho para os arquivos em seu armazenamento de objeto :
/exported_snapshots/<orgName>/<projectName>/<clusterName>/<initiationDateOfSnapshot>/<timestamp>/<dbName>/<collectionName>/<shardName>.<increment>.json.gz
Onde:
| Nome da sua organização Atlas. |
| Nome do seu projeto Atlas. |
| Nome do seu agrupamento do Atlas. |
| Data em que o snapshot foi tirado. |
| Timestamp em que o trabalho de exportação foi criado. |
| Nome do banco de dados no Atlas cluster. |
| Nome da collection Atlas. |
| Nome do conjunto de réplicas. Para coleções fragmentadas, este é o nome do fragmento primário. |
| Contagem que é incrementada à medida que os chunks são carregados. Começa às |
Limitações
Você não pode executar as seguintes ações:
Exporte snapshots substitutos.
Tenha mais de uma exportação ativa por snapshot.
Exporte collections de visualização ou collections do sistema , com exceção das
<database>.system.jscollections.Exporte snapshots de clusters em um projeto Atlas com a Encryption at Rest com restrição de IP habilitada.
Exporte snapshots de projetos configurados para endpoints privados.
Acesso necessário
Para gerenciar seus snapshots do Cloud Backup, você deve ter Project Backup Manager ou Project Owner acesso ao projeto.
Os usuários com acesso Organization Owner devem se adicionar como Project Backup Manager ou Project Owner ao projeto antes de poderem gerenciar snapshots do Cloud Backup.
Pré-requisitos
Para exportar seus snapshots do Cloud Backup, você precisa de um M10 Atlas cluster ou superior com o Cloud Backup ativado. Além disso, para exportar para um armazenamento de objeto , você deve fazer o seguinte:
Configure a função IAM do Amazon Web Servicescom
STS:AssumeRoleque concede ao Atlas acesso aos seus recursos do Amazon Web Services. Para saber mais sobre como configurar o acesso do Amazon Web Services para o Atlas, consulte Configurar o acesso unificado ao Amazon Web Services.Configure a política de função do Amazon Web ServicesIAM que concede ao Atlas acesso de gravação ou
S3:PutObjectasS3:GetBucketLocationpermissões e aos recursos do Amazon Web Services. Para saber mais sobre como configurar o acesso de gravação aos recursos do Amazon Web Services, consulte Configurar o Amazon Web Services Access unificado.Exemplo
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": "arn:aws:s3:::bucket-name" }, { "Effect": "Allow", "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket-name/*" } ] }
Configure a Entidade de Serviço do Azure com política de acesso para o seu projeto Atlas.
Atribua as funções Storage Blob Delegator e Storage Blob Data Contributor ao Azure Service Principal.
Para atribuir as funções à sua entidade de serviço, você precisará das seguintes informações:
FunçãoDescriçãoDelegador de blobs de armazenamento
Isso permite que o Responsável pelo Serviço assine tokens SAS para acessar o Contêiner de Armazenamento do Azure. Para atribuir essa função, execute o seguinte comando:
az role assignment create --assignee-object-id <service-principal-id> --role "Storage Blob Delegator" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name> Colaborador de dados de blob de armazenamento
Isso permite acesso de leitura, gravação e exclusão de blobs para o Container de Armazenamento Azure. Para atribuir essa função, execute o seguinte comando:
az role assignment create --assignee-principal-type ServicePrincipal --assignee-object-id <service-principal-id> --role "Storage Blob Data Contributor" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-account-name>/blobServices/default/containers/<container-name>
Localize o ID da sua conta de serviço do Google Cloud no Atlas seguindo as etapas em Visualizar contas de serviço autorizadas do Google Cloud.
No console do Google Cloud, adicione a ID da conta de serviço da etapa anterior como principal à política do seu bucket seguindo a documentação do Google Cloud.
Isso concede o role de usuário do objeto de armazenamento à conta de serviço do seu bucket específico do Google Cloud Storage.
Gerenciamento de Exportação
Você pode criar e gerenciar exportações de snapshots para blocos do AWS S3 a partir do Atlas CLI e da API de administração do Atlas . Para criar e gerenciar exportações de snapshots para Contêineres de Armazenamento Blob do Azure ou buckets de Armazenamento do Google Cloud, você deve usar a API de Administração do Atlas , que pode ser acessada diretamente ou usando o comando atlas api com a Atlas CLI.
Observação
Para gerenciar exportações para o Azure Blob Storage ou os containers de armazenamento do Google Cloud usando o Atlas CLI, use o comando atlas api para enviar solicitações para os endpoints de recursos de backups em nuvem da API de administração do Atlas .
Gerenciar trabalhos de exportação
Você pode gerenciar os trabalhos de exportação utilizando o Atlas CLI criando ou visualizando os trabalhos de exportação.
Criar uma tarefa de exportação
Para exportar um snapshot de backup de um cluster M10 ou superior do Atlas para um bucket AWS S3 existente usando o Atlas CLI, execute o seguinte comando:
atlas backups exports jobs create [options]
Para observar se uma tarefa de exportação de backup específica deve ser concluída usando o Atlas CLI, execute o seguinte comando:
atlas backups exports jobs watch <exportJobId> [options]
Para saber mais sobre a sintaxe e os parâmetros dos comandos anteriores, consulte a documentação do Atlas CLI para tarefas de exportação de backups atlas criadas e observação de tarefas de exportações de backups atlas.
Exibir tarefas de exportação
Para listar as tarefas de exportação da backups em nuvem para o projeto que você especifica utilizando a Atlas CLI, execute o seguinte comando:
atlas backups exports jobs list <clusterName> [options]
Para retornar os detalhes da tarefa de exportação de backup na nuvem especificada usando a Atlas CLI, execute o seguinte comando:
atlas backups exports jobs describe [options]
Para saber mais sobre a sintaxe e os parâmetros dos comandos anteriores, consulte a documentação do Atlas CLI para a Lista de trabalhos de exportação de backups do Atlas e Descrição dos trabalhos de exportação de backups do Atlas.
Gerenciar Buckets de Exportação
Você pode gerenciar buckets de exportação usando o Atlas CLI criando, visualizando ou excluindo buckets de exportação.
Criar um bucket de exportação
Para criar um destino de exportação para backups do Atlas utilizando um bucket AWS S3 existente utilizando o Atlas CLI, execute o seguinte comando:
atlas backups exports buckets create <bucketName> [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas backups exports buckets create.
Visualizar buckets de exportação
Para listar os buckets de exportação de backup em nuvem para o projeto especificado utilizando o Atlas CLI, execute o seguinte comando:
atlas backups exports buckets list [options]
Para retornar os detalhes do bucket de exportação de backup em nuvem que você especifica usando o Atlas CLI, execute o seguinte comando:
atlas backups exports buckets describe [options]
Para saber mais sobre a sintaxe e os parâmetros dos comandos anteriores, consulte a documentação do Atlas CLI para a lista de buckets de exportação de backups do Atlas e a descrição dos buckets de exportação de backups do Atlas.
Excluir um bucket de exportação
Para excluir um destino de exportação para cópias de segurança do Atlas utilizando a Atlas CLI, execute o seguinte comando:
atlas backups exports buckets delete [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para atlas backups exports buckets delete.
Para permitir e gerenciar o acesso de provedor de nuvem e criar e gerenciar trabalhos de exportação de snapshots, a API que você usa deve ter a função Project Owner.
Gerenciar Buckets de Exportação
Use o seguinte para gerenciar Buckets ou Contêineres de exportação.
Criar um bucket de exportação
Para conceder acesso ao AWS S3 bucket, ao Azure Blob Storage Container ou ao Google Cloud Storage bucket para exportação de snapshots, envie uma POST solicitação para o endpoint de recursos de backups em nuvem. Isso permite que o bucket do AWS S, o3 container de armazenamento do Azure Blob ou o bucket do Google Cloud Storage recebam snapshots do Atlas Cloud Backup. Ao enviar a solicitação para conceder acesso, você deve fornecer as seguintes informações:
String de 24 caracteres hexadecimais exclusiva que identifica o ID da função de acesso unificada da AWS que o Atlas deve usar para acessar o AWS S3 bucket. Para saber mais, consulte Configurar o acesso unificado da AWS.
String de 24 caracteres hexadecimais exclusiva que identifica o Azure Service Principal que o Atlas deve usar para acessar o Azure Blob Storage. Para saber mais, consulte Configurar e gerenciar o acesso principal de serviços do Azure.
Ponto de extremidade de serviço da sua conta do Azure Blob Storage Para saber mais, consulte Documentação do Azure.
String exclusiva de 24dígitos hexadecimais que identifica a função de acesso do provedor do Google Cloud que o Atlas usa para acessar o bucket do Google Cloud Storage.
Listar todos os buckets de exportação
Para recuperar todos os buckets AWS S,3 containers do Azure Blob Storage ou buckets do Google Cloud Storage para os quais o Atlas exporta snapshots, envie uma GET solicitação para o endpoint do recurso Cloud Backups.
Excluir um bucket de exportação
Para excluir um Bucket de Exportação, você deve primeiro desabilitar a exportação automática de snapshots para o bucket AWS S,3 contêiner do Azure Blob Storage ou bucket do Google Cloud Storage para todos os clusters no projeto e, em seguida, enviar uma DELETE solicitação de para a nuvem Faz o backup do GET endpoint de recursos com a ID do Bucket de Exportação. Se necessário, envie uma solicitação para o endpoint para recuperar o ID do bucket de exportação.
Gerenciar trabalhos de exportação
Use o seguinte para gerenciar trabalhos de exportação.
Criar uma tarefa de exportação de snapshot
Para exportar um snapshot de backup do Atlas para um bucket do AWS S,3 do Azure Blob Storage Container ou do Google Cloud Storage bucket, envie uma POST solicitação para o endpoint do recurso Cloud Backups com a ID do snapshot a ser exportado e o ID de o bucket do AWS S,3 o container de armazenamento do Azure Blob ou o bucket do Google Cloud Storage.
Recuperar tarefa de exportação de snapshot
Para recuperar um tarefa de exportação de snapshot por seu ID, envie uma solicitação GET para o ponto de extremidade do recurso Backups em nuvem com o ID do tarefa de exportação .
Para recuperar todos os trabalhos de exportação de instantâneos em execução, envie uma GET solicitação para o endpoint do recurso Cloud Backups.