Como iniciar com clusters elásticos do Amazon DocumentDB - Amazon DocumentDB

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Como iniciar com clusters elásticos do Amazon DocumentDB

Esta seção de introdução explica como é possível criar e consultar seu primeiro cluster elástico. Existem muitas maneiras de se conectar e começar a usar clusters elásticos. Este guia usa o Amazon Elastic Compute Cloud (AmazonEC2) para conectar e consultar seu cluster elástico Amazon DocumentDB diretamente do. AWS Management Console

Configurar

Se você preferir se conectar ao Amazon DocumentDB a partir de sua máquina local criando uma SSH conexão com uma EC2 instância da Amazon, consulte Conexão com a Amazon. EC2

Pré-requisitos

Antes de criar o primeiro cluster do Amazon DocumentDB, você deve fazer o seguinte:

Crie uma conta (AWS) da Amazon Web Services

Antes de começar a usar o Amazon DocumentDB, você deve ter uma conta da Amazon Web Services (AWS). A AWS conta é gratuita. Você paga apenas pelos serviços e recursos usados.

Se você não tiver um Conta da AWS, conclua as etapas a seguir para criar um.

Para se inscrever em um Conta da AWS
  1. Abra a https://portal.aws.amazon.com/billing/inscrição.

  2. Siga as instruções online.

    Parte do procedimento de inscrição envolve receber uma chamada telefônica e inserir um código de verificação no teclado do telefone.

    Quando você se inscreve em um Conta da AWS, um Usuário raiz da conta da AWSé criado. O usuário raiz tem acesso a todos os Serviços da AWS e atributos na conta. Como prática recomendada de segurança, atribua o acesso administrativo a um usuário e use somente o usuário-raiz para executar tarefas que exigem acesso de usuário-raiz.

Configure as permissões necessárias AWS Identity and Access Management (IAM).

O acesso para gerenciar recursos do Amazon DocumentDB, como clusters, instâncias e grupos de parâmetros de cluster, requer credenciais que AWS possam ser usadas para autenticar suas solicitações. Para obter mais informações, consulte Gerenciamento de identidade e Gerenciamento de acesso para o Amazon DocumentDB.

  1. Na barra de pesquisa do AWS Management Console, digite IAM e selecione IAMno menu suspenso.

  2. Quando estiver no IAM console, selecione Usuários no painel de navegação.

  3. Selecione o nome de usuário.

  4. Clique no botão Adicionar permissões.

  5. Selecione Anexar políticas diretamente.

  6. Digite AmazonDocDBFullAccess na barra de pesquisa e selecione-a quando ela aparecer nos resultados da pesquisa.

  7. Clique no botão Avançar.

  8. Clique no botão Adicionar permissões.

Crie uma Amazon Virtual Private Cloud (AmazonVPC)

Sua AWS conta inclui um padrão VPC em cada região. Essa etapa só é necessária se você optar por usar uma Amazon padrãoVPC. Nesse caso, conclua as etapas no VPC tópico Criar uma Amazon no Guia do VPC usuário da Amazon.

Inicie uma EC2 instância da Amazon

Conclua as etapas 1 e 2 do EC2 tópico Comece a usar a Amazon no Guia do usuário do Amazon Elastic Compute Cloud.

nota

Registre o nome e o ID do grupo de segurança criado para sua EC2 instância da Amazon.

Etapa 1: Criar um cluster do ElastiCache

Nesta seção, explicamos como criar um novo cluster elástico usando AWS Management Console ou AWS CLI com as instruções a seguir.

Using the AWS Management Console

