Menu Docs
Página inicial do Docs
/
MongoDB Atlas
/ / /

Distribua uma instância de banco de dados federado

Nesta página

  • Acesso necessário
  • Pré-requisitos
  • Procedimento

Esta página descreve como implantar uma instância do banco de dados federado para acessar dados em seus buckets Amazon Web Services S3 .

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.

Antes de começar, você precisará:

  • Crie uma conta do MongoDB Atlas , se ainda não tiver uma.

  • Instale a AWS CLI.

  • 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.

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.

Dica

Veja: links relacionados

1
2
3
  1. Clique no menu suspenso Create New Federated Database.

  2. Selecione Manual Setup.

4

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.

5

Padrão é FederatedDatabaseInstance[n]. Depois que sua instância do banco de dados federado for criada, você não poderá alterar seu nome.

6
  • Para uma experiência guiada, clique em Visual Editor.

  • Para editar o JSON bruto, clique em JSON Editor.

7
  1. 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.

  2. 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.

  3. 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:

    1. 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.

    2. 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.

    3. Clique em Next.

  4. Insira as informações do bucket S3 .

    1. Insira o nome do seu contêiner S3 .

      Corresponde à configuração stores.[n].bucket JSON.

    2. 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 e s3:DeleteObject, além de s3:ListBucket, s3:GetObject, s3:GetObjectVersion permissões e s3: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 .

    3. 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.

    4. 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.

    5. Clique em Next.

  5. Atribua uma política de acesso à sua função IAM do Amazon Web Services .

    1. 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>
      ]
      }
      ]
      }
    2. Clique em Next.

  6. 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.

  7. 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.

    1. (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.

    2. Selecione AWS S3 no menu suspenso da seção Data Sources .

    3. 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.

  1. 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 do stores 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.

  2. 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 do databases 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.

8

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.

9

Voltar

Balde AWS S3