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

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.

Há muitas formas de se conectar e começar a usar o Amazon DocumentDB. O procedimento a seguir é a maneira mais rápida, simples e fácil para os usuários começarem a usar nosso poderoso banco de dados de documentos. Este guia usa AWS CloudShell para se conectar e consultar seu cluster do Amazon DocumentDB diretamente a partir do Console de gerenciamento da AWS. Os novos clientes qualificados para o nível gratuito da AWS podem usar o Amazon DocumentDB e o CloudShell gratuitamente. Se seu ambiente AWS CloudShell ou cluster elástico do Amazon DocumentDB fizer uso de recursos além do nível gratuito, você será cobrado de acordo com as taxas normais da AWS para esses recursos. Esse guia ajudará você a começar a usar o Amazon DocumentDB em menos de 5 minutos.

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 conta da AWS é gratuita. Você paga apenas pelos serviços e recursos usados.

Se você não tiver uma Conta da AWS, siga as etapas abaixo para criá-la.

Como cadastrar uma Conta da AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga as instruções online.

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

    Quando você se inscreve para uma 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 recursos 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 do 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 exige credenciais que a AWS pode usar 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 Console de gerenciamento da AWS, digite IAM e selecione IAM no menu suspenso.

  2. Depois de chegar ao console do IAM, selecione Usuários no painel de navegação.

  3. Selecione o nome de usuário.

  4. Clique em Add permissions (Adicionar permissões).

  5. Selecione Anexar políticas diretamente.

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

  7. Clique em Next.

  8. Clique em Add permissions (Adicionar permissões).

nota

Suas contas da AWS incluem uma VPC padrão em cada região. Se você optar por usar uma Amazon VPC, conclua as etapas no tópico Criação de uma Amazon VPC no Guia do usuário da Amazon VPC.

Etapa 1: Criar um cluster do ElastiCache

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

Using the Console de gerenciamento da AWS

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

  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon DocumentDB em https://console.aws.amazon.com/docdb.

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

    Tabela de clusters elásticos mostrando nenhum cluster como ponto de partida.
  3. Na página Criar cluster do Amazon DocumentDB, na seção Tipo de cluster, escolha Cluster elástico.

    Caixa de diálogo Tipo de cluster do cluster elástico exibindo uma opção de clusters baseados em instância e clusters elásticos.
  4. Na seção Configuração, configure o seguinte:

    1. No campo Nome do cluster, insira um identificador de cluster exclusivo (seguindo os requisitos de nomenclatura abaixo do campo).

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

    3. No campo Contagem de instâncias de fragmento, 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. Para fins de teste, o valor padrão de 2 deve ser suficiente.

      nota

      O número de instâncias de réplica se aplica a todos os fragmentos no cluster elástico. O valor 1 de contagem de instâncias de fragmento 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. Para fins de teste, o valor padrão de 2 deve ser suficiente.

    4. No campo Capacidade de fragmentos, escolha o número de CPUs virtuais (vCPUs) que você deseja associar a cada instância de 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. Para fins de teste, o valor padrão de 2 deve ser suficiente.

    5. No campo Nuvem Privada Virtual (VPC), escolha uma VPC na lista suspensa.

    6. Em Sub-redes e Grupos de segurança de VPC, é possível usar os padrões ou selecionar três sub-redes de sua escolha e até três Grupos de segurança de VPC (o mínimo é um).

    Caixa de diálogo de configuração do cluster elástico exibindo campos configuráveis.
  5. 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 e, em seguida, confirme-a.

    Seção de autenticação, que inclui campos de entrada para nome de usuário e senha.
  6. Na seção Criptografia, mantenha a configuração padrão (Chave padrão).

    Se preferir, é possível inserir um ARN AWS KMS key 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.

  7. Na seção Backup, edite os campos de acordo com os requisitos do seu backup. Para fins de teste, é possível manter as configurações padrão.

    Captura de tela da caixa de diálogo 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 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.

  8. 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. Para fins de teste, é possível manter as configurações padrão.

    Seção de manutenção, mostrando as opções da janela de manutenção.
  9. 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 Disponível na lista Clusters.

Using the AWS CLI