Para criar uma configuração de cluster elástico usando o AWS Management Console:

  1. Faça login no AWS Management Console e abra o console do Amazon DocumentDB.

  2. No Console de gerenciamento do Amazon DocumentDB, em Clusters, escolha Criar.

    Diagrama: criação de cluster elástico
  3. Na página Criar cluster do Amazon DocumentDB, na seção Tipo de cluster, escolha Cluster elástico.

    Diagrama: tipo de cluster elástico
  4. Na página Criar cluster do Amazon DocumentDB, na seção Configuração, insira um identificador de cluster exclusivo (seguindo os requisitos de nomenclatura abaixo do campo).

    Diagrama: identificador de cluster elástico
  5. Para os campos de configuração do fragmento:

    1. No campo Contagem de fragmentos, insira o número de fragmentos que você deseja em seu cluster. O número máximo de fragmentos por cluster é 32.

      nota

      Dois nós serão implantados para cada fragmento. Ambos os nós terão a mesma capacidade de fragmentos.

    2. No campo Contagem de instâncias de fragmentos, escolha o número de instâncias de réplica que você deseja associar a cada fragmento. O número máximo de instâncias de fragmento é 16, em incrementos de 1. Todas as instâncias de réplica têm a mesma capacidade de fragmentos, conforme definido no campo a seguir.

      nota

      O número de instâncias de réplica se aplica a todos os fragmentos no cluster elástico. Um valor de contagem de instâncias fragmentadas de 1 significa que há uma instância gravadora, e todas as instâncias adicionais são réplicas que podem ser usadas para leituras e para melhorar a disponibilidade.

    3. No campo Capacidade do fragmento, escolha o número de virtual CPUs (vCPUs) que você deseja associar a cada instância do fragmento. O número máximo de vCPUs por instância de fragmento é 64. Os valores permitidos são 2, 4, 8, 16, 32, 64.

    Diagrama: número e capacidade de fragmentos do cluster elástico
  6. No campo Virtual Private Cloud (VPC), escolha um na VPC lista suspensa.

    Para sub-redes e grupos de VPC segurança, você pode usar os padrões ou selecionar três sub-redes de sua escolha e até três grupos de VPCsegurança (mínimo um).

    Diagrama: cluster elástico VPC e sub-redes
  7. Na seção Autenticação, insira uma string que identifique o nome de login do usuário principal no campo Nome de usuário.

    No campo Senha, insira uma senha exclusiva que esteja em conformidade com as instruções.

    Diagrama: nome de usuário e senha do cluster elástico
  8. Na seção Criptografia, mantenha as configurações padrão.

    Opcionalmente, você pode inserir um AWS KMS key ARN que você criou. Para obter mais informações, consulte Criptografia de dados em repouso para clusters elásticos do Amazon DocumentDB.

    Importante

    A criptografia deve ser habilitada para clusters elásticos.

  9. Na seção Backup, edite os campos de acordo com seus requisitos de backup.

    Captura de tela do painel Backup mostrando as etapas para configurar a janela de backup do cluster.
    1. Período de retenção de backup— na lista, selecione o número de dias para manter os backups automáticos desse cluster antes de excluí-los.

    2. Janela de backup— defina o tempo e duração diários durante os quais o Amazon DocumentDB fará backups desse cluster.

      1. Escolha Selecionar janela se quiser configurar a hora e a duração em que os backups são criados.

        Hora de início — na primeira lista, escolha a hora de início (UTC) para iniciar seus backups automáticos. Na segunda lista, escolha o minuto da hora em que você deseja que os backups automáticos sejam iniciados.

        Duração— na lista, selecione a quantidade de horas a serem alocadas na criação de backups automáticos.

      2. Escolha Sem preferência se quiser que o Amazon DocumentDB escolha a hora e a duração em que os backups são criados.

  10. Na seção Manutenção, escolha o dia, a hora e a duração em que as modificações ou os patches serão aplicados ao seu cluster.

    Diagrama: nome de usuário e senha do cluster elástico
  11. Selecione Criar cluster.

Agora, seu cluster elástico está sendo provisionado. Esse processo pode levar até alguns minutos. É possível se conectar ao seu cluster quando o status do cluster elástico for exibido como active na lista Clusters.

Using the AWS CLI

