Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Implantar MongoDB Atlas com módulos Terraform

Este guia orienta você na implantação de um ambiente MongoDB Atlas pronto para empresas usando os módulos oficiais do Terraform MongoDB Atlas, que facilitam a saída de zero a uma implantação completa do Atlas usando o Terraform.

Cada módulo é um bloco de construção reutilizável que realiza o provisionamento dos recursos do Atlas juntamente com as dependências necessárias para conectividade segura e privada com provedores de nuvem.

Este guia fornece exemplos para implantar os seguintes recursos no AWS, Azure ou Google Cloud:

  • Um projeto Atlas e um cluster fragmentado.

  • Rede de provedor de nuvem com conectividade PrivateLink.

  • Exportação de backup para armazenamento na nuvem.

  • Uma máquina virtual de validação opcional para confirmar a conectividade de ponta a ponta (não disponível no momento no Google Cloud. Uma máquina virtual estará disponível em uma atualização futura).

Observação

Os exemplos neste guia criam todos os recursos do provedor de nuvem necessários por padrão. Se você precisar usar recursos preexistentes, consulte as seções Traga seus próprios recursos que correspondem ao seu provedor de nuvem:

Certifique-se de ter os seguintes pré-requisitos antes de iniciar este tutorial:

Você precisa das seguintes ferramentas para passar pelo processo descrito neste guia:

  • Terraform (Do v1.9 em diante)

  • mongosh (Only required for validation steps. When deploying the validation VM, mongosh is installed by default)

Este guia utiliza uma Conta de Serviço do Atlas para autenticação. As contas de serviço são o método de autenticação recomendado para acesso programático.

  1. Inicie sessão ou crie a sua conta MongoDB Atlas.

  2. Defina as credenciais da sua conta de serviço como variáveis de ambiente:

    export MONGODB_ATLAS_CLIENT_ID="<your-client-id>"
    export MONGODB_ATLAS_CLIENT_SECRET="<your-client-secret>"

    Observação

    As contas de serviço são o método de autenticação recomendado para acesso programático com o Terraform. Para obter mais informações sobre como configurar contas de serviço, consulte Conceder Acesso Programático a uma Organização.

Configure suas credenciais da AWS usando um dos seguintes métodos:

  • Variáveis de ambiente:

    export AWS_ACCESS_KEY_ID="<your-access-key-id>"
    export AWS_SECRET_ACCESS_KEY="<your-secret-access-key>"
  • Perfil CLI da AWS: execute aws configure para armazenar credenciais para a CLI da AWS.

  • Função do IAM: ao executar na AWS, anexe uma função do IAM à sua instância ou tarefa com as permissões apropriadas.

    Observação

    Para obter mais informações, consulte Autenticação AWS IAM.

1

Baixe o exemplo completo do seu provedor de nuvem no repositório de exemplos do Atlas e navegue até o diretório de exemplo.

git clone https://github.com/terraform-mongodbatlas-modules/atlas-examples.git
cd atlas-examples/aws/atlas-aws-module-complete
2

Copie o arquivo de exemplo terraform.tfvars e preencha seus valores:

cp terraform.tfvars.example terraform.tfvars

A tabela a seguir descreve as variáveis necessárias. Para obter uma lista completa das variáveis disponíveis, consulte o arquivo variables.tf no diretório de exemplo que corresponde ao seu provedor de nuvem.

Variáveis comuns

Variável
Descrição

atlas_org_id

ID da organização do MongoDB Atlas . Para encontrá-lo, acesse Organization > Settings na IU do Atlas.

atlas_project_name

Nome para o novo projeto Atlas .

atlas_cluster_name

Nome do Atlas cluster.

regions

Lista de regiões onde o cluster e os pontos de extremidade do PrivateLink são implantados. Consulte detalhes específicos do provedor de nuvem abaixo.

Variáveis específicas do fornecedor de nuvem

Variável
Descrição

aws_region

A região primária AWS para operações do provedor (por exemplo, us-east-1).

regions[].name

The Atlas region name for the cluster shard (for example, US_EAST_1). For all supported values, see Cloud Providers and Regions.

regions[].vpc_id

O ID de uma VPC existente nesta região. Os nomes de host DNS e a resolução DNS devem estar habilitados na VPC.

