Configurando um banco de dados de documentos

Com o Amazon DocumentDB (com compatibilidade com o MongoDB) e o AWS Cloud9

O Amazon DocumentDB (com compatibilidade com o MongoDB) é um serviço de banco de dados de documentos rápido, dimensionável, altamente disponível e totalmente gerenciado que oferece suporte a cargas de trabalho do MongoDB e torna fácil armazenar, consultar e indexar dados em JSON.

Este tutorial mostra como começar a usar o Amazon DocumentDB em um ambiente AWS Cloud9. Você aprenderá a se conectar ao seu cluster do Amazon DocumentDB por meio do seu ambiente AWS Cloud9 com um Mongo Shell e a executar algumas consultas.

A demonstração custa cerca de 0,08 USD para ser concluída.

O diagrama a seguir mostra a arquitetura final desta demonstração.

getting-started-amazon-documentdb-with-aws-cloud9-1
Sobre este tutorial
Duração Até 10 minutos                                  
Custo

O tutorial custa cerca de 0,08 USD para a instância média T3 do Amazon DocumentDB. Para obter mais informações, consulte Definição de preço do Amazon DocumentDB.

O AWS Cloud9 é elegível para nível gratuito. Para obter mais informações, consulte a Definição de preço do AWS Cloud9.

Caso de uso Bancos de dados
Produtos Amazon DocumentDB (com compatibilidade com o MongoDB) AWS Cloud9
Público Desenvolvedor
Nível 200: Intermediário. Este conteúdo se concentra em fornecer uma visão geral dos recursos ou serviços da AWS e supõe que o cliente possui conhecimento prático sobre o assunto.
Data da última atualização Agosto de 2020

1. Criação de um ambiente AWS Cloud9

1.1 – Usando um console de gerenciamento da AWS, no console de gerenciamento do AWS Cloud9, selecione Create environment (Criar ambiente).

getting-started-amazon-documentdb-with-aws-cloud9-2

1.2 – Insira o nome DocumentDBCloud9.

getting-started-amazon-documentdb-with-aws-cloud9-3

1.3 – Selecione Next Step (Próxima etapa).

getting-started-amazon-documentdb-with-aws-cloud9-4

1.4 – Na seção Configure Settings (Definir configurações), aceite todas as predefinições.

1.5 – Selecione Next Step (Próxima etapa).

1.6 – Na seção Review (Revisão), selecione Create environment (Criar ambiente).

getting-started-amazon-documentdb-with-aws-cloud9-5

1.7 – O provisionamento do ambiente AWS Cloud9 pode levar até três minutos.

2. Criação do grupo de segurança

2.1 – Noconsole de gerenciamento do Amazon EC2, em Network & Security (Rede e segurança), selecione Security groups (Grupos de segurança).

2.2 – Selecione Create security group (Criar grupo de segurança).

2.3 – Em Security group name (Nome do grupo de segurança), digite demoDocDB.

2.4 – Em Description (Descrição), insira uma descrição.

2.5 – Em VPC, aceite o uso de sua VPC padrão.

2.6 – Na seção Inbound rules (Regras de entrada), selecione Add rule (Adicionar regra).

2.7 – Em Type (Tipo), selecione Custom TCP Rule (Regra TCP personalizada).

2.8 – Em Port Range (Intervalo de porta), digite 27017.

2.9 – O grupo de segurança de origem é o grupo de segurança para o ambiente AWS Cloud9 que você acabou de criar. Mantenha Source (Origem) com o valor padrão Custom (Personalizado) e digite "cloud9" no campo ao lado de Custom (Personalizado) para visualizar uma lista de grupo de segurança disponíveis.

getting-started-amazon-documentdb-with-aws-cloud9-6

2.10 – Selecione o grupo de segurança nomeado aws-cloud9-<environment name>

2.11 – Aceite todos os outros valores padrão e selecione Create security group (Criar grupo de segurança). Não é preciso modificar as regras de saída.