Para criar um cluster elástico usando o AWS CLI, use a create-cluster operação com os seguintes parâmetros:

  • --cluster-name—Obrigatório. O nome atual do cluster elástico de escala, conforme inserido durante a criação ou a última modificação.

  • --shard-capacity—Obrigatório. O número de vCPUs atribuídos a cada fragmento. O máximo é 64. Os valores permitidos são 2, 4, 8, 16, 32, 64.

  • --shard-count—Obrigatório. O número de fragmentos atribuídos ao cluster. O máximo é 32.

  • --shard-instance-count—Opcional. O número de instâncias de réplica que se aplicam a todos os fragmentos desse cluster. O máximo é 16.

  • --admin-user-name—Obrigatório. O nome de usuário associado ao usuário administrativo.

  • --admin-user-password—Obrigatório. A senha associada ao usuário administrativo.

  • --auth-type—Obrigatório. O tipo de autenticação usado para determinar onde buscar a senha usada para acessar o cluster elástico. Os tipos válidos são PLAIN_TEXT ou SECRET_ARN.

  • --vpc-security-group-ids—Opcional. Configure uma lista de grupos de EC2 VPC segurança para associar a esse cluster.

  • --preferred-maintenance-window—Opcional. Configure o intervalo de tempo semanal durante o qual a manutenção do sistema pode ocorrer, no Tempo Coordenado Universal (UTC).

    O formato é: ddd:hh24:mi-ddd:hh24:mi. Dias válidos (ddd): Mon, Tue, Wed, Thu, Fri, Sat, Sun

    O padrão é uma janela de 30 minutos selecionada aleatoriamente a partir de um bloco de tempo de 8 horas para cada região da Amazon Web Services, ocorrendo em um dia da semana aleatório.

    Janela mínima de 30 minutos.

  • --kms-key-id—Opcional. Configure o identificador de KMS chave para um cluster criptografado.

    O identificador da KMS chave é o Amazon Resource Name (ARN) da chave de AWS KMS criptografia. Se você estiver criando um cluster usando a mesma conta da Amazon Web Services que possui a chave de KMS criptografia usada para criptografar o novo cluster, você pode usar o alias da KMS chave em vez de ARN para a chave de KMS criptografia.

    Se uma chave de criptografia não for especificada em KmsKeyId e se o StorageEncrypted parâmetro for verdadeiro, o Amazon DocumentDB usará sua chave de criptografia padrão.

  • --preferred-backup-window—Opcional. O intervalo de tempo diário preferido durante o qual os backups automatizados são criados. O padrão é uma janela de 30 minutos selecionada aleatoriamente a partir de um bloco de 8 horas para cada uma. Região da AWS

  • --backup-retention-period— opcional. O número de dias durante os quais os backups automatizados são retidos. O valor padrão é 1.

  • --storage-encrypted—Opcional. Configura se o cluster é criptografado ou não.

    --no-storage-encrypted Especifica se o cluster é criptografado.

  • --subnet-ids—Opcional. Configure IDs de sub-rede de rede.

No exemplo a seguir, substitua cada user input placeholder com suas próprias informações.

nota

Os exemplos a seguir incluem a criação de uma KMS chave específica. Para usar a KMS chave padrão, não inclua o --kms-key-id parâmetro.

Para Linux, macOS ou Unix:

aws docdb-elastic create-cluster \ --cluster-name sample-cluster-123 \ --shard-capacity 8 \ --shard-count 4 \ --shard-instance-count 3 \ --auth-type PLAIN_TEXT \ --admin-user-name testadmin \ --admin-user-password testPassword \ --vpc-security-group-ids ec-65f40350 \ --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 \ --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \ --preferred-backup-window 18:00-18:30 \ --backup-retention-period 7

Para Windows:

aws docdb-elastic create-cluster ^ --cluster-name sample-cluster-123 ^ --shard-capacity 8 ^ --shard-count 4 ^ --shard-instance-count 3 ^ --auth-type PLAIN_TEXT ^ --admin-user-name testadmin ^ --admin-user-password testPassword ^ --vpc-security-group-ids ec-65f40350 ^ --kms-key-id arn:aws:docdb-elastic:us-east-1:477568257630:cluster/b9f1d489-6c3e-4764-bb42-da62ceb7bda2 ^ --subnet-ids subnet-9253c6a3, subnet-9f1b5af9 \ --preferred-backup-window 18:00-18:30 \ --backup-retention-period 7

Etapa 2: habilitar conexões de entrada

O acesso a um cluster do Amazon DocumentDB é controlado pelo grupo de segurança associado. Nesta etapa, você modificará o grupo de segurança do Amazon DocumentDB para permitir a comunicação da EC2 instância da Amazon por meio da porta configurada com o cluster elástico (padrão 27017).

  1. No console de gerenciamento do Amazon DocumentDB, em Clusters, localize seu cluster.

    1. Escolha o cluster que você criou clicando no identificador do cluster.

    2. Na guia Conectividade e segurança, na seção Segurança, escolha Grupos VPC de segurança.

      Isso abre a lista de grupos de segurança do console de EC2 gerenciamento da Amazon. Como alternativa, você pode acessar o console EC2 de gerenciamento da Amazon e selecionar Grupos de segurança na seção Rede e segurança.

    3. Escolha o grupo de segurança Amazon DocumentDB (padrão).

    Imagem: Lista de grupos de segurança do Amazon DocumentDB
  2. Escolha a guia Regras de entrada (talvez seja necessário rolar até a parte inferior da janela) e escolha Editar regras de entrada.

    Imagem: Diálogo de regras EC2 de entrada da Amazon
  3. Na caixa de diálogo Editar regras de entrada, selecione Adicionar regra.

    1. Em Intervalo de portas, insira 27017.

    2. Deixe a fonte como personalizada e pesquise o valor do grupo de segurança que você registrou na EC2 instância em que você criouPré-requisitos.

    3. Escolha Salvar regras.

    Imagem: caixa de diálogo de EC2 edição de regras de entrada da Amazon