regions[].subnet_ids

Lista de pelo menos duas IDs de sub-rede privada em diferentes zonas de disponibilidade dentro da VPC, usadas para o colocação de pontos de extremidade PrivateLink.

O exemplo a seguir mostra um terraform.tfvars mínimo para AWS:

atlas_org_id = "<YOUR_ATLAS_ORG_ID>"
atlas_project_name = "my-atlas-project"
atlas_cluster_name = "my-atlas-cluster"
aws_region = "us-east-1"
regions = [
{
name = "US_EAST_1"
vpc_id = "<YOUR_VPC_ID>"
subnet_ids = ["<YOUR_SUBNET_ID_1>", "<YOUR_SUBNET_ID_2>"]
}
]
3

Execute os seguintes comandos Terraform para inicializar o diretório de trabalho e implantar a infraestrutura:

terraform init
terraform plan -var-file terraform.tfvars
terraform apply -var-file terraform.tfvars

terraform init baixa os plug-ins do fornecedor e do módulo necessários. terraform plan visualiza os recursos que serão criados. Revise o plano cuidadosamente antes de aplicá-lo.

Após a conclusão do terraform apply, o provisionamento dos seguintes recursos será realizado na sua conta:

  • MongoDB Atlas: acesso à organização, um novo projeto e um cluster fragmentado multirregional.

  • Função AWS IAM: uma função que o Atlas assume para interagir com sua conta AWS para o acesso ao provedor de nuvem.

  • Pontos de extremidade da AWS VPC: um ponto de extremidade da VPC por região, conectado ao serviço Atlas PrivateLink para conectividade privada e segura.

  • AWS S3 Bucket: um bucket para as exportações de backup do Atlas.

  • VM de validação (opcional, ativada por padrão): uma instância do EC2 na sub-rede da primeira região para verificar a conectividade do Atlas por PrivateLink.

4

Você pode validar sua implantação com uma máquina virtual (VM) que o exemplo cria para você ou conectando-se diretamente com o mongosh utilizando a string de conexão PrivateLink.

Conecte-se e teste com uma máquina virtual

Se você implantou a VM de validação (ativada por padrão), poderá usá-la para verificar a conectividade do Atlas a partir da sua rede privada. A VM tem mongosh pré-instalado e a string de conexão pré-configurada.

  1. Observe a saída validation_vm para o ID da instância e os comandos de acesso:

    terraform output validation_vm
  2. Conecte-se via AWS Gerente de Sistemas (SSM) Session Manager (padrão, nenhum SSH necessário):

    aws ssm start-session --target <instance-id>

    Como alternativa, se você definir validation_vm_create_ec2_instance_connect_endpoint = true, conecte-se via EC2 Instância Connect:

    aws ec2-instance-connect ssh --instance-id <instance-id> --os-user ubuntu
  3. Execute o script de validação na VM para testar a conectividade:

    ./validate-atlas

    O script confirma que mongosh pode se conectar e executa operações CRUD no cluster.

Conecte-se e teste com mongosh

Você também pode testar a conectividade de qualquer hospedar com acesso à sua rede privada.

  1. Recupere a string de conexão.

    Após a conclusão da implantação, recupere a string de conexão PrivateLink das saídas do Terraform:

    terraform output connection_string

    A string de conexão usa o formato SRV de ponto de extremidade privado e roteia o tráfego por meio da conexão PrivateLink.

  2. Execute o seguinte comando, substituindo <connection-string> pelo valor do comando terraform output connection_string:

    mongosh "<connection-string>"
  3. Após conectar, execute os seguintes comandos para gravar e recuperar um documento de teste:

    db.test.insertOne({ msg: "Hello Atlas" })
    db.test.findOne()

Uma resposta bem-sucedida confirma que seu cluster está acessível e aceitando operações de leitura e gravação.

5

Para reduzir todos os recursos provisionados por essa implantação e evitar cobranças indesejadas, execute:

terraform destroy -var-file terraform.tfvars

Aviso

terraform destroy exclui permanentemente todos os recursos gerenciados por esta configuração, incluindo o Atlas cluster e seus dados. Faça backup de todos os dados que deseja manter antes de executar este comando.