Como configurar MongoDB em Instâncias EC2 na AWS

Se você precisar de mais controle ou deseja otimizar custos, pode configurar seu próprio MongoDB em instâncias EC2 da AWS.

Em 30/09/2024 | Por Digital Apps | 109 visualizações

Neste artigo vamos detalhar o processo para configurar o MongoDB em instâncias EC2 da AWS de maneira acessível, mesmo para quem tem pouca experiência. O objetivo é seguir um passo a passo simples, desde a criação da instância EC2 até a instalação do MongoDB, incluindo configurações de segurança e rede.

 

Passo 1: Criar uma Instância EC2 na AWS

1.1. Acesse o console da AWS
- Faça login na sua conta da AWS e vá para o Amazon EC2 (você pode procurar no menu de serviços da AWS).

 

1.2. Lançar uma nova instância
- Clique em Launch Instance.
- Escolha uma Amazon Machine Image (AMI): Selecione uma imagem do Ubuntu (recomendo Ubuntu 20.04 LTS). Essa versão tem suporte amplo e é fácil de trabalhar.
- Escolha um tipo de instância: Para um banco de dados MongoDB de pequeno porte, escolha uma instância t2.medium (2 vCPUs e 4GB de RAM). Se o volume de dados for grande, pode optar por uma instância maior.
- Configurações de armazenamento: Adicione um volume SSD com, pelo menos, 20GB de armazenamento (ou mais, se necessário para o seu banco de dados).

 

1.3. Configurar a rede (VPC e Security Group)
- VPC: Utilize a VPC padrão ou crie uma nova, se já estiver familiarizado. Por enquanto, manter a padrão funciona.
- Security Group (Firewall): Configure as regras de segurança para permitir o acesso ao MongoDB.
  - Permita o tráfego na porta 27017 (porta padrão do MongoDB) somente do seu IP (evite liberar para "0.0.0.0/0" por questões de segurança).
  - Permita o tráfego SSH na porta 22 para seu IP, para que você possa se conectar à instância remotamente.

 

1.4. Criar ou usar um par de chaves (SSH)
- Se já tiver um par de chaves (.pem), use-o para conectar via SSH. Caso contrário, crie um novo par de chaves e faça o download do arquivo `.pem`.

 

1.5. Lançar a instância
- Clique em Launch Instance e aguarde a inicialização. Isso pode levar alguns minutos.

 

Passo 2: Conectar-se à Instância via SSH

2.1. Acesse o terminal no seu computador
- Navegue até o diretório onde você salvou o arquivo `.pem` e execute o comando SSH no terminal para se conectar à instância. O comando será algo como:

```bash
ssh -i "caminho_para_o_seu_arquivo.pem" ubuntu@seu-endereco-ip
```
Exemplo:

```bash
ssh -i "~/Downloads/meu-arquivo.pem" ubuntu@18.XXX.XXX.XXX
```

2.2. Permissões para o arquivo .pem
Caso receba uma mensagem de erro sobre permissões do arquivo `.pem`, execute este comando para corrigir:

```bash
chmod 400 caminho_para_o_seu_arquivo.pem
```

 

Passo 3: Instalar o MongoDB na Instância EC2

3.1. Atualizar pacotes e instalar MongoDB
Após se conectar à instância via SSH, execute os seguintes comandos para atualizar os pacotes e instalar o MongoDB:

```bash

# Atualizar pacotes
sudo apt update && sudo apt upgrade -y 

# Importar a chave pública do MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -


# Adicionar o repositório do MongoDB à lista de fontes
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
# Atualizar novamente a lista de pacotes
sudo apt update 

# Instalar MongoDB
sudo apt install -y mongodb-org
```

3.2. Iniciar o serviço do MongoDB
Após a instalação, inicie o MongoDB e configure-o para iniciar automaticamente com o sistema:

```bash
# Iniciar o MongoDB

sudo systemctl start mongod 
# Habilitar para iniciar automaticamente sudo systemctl enable mongod ```

3.3. Verificar se o MongoDB está funcionando
Execute o seguinte comando para verificar se o MongoDB está em execução:

```bash
sudo systemctl status mongod
```

Se estiver tudo correto, você verá uma mensagem indicando que o MongoDB está "active (running)".

 

Passo 4: Configurar o MongoDB para Acesso Remoto

4.1. Editar o arquivo de configuração
Por padrão, o MongoDB só permite conexões locais. Para habilitar o acesso remoto, edite o arquivo de configuração do MongoDB:

```bash
sudo nano /etc/mongod.conf
```

No arquivo de configuração, encontre a linha `bindIp` e altere para o seguinte:

```yaml
# Original
bindIp: 127.0.0.1 

# Modificado
bindIp: 0.0.0.0
```

Isso permitirá que o MongoDB aceite conexões de qualquer IP. Salve e feche o arquivo (`Ctrl + X`, depois `Y` e `Enter`).

4.2. Reiniciar o MongoDB
Após a alteração, reinicie o MongoDB para aplicar as mudanças:

```bash
sudo systemctl restart mongod
```

 

Passo 5: Configurar Segurança no MongoDB

5.1. Criar um usuário administrador
Por padrão, o MongoDB não tem autenticação habilitada. É importante criar um usuário administrador para proteger seu banco de dados:

1. Acesse o shell do MongoDB:

```bash
mongo
```

2. Crie o usuário administrador:

```javascript
use admin
db.createUser({

  user: "admin",
  pwd: "senhaSegura",
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
})
```

3. Habilite a autenticação no arquivo de configuração:

Edite o arquivo `/etc/mongod.conf` novamente e adicione a seguinte linha sob a seção `security`:

```yaml
security:
  authorization: "enabled"
```

4. Reinicie o MongoDB para aplicar as mudanças:

```bash
sudo systemctl restart mongod
```

Agora, você terá que fornecer credenciais sempre que se conectar ao MongoDB.

 

Passo 6: Conectar ao MongoDB Remotamente

- Agora, você pode conectar-se ao MongoDB de um computador externo usando um cliente MongoDB como o MongoDB Compass ou via terminal, fornecendo as credenciais que você criou.

Exemplo de comando no terminal para conectar-se remotamente:

```bash
mongo --host seu-endereco-ip --port 27017 -u "admin" -p "senhaSegura" --authenticationDatabase "admin"
```

 

Passo 7: Realizar Backups e Monitoramento (Opcional)

7.1. Backups automáticos
Você pode usar scripts cron ou soluções de backup como o Amazon S3 para fazer backup dos seus dados periodicamente.

7.2. Monitoramento
Ferramentas como o MongoDB Monitoring Service (MMS) ou soluções como Prometheus podem ser usadas para monitorar o desempenho do banco de dados.

 

Após finalizar esses passos, você terá um servidor MongoDB configurado e seguro rodando na AWS EC2. 

 

Tenha um site profissional

Somos especialistas em desenvolver sites personalizados, que atenda às suas necessidades e impulsione seu negócio.

Quero receber novidades:


Artigos relacionados

WhatsApp
(35) 99198-6202