Etapa 3: Instalar o shell do Mongo

Instale o shell mongo na sua EC2 instância da Amazon que você criou. Pré-requisitos O shell do Mongo é um utilitário de linha de comando que você usa para se conectar e consultar seu cluster elástico.

Conecte-se à sua EC2 instância da Amazon e, no prompt de comando, crie o arquivo do repositório com o seguinte comando:

echo -e "[mongodb-org-5.0] \nname=MongoDB Repository\nbaseurl=https://repo.mongodb.org/yum/amazon/2023/mongodb-org/5.0/x86_64/\ngpgcheck=1 \nenabled=1 \ngpgkey=https://pgp.mongodb.com/server-5.0.asc" | sudo tee /etc/yum.repos.d/mongodb-org-5.0.repo

Quando estiver concluído, instale o shell do mongo com o seguinte comando:

sudo yum install -y mongodb-org-shell

Etapa 4: Conectar-se ao cluster elástico

Conecte-se ao seu cluster usando o shell mongo que você instalou na Etapa 2.

  1. No console de gerenciamento do Amazon DocumentDB, em Clusters, localize o seu cluster. Classifique por função para exibir todos os clusters com a função Cluster elástico.

    Diagrama: tela da lista de clusters elásticos
  2. Escolha o cluster que você criou selecionando o identificador do cluster. Em Conectividade e segurança, copie seu endpoint e cole-o na sua EC2 instância da Amazon.

    Diagrama: tela de conexão de cluster elástico
  3. Depois de conectado, você deve ver algo semelhante à seguinte saída:

    Diagrama: tela de conexão de cluster elástico final

Etapa 5: Fragmentar sua coleção; inserir e consultar dados

Clusters elásticos adicionam suporte para fragmentação no Amazon DocumentDB. Agora que você está conectado ao seu cluster, é possível fragmentar o cluster, inserir dados e executar algumas consultas.

  1. Para fragmentar uma coleção, digite o seguinte:

    sh.shardCollection("db.Employee1" , { "Employeeid" : "hashed" })

  2. Para inserir um único documento, digite o seguinte:

    db.Employee1.insert({"Employeeid":1, "Name":"Joe", "LastName": "Bruin", "level": 1 })

    A seguinte saída é exibida:

    WriteResult({ "nInserted" : 1 })

  3. Para ler o documento que você escreveu, insira o comando findOne() (ele retorna apenas um único documento):

    db.Employee1.findOne()

    A seguinte saída é exibida:

    { "_id" : ObjectId("61f344e0594fe1a1685a8151"), "EmployeeID" : 1, "Name" : "Joe", "LastName" : "Bruin", "level" : 1 }
  4. Para realizar mais algumas consultas, considere um caso de uso de perfil de jogo. Primeiro, insira algumas entradas em uma coleção intitulada "Funcionário”. Insira o seguinte:

    db.Employee1.insertMany([ { "Employeeid" : 1, "name" : "Matt", "lastname": "Winkle", "level": 12}, { "Employeeid" : 2, "name" : "Frank", "lastname": "Chen", "level": 2}, { "Employeeid" : 3, "name" : "Karen", "lastname": "William", "level": 7}, { "Employeeid" : 4, "name" : "Katie", "lastname": "Schaper", "level": 3} ])

    A seguinte saída é exibida:

    { "acknowledged" : true, "insertedIds" : [ 1, 2, 3, 4 ] }

  5. Para retornar todos os documentos na coleção de perfis, insira o comando find():

    db.Employee1.find()

    Os dados inseridos na etapa 4 são exibidos.

  6. Para consultar um único documento, inclua um filtro (por exemplo: "Katie"). Insira o seguinte:

    db.Employee1.find({name: "Katie"})

    A seguinte saída é exibida:

    { "_id" : 4, "name" : "Katie", "lastname": "Schaper", "level": 3}

  7. Para encontrar um perfil e modificá-lo, digite o comando findAndModify. Neste exemplo, o funcionário "Matt" recebe um nível mais alto de "14":

    db.Employee1.findAndModify({ query: { "Employeeid" : 1, "name" : "Matt"}, update: { "Employeeid" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 14 } })

    A seguinte saída é exibida (observe que o nível ainda não foi alterado):

    { "_id" : 1, "name" : "Matt", "lastname" : "Winkle", "level" : 12, }
  8. Para verificar o aumento do nível, insira a seguinte consulta:

    db.Employee1.find({name: "Matt"})

    A seguinte saída é exibida:

    { "_id" : 1, "name" : "Matt", "lastname" : "winkle", "level" : 14 }