A imagem a seguir mostra os grupos de segurança criados nesta etapa, bem como o grupo de segurança do AWS Cloud9 gerado quando você criou um ambiente AWS Cloud9.

getting-started-amazon-documentdb-with-aws-cloud9-7

3. Criação de um cluster do Amazon DocumentDB

3.1 – No console de gerenciamento do Amazon DocumentDB, em Clusters, selecione Create (Criar).

getting-started-amazon-documentdb-with-aws-cloud9-8

3.2 – Na página Create Amazon DocumentDB cluster (Criar cluster do Amazon DocumentDB), selecione db.t3.medium em Instance class (Classe da instância) e selecione 1 em Number of instances (Quantidade de instâncias). Essas opções ajudarão a minimizar os custos.

getting-started-amazon-documentdb-with-aws-cloud9-9

3.3 – Deixe as outras configurações com seus valores padrão.

3.4 – Na seção Authentication (Autenticação), insira um nome de usuário e senha.

getting-started-amazon-documentdb-with-aws-cloud9-10

3.5 – Ative Show advanced settings (Exibir configurações avançadas).

getting-started-amazon-documentdb-with-aws-cloud9-11

3.6 – Na seção Network settings (Configurações de rede), em VPC security groups (Grupos de segurança da VPC), selecione demoDocDB.

getting-started-amazon-documentdb-with-aws-cloud9-12

3.7 – Selecione Create cluster (Criar cluster).

O Amazon DocumentDB agora está provisionando o seu cluster, o que pode levar alguns minutos para finalizar. É possível conectar o seu cluster quando tanto status do cluster quanto o da instância são exibidos como Available (Disponível). Enquanto o Amazon DocumentDB provisiona o cluster, finalize as etapas restantes para conectar seu cluster do Amazon DocumentDB.

4. Instalação do Mongo Shell

4.1 – Se o seu ambiente AWS Cloud9 ainda estiver aberto, você pode pular para a etapa 3.

4.2 – No console de gerenciamento do AWS Cloud9, em Your environments (Seus ambientes), selecione DocumentDBCloud9.

4.3 – Selecione open IDE (abrir IDE).

4.4 – No prompt de comando, crie um arquivo de repositório com o seguinte código:

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

4.5 – Ao terminar, instale o Mongo Shell com o seguinte código:

sudo yum install -y mongodb-org-shell

4.6 – Para criptografar os dados em trânsito, faça download do Certificado CA para o Amazon DocumentDB. Veja o seguinte código:

wget https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

4.7 – Agora você está pronto para se conectar ao seu cluster do Amazon DocumentDB.

5. Conexão com seu cluster do Amazon DocumentDB

5.1 – No console de gerenciamento do Amazon DocumentDB, em Clusters, localize seu cluster. Este post usa o cluster docdb-2020-02-08-14-15-11.

getting-started-amazon-documentdb-with-aws-cloud9-13

5.2 – Selecione o cluster que você criou clicando no identificador do cluster (ou seja., docdb-2020-02-08-14-15-11 neste exemplo).

5.3 – Copie a string de conexão fornecida em “Connect to this cluster with the mongo shell” (Conectar-se a este cluster com o Mongo Shell)

Omita <insertYourPassword> (InsiraSuaSenha), para que o Mongo Shell solicite sua senha ao se conectar. Dessa forma, não é preciso digitar sua senha em texto legível.

getting-started-amazon-documentdb-with-aws-cloud9-14

5.4 – Sua string de conexão deve se parecer com o código abaixo (veja a imagem)

getting-started-amazon-documentdb-with-aws-cloud9-15

5.5 – Ao inserir sua senha e visualizar o aviso rs0:PRIMARY> no prompt, você terá se conectado com êxito ao seu cluster do Amazon DocumentDB..

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

6. Inserção e consulta de dados

6.1 - Agora que você se conectou ao seu cluster, é possível realizar algumas consultas para se familiarizar com o uso de um banco de dados de documentos.

Para inserir um único documento, digite o seguinte código:

