Distribua uma instância de banco de dados federado
Nesta página
Esta página descreve como implantar uma instância do banco de dados federado para acessar dados em seus buckets Amazon Web Services S3 .
Acesso necessário
Para implantar uma instância do banco de dados federado, você deve ter acesso do Project Owner
ao projeto. Os usuários com acesso Organization Owner
devem se adicionar como Project Owner
ao projeto antes de implantar uma instância do banco de dados federado.
Pré-requisitos
Antes de começar, você precisará:
Crie uma conta do MongoDB Atlas , se ainda não tiver uma.
Configurar o Amazon Web Services CLI para acessar sua conta do Amazon Web Services . Como alternativa, você deve ter acesso ao Console de gerenciamento do Amazon Web Services com permissão para criar funções do IAM.
Opcional. Configurar acesso unificado à Amazon Web Services.
Procedimento
Para criar um novo reconhecimento de data center Data Federation utilizando o Atlas CLI, execute o seguinte comando:
atlas dataFederation create <name> [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para criar o Atlas dataFederation.
Selecione o provedor de nuvem onde o Atlas Data Federation processará suas queries em relação à sua instância do banco de dados federado.
Você pode selecionar Amazon Web Services Azure Google Cloud PlatformAmazon Web Services , Azure ou Google Cloud Platform . Após sua instância do banco de dados federado ser criada, você não poderá alterar o provedor de nuvem onde o Atlas Data Federation processa suas queries.
Se você estiver configurando uma instância do banco de dados federado para dados no bucket Amazon Web Services S3 , não poderá escolher um provedor de nuvem que seja diferente do provedor de nuvem que está hospedando seus dados. Ou seja, você deve escolher Amazon Web Services.
Especifique seu armazenamento de dados Amazon Web Services do Amazon Web Services S e configure bancos de dados federados e coleções virtuais que mapeiam para seu armazenamento de dados.3
Selecione o conjunto de dados para sua instância do banco de dados federado na seção Data Sources .
Clique em Add Data Sources para selecionar seu armazenamento de dados.
Especifique seu armazenamento de dados.
Escolha Amazon S3 para configurar uma instância do banco de dados federado para dados em buckets do Amazon Web Services S3 .
Corresponde à configuração
stores.[n].provider
JSON.Selecione uma função do Amazon Web Services IAM para o Atlas.
Você pode selecionar uma função existente do AWS IAM para a qual o Atlas está autorizado na lista suspensa de seleção de funções ou escolher Authorize an AWS IAM Role para autorizar uma nova função.
Se você selecionou uma role existente para a qual o Atlas está autorizado, prossiga para a próxima etapa para listar seus buckets do Amazon Web Services S3 .
Se você estiver autorizando o Atlas para um papel existente ou estiver criando um novo papel, complete as seguintes etapas antes de prosseguir para a próxima etapa:
Selecione Authorize an AWS IAM Role para autorizar uma nova função ou selecione uma função existente no menu suspenso e clique em Next.
Use o Amazon Web Services ARN e o ID externo exclusivo na seção Add Atlas to the trust relationships of your AWS IAM role para adicionar o Atlas ao relacionamento de uma função nova ou existente do Amazon Web Services IAM.
Na UI do Atlas, clique em e expanda uma das seguintes opções:
O Create New Role with the AWS CLI mostra como usar o ARN e o ID externo exclusivo para adicionar Atlas às relações de confiança de uma nova função do Amazon Web Services IAM . Siga as etapas na UI do Atlas para criar um novo papel. Para saber mais, consulte Criar nova função com CLI do Amazon Web Services.
Ao autorizar uma nova função, se você sair do fluxo de trabalho do
Configure a New Data Lake
:Antes de validar a função, o Atlas não criará a instância do banco de dados federado. Go a página Atlas Integrations para autorizar um novo role. Você pode retomar o fluxo de trabalho quando tiver o Amazon Web Services ARN da função IAM do .
Após validar a função, o Atlas não criará a instância do banco de dados federado. No entanto, o papel está disponível no menu suspenso de seleção de papel e pode ser utilizado para criar uma instância do banco de dados federado. Você não precisa autorizar a role novamente.
O Add Trust Relationships to an Existing Role mostra como usar o ARN e o ID externo exclusivo para adicionar o Atlas ao relacionamento de confiança de uma função existente do Amazon Web Services IAM. Siga as etapas na IU do Atlas para adicionar o Atlas ao relacionamento de confiança para uma função existente. Para saber mais, consulte Adicionar relacionamentos de confiança a uma função existente.
Importante
Se você modificar o ARN da função personalizada da Amazon Web Services no futuro, verifique se a política de acesso da função inclui o acesso apropriado aos recursos do S3 para a instância do banco de dados federado.
Clique em Next.
Insira as informações do bucket S3 .
Insira o nome do seu contêiner S3 .
Corresponde à configuração
stores.[n].bucket
JSON.Especifique se o bucket é Read-only ou ambos Read and write.
O Atlas só pode executar query de buckets Read-only ; se desejar consultar e salvar os resultados da consulta no bucket S3 , escolha Read and write. Para salvar os resultados da query no bucket S3 , a política de role que concede ao Atlas acesso aos recursos do Amazon Web Services deve incluir as permissões
s3:PutObject
es3:DeleteObject
, além des3:ListBucket
,s3:GetObject
,s3:GetObjectVersion
permissões es3:GetBucketLocation
, que concedem acesso de leitura. Consulte a etapa 4 abaixo para saber mais sobre como atribuir a política de acesso à sua função do Amazon Web Services IAM .Selecione a região do bucket S3 .
Corresponde à configuração
stores.[n].region
JSON.Observação
Não é possível criar uma instância do banco de dados federado se o Atlas Data Federation não conseguir recuperar a região do bucket S3 especificado.
Opcional. Especifique um prefixo que a Data Federation deve usar ao pesquisar os arquivos no bucket S3 . Se omitido, o Data Federation faz uma pesquisa recursiva para todos os arquivos a partir da raiz do bucket S3 .
Corresponde à configuração
stores.[n].prefix
JSON.Clique em Next.
Atribua uma política de acesso à sua função IAM do Amazon Web Services .
Siga as etapas na interface de Atlas user para atribuir uma política de acesso ao seu papel Amazon Web Services IAM.
Sua política de função para acesso somente leitura ou leitura e escrita deve ser semelhante ao seguinte:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation" ], "Resource": [ <role arn> ] } ] } { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion", "s3:GetBucketLocation", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ <role arn> ] } ] } Clique em Next.
Defina a estrutura do caminho para seus arquivos no bucket S3 e clique em Next.
Por exemplo:
s3://<bucket-name>/<path>/<to>/<files>/<filename>.<file-extension> Para adicionar caminhos adicionais para dados em seu contêiner S3 , clique em Add Data Source e insira o caminho. Para saber mais sobre caminhos, consulte Definir caminho para dados S3 .
Corresponde à configuração
databases.[n].collections.[n].dataSources.[n].path
JSON.Crie os bancos de dados, collections e visualizações virtuais e mapeie os bancos de dados, collections e visualizações para seu armazenamento de dados.
(Opcional) Clique em para o:
Banco de dados para editar o nome do banco de dados. Padrão é
VirtualDatabase[n]
.Corresponde à configuração JSON do
databases.[n].name
.Coleção para editar o nome da coleção. O padrão é
VirtualCollection[n]
.Corresponde à configuração JSON do
databases.[n].collections.[n].name
.Visualizar para editar o nome da visualização.
Você pode clicar em:
Add Database para adicionar bancos de dados e coleções.
associado ao banco de dados para adicionar coleções ao banco de dados.
associado à collection para adicionar visualizações na collection. Para criar uma visualização, você deve especificar:
O nome da visualização.
O pipeline a ser aplicado à visualização.
O pipeline de definição de visualização não pode incluir o estágio
$out
ou$merge
. Se a definição de visualização incluir estágios de pipeline aninhados, como$lookup
ou$facet
, essa restrição também se aplicará a esses pipelines aninhados.
Para saber mais sobre visualizações, consulte:
associado ao banco de dados, coleção ou visualização para removê-la.
Selecione AWS S3 no menu suspenso da seção Data Sources .
Arraste e solte o armazenamento de dados para mapear com a collection.
Corresponde à configuração JSON do
databases.[n].collections.[n].dataSources
.
Sua configuração para o armazenamento de dados do Amazon Web Services S3 deve ser semelhante ao seguinte:
{ "stores" : [ { "name" : "<string>", "provider": "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "includeTags": <boolean>, "delimiter": "<string>", "public": <boolean> } ], "databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "path" : "<string>", "defaultFormat" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": true | false } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] }
Para obter mais informações sobre as definições de configuração, consulte Definir armazenamentos de dados para uma instância de banco de dados federado.
Defina seu armazenamento de dados do Amazon Web Services S3.
Edite as definições de configuração JSON mostradas na interface do usuário para
stores
. Sua configuração de configuração dostores
deve ser semelhante ao seguinte:"stores" : [ { "name" : "<string>", "provider" : "<string>", "region" : "<string>", "bucket" : "<string>", "additionalStorageClasses" : ["<string>"], "prefix" : "<string>", "delimiter" : "<string>", "includeTags": <boolean>, "public": <boolean> } ] Para saber mais sobre essas definições de configuração, consulte
stores
.Defina seus bancos de dados virtuais, collections e visualizações de instância do banco de dados federado .
Edite as definições de configuração JSON mostradas na interface do usuário para
databases
. Sua configuração de configuração dodatabases
deve ser semelhante ao seguinte:"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "defaultFormat" : "<string>", "path" : "<string>", "provenanceFieldName": "<string>", "omitAttributes": <boolean> } ] } ], "maxWildcardCollections" : <integer>, "views" : [ { "name" : "<string>", "source" : "<string>", "pipeline" : "<string>" } ] } ] Para saber mais sobre essas definições de configuração, consulte
databases
.
Opcional: repita as etapas na aba Editor Visual ou Editor JSON acima para definir armazenamentos de dados adicionais do Azure Azure Blob Storage.
Para adicionar outros armazenamentos de dados para consultas federadas, consulte:
Observação
Você não pode conectar um armazenamento de dados do Azure Blob Storage para executar consultas federadas em fornecedores de nuvem.