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.

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

1.2 – Insira o nome DocumentDBCloud9.

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

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

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.

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.

3. Criação de um cluster do Amazon DocumentDB
3.1 – No console de gerenciamento do Amazon DocumentDB, em Clusters, selecione Create (Criar).

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.

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.

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

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

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.

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.

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

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.