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 (Amazon EC2) para conectar e consultar seu cluster elástico do Amazon DocumentDB diretamente do AWS Management Console.
Tópicos
Configurar
Se você preferir se conectar ao Amazon DocumentDB a partir da sua máquina local criando uma conexão SSH com uma instância do Amazon EC2, consulte Conexão com o 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 conta da AWS é gratuita. Você paga apenas pelos serviços e recursos usados.
Se você ainda não tem um Conta da AWS, complete as etapas a seguir para criar um.
Para se cadastrar em uma Conta da AWS
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 cadastra em 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 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 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.
-
Na barra de pesquisa do AWS Management Console, digite IAM e selecione IAM no menu suspenso.
-
Depois de chegar ao console do IAM, selecione Usuários no painel de navegação.
-
Selecione o nome de usuário.
-
Clique no botão Adicionar permissões.
-
Selecione Anexar políticas diretamente.
-
Digite
AmazonDocDBFullAccess
na barra de pesquisa e selecione-a quando ela aparecer nos resultados da pesquisa. -
Clique no botão Avançar.
-
Clique no botão Adicionar permissões.
-
- Crie uma Amazon Virtual Private Cloud (Amazon VPC)
-
Sua conta AWS inclui uma VPC padrão em cada região. Essa etapa somente será necessária se você optar por usar uma Amazon VPC padrão. Nesse caso, conclua as etapas no tópico Criar uma Amazon VPC no Guia do usuário da Amazon VPC.
- Iniciar uma instância do Amazon EC2
-
Conclua as etapas 1 e 2 do tópico Comece a usar o Amazon EC2 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 instância do Amazon EC2.
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.
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 instância do Amazon EC2 por meio da porta configurada com o cluster elástico (padrão 27017).
-
No console de gerenciamento do Amazon DocumentDB, em Clusters, localize seu cluster.
Escolha o cluster que você criou clicando no identificador do cluster.
Na guia Conectividade e segurança, na seção Segurança, escolha Grupos de segurança de VPC.
Isso abre a lista Grupos de segurança do console de gerenciamento do Amazon EC2. Como alternativa, você pode acessar o console de gerenciamento do Amazon EC2 e selecionar Grupos de segurança na seção Rede e segurança.
Escolha o grupo de segurança Amazon DocumentDB (padrão).
-
Escolha a guia Regras de entrada (talvez seja necessário rolar até a parte inferior da janela) e escolha Editar regras de entrada.
-
Na caixa de diálogo Editar regras de entrada, selecione Adicionar regra.
Para Port Range, insira
27017
.Deixe a Fonte como Personalizada e pesquise o valor do grupo de segurança que você registrou na instância do EC2 criada em Pré-requisitos.
Escolha Salvar regras.
Etapa 3: Instalar o shell do Mongo
Instale o shell mongo na sua instância do Amazon EC2 criada em 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 instância do Amazon EC2 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.
-
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.
-
Escolha o cluster que você criou selecionando o identificador do cluster. Em Conectividade e segurança, copie seu endpoint e cole-o em sua instância do Amazon EC2.
-
Depois de conectado, você deverá ver algo semelhante ao resultado a seguir:
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.
-
Para fragmentar uma coleção, digite o seguinte:
sh.shardCollection("db.Employee1" , { "Employeeid" : "hashed" })
-
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 })
-
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 }
-
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 ] }
-
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.
-
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}
-
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, }
-
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 }