Para criar um cluster elástico usando a AWS CLI, use a operação create-cluster 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ído 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 segurança da VPC do EC2 a serem associados a esse cluster.

  • --preferred-maintenance-window—Opcional. O período semanal durante o qual pode ocorrer a manutenção do sistema, em Tempo Universal Coordenado (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. O identificador da chave do KMS para um cluster criptografado.

    O identificador KMS da chave é o nome do recurso da Amazon (ARN) para a chave de criptografia do AWS KMS. Se você estiver criando um cluster com a mesma conta da Amazon Web Services que tem a chave de criptografia KMS usada para criptografar o novo cluster, use o apelido da chave do KMS em vez de o ARN da chave de criptografia do KMS.

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

  • --preferred-backup-window—Opcional. O intervalo de tempo diário preferencial, 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 tempo de 8 horas para cada 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 espaço reservado para entrada do usuário por suas próprias informações.

nota

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

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: conectar a seu cluster elástico

Conecte-se ao cluster elástico do Amazon DocumentDB usando o AWS CloudShell.

  1. No console de gerenciamento do Amazon DocumentDB, em Clusters, localize o cluster elástico que você criou. Escolha o cluster clicando na caixa de seleção ao lado dele.

    Interface de gerenciamento de clusters do Amazon DocumentDB mostrando um cluster elástico
  2. Clique em Conectar-se ao cluster (que fica ao lado do menu suspenso Ações). Esse botão será habilitado somente depois que você clicar na caixa de seleção ao lado do seu cluster e o status do cluster for exibido como Disponível. A tela Executar comando do CloudShell é exibida.

  3. No campo Nome do novo ambiente, insira um nome exclusivo, como "teste" e clique em Criar e executar. Os detalhes do ambiente da VPC são configurados automaticamente para o banco de dados do Amazon DocumentDB.

    Tela do comando Executar CloudShell do cluster elástico, solicitando um novo nome de ambiente
  4. Quando solicitado, insira a senha que você criou na Etapa 1: criação de um cluster elástico Amazon DocumentDB (subetapa 5).

    Tela CloudShell do cluster elástico solicitando a senha do usuário

    Depois de você inserir sua senha e seu prompt se tornar direct: mongos] <env-name>>, a conexão ao seu cluster do Amazon DocumentDB será concluída com êxito.

nota

Para obter mais informações sobre solução de problemas, consulte Solução de problemas do Amazon DocumentDB.

Etapa 3: 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.insertOne({"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.profiles.insertMany([ { "_id": 1, "name": "Matt", "status": "active", "level": 12, "score": 202 }, { "_id": 2, "name": "Frank", "status": "inactive", "level": 2, "score": 9 }, { "_id": 3, "name": "Karen", "status": "active", "level": 7, "score": 87 }, { "_id": 4, "name": "Katie", "status": "active", "level": 3, "score": 27 } ])

    A seguinte saída é exibida:

    { acknowledged: true, insertedIds: { '0': ObjectId('679d02cd6b5a0581be78bcbd'), '1': ObjectId('679d02cd6b5a0581be78bcbe'), '2': ObjectId('679d02cd6b5a0581be78bcbf'), '3': ObjectId('679d02cd6b5a0581be78bcc0') } }
  5. Para retornar todos os documentos na coleção de perfis, insira o comando find():

    db.Employee.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.Employee.find({name: "Katie"})

    A seguinte saída é exibida:

    [
 {
 _id: ObjectId('679d02cd6b5a0581be78bcc0'),
 Employeeid: 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.Employee.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: ObjectId('679d02cd6b5a0581be78bcbd'),
 Employeeid: 1,
 name: 'Matt',
 lastname: 'Winkle',
 level: 12
 }
  8. Para verificar o aumento do nível, insira a seguinte consulta:

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

    A seguinte saída é exibida:

    [ {
 _id: ObjectId('679d02cd6b5a0581be78bcbd'),
 Employeeid: 1,
 name: 'Matt',
 lastname: 'Winkle',
 level: 14
 } ]

Etapa 4: explorar

Parabéns! Você concluiu com êxito o procedimento Conceitos básicos dos clusters elásticos do Amazon DocumentDB.

E depois? Saiba como aproveitar ao máximo esse banco de dados com alguns de seus atributos populares:

nota

O cluster elástico que você criou a partir desse procedimento introdutório continuará gerando custos, a menos que seja excluído. Para obter instruções, consulte Como excluir um cluster elástico.