db.collection.insert({"hello":"DocumentDB"})

Você receberá a saída:

WriteResult({ "nInserted" : 1 })

6.2 - É possível ler o documento que você gravou com o comando findOne() (pois ele retorna apenas um documento). Veja o seguinte código:

db.collection.findOne()

Você receberá a saída:

{ "_id" : ObjectId("5e401fe56056fda7321fbd67"), "hello" : "DocumentDB" }

6.3 - Para realizar mais algumas consultas, considere um caso de uso de perfis de jogo. Primeiro, insira algumas entradas em uma coleção intitulada “profiles” (perfis). Veja o seguinte código:

db.profiles.insertMany([

{ "_id" : 1, "name" : "Tim", "status": "active", "level": 12, "score":202},

{ "_id" : 2, "name" : "Justin", "status": "inactive", "level": 2, "score":9},

{ "_id" : 3, "name" : "Beth", "status": "active", "level": 7, "score":87},

{ "_id" : 4, "name" : "Jesse", "status": "active", "level": 3, "score":27}

])

Você receberá a saída:

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

6.4 - Use o comando find() para retornar todos os documentos na coleção de perfis. Veja o seguinte código:

db.profiles.find()

Você receberá a saída:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 202 }

{ "_id" : 2, "name" : "Justin", "status" : "inactive", "level" : 2, "score" : 9 }

{ "_id" : 3, "name" : "Beth", "status" : "active", "level" : 7, "score" : 87 }

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3,

6.5 - Faça uma consulta de apenas um documento, usando um filtro. Veja o seguinte código.

db.profiles.find({name: "Jesse"})

Você receberá a saída:

{ "_id" : 4, "name" : "Jesse", "status" : "active", "level" : 3, "score" : 27 }

6.6 - Um caso de uso comum em jogos é encontrar um perfil para um dado usuário e incrementar um valor no perfil do usuário. Neste cenário, queremos fazer uma promoção para os jogadores mais ativos. Se o jogador responder a uma pesquisa, aumentamos sua pontuação em +10.

Para isso, usamos o comando findAndModify. Neste caso de uso, o usuário Tim recebeu e preencheu a pesquisa. Para creditar a pontuação a Tim, insira o seguinte código:

db.profiles.findAndModify({

   query: { name: "Tim", status: "active"},

   update: { $inc: { score: 10 } }

})

Você receberá a saída:

{

      "_id" : 1,

      "name" : "Tim",

      "status" : "active",

      "level" : 12,

      "score" : 202

}

6.7 - É possível conferir o resultado com a seguinte consulta:

db.profiles.find({name: "Tim"})

Você receberá a saída:

{ "_id" : 1, "name" : "Tim", "status" : "active", "level" : 12, "score" : 212 }

7. Limpeza

Ao terminar a demonstração, interrompa seu cluster do Amazon DocumentDB para reduzir os custos ou exclua o cluster totalmente.

Por padrão, após 30 minutos de inatividade, seu ambiente AWS Cloud9 interrompe a instância do EC2 subjacente para ajudar a economizar nos custos.

 

Parabéns

Este tutorial mostrou como começar a usar o Amazon DocumentDB criando um ambiente AWS Cloud9.

Você pôde instalar o Mongo Shell, criar um cluster do Amazon DocumentDB, conectar-se ao seu cluster e realizar algumas consultas, vendo como é fácil inserir e consultar documentos JSON no Amazon DocumentDB.

O Amazon DocumentDB (com compatibilidade com o MongoDB) é um serviço de banco de dados de documentos rápido, dimensionável, altamente disponível e totalmente gerenciado que oferece suporte a cargas de trabalho do MongoDB e torna fácil armazenar, consultar e indexar dados em JSON.

Este tutorial foi útil para você?

Agradecemos a sua atenção
Gostaríamos de saber do que você gostou.
Fechar
Desculpe por ter desapontado
Encontrou algo desatualizado, confuso ou incorreto? Envie seus comentários para nos ajudar a melhorar este tutorial.
Fechar