Atualização:em dezembro de 2015, a AWS oferece o gateway NAT do EC2 gerenciado. Portanto, não é mais necessário implantar e gerenciar manualmente NATs para suas sub-redes privadas. Se, por algum motivo, você precisar implantar seus próprios servidores NAT, siga as instruções abaixo.
A Amazon Virtual Private Cloud (Amazon VPC) permite provisionar uma seção privada e isolada da Amazon Web Services (AWS) Cloud onde você pode iniciar recursos da AWS em uma rede virtual que você definir. Com o VPC, você pode definir suas próprias sub-redes e também controlar rotas entre suas sub-redes. Você também pode decidir se deseja expor suas sub-redes à Internet. As sub-redes “privadas” da VPC são hosts ideais para seus servidores MongoDB. Com um NAT configurado, suas máquinas na sub-rede podem acessar a Internet, mas ninguém na Internet pode acessar seus servidores. Você também pode configurar uma conexão VPN site a site para acessar suas instâncias do mongo no local.
ScaleGrid facilita a implantação e o gerenciamento de instâncias de hospedagem MongoDB em uma sub-rede VPC. Todos os recursos existentes do MongoDB na AWS, como backups, recuperações, monitoramento, alertas etc., são totalmente funcionais em um ambiente VPC.
As sub-redes de VPC privadas usadas para implantações do Mongo precisam ter acesso de saída à Internet – portanto, certifique-se de configurar um NAT antes de implantar suas instâncias do mongo. Se você estiver implantando um conjunto de réplicas, crie três sub-redes, cada uma em uma zona de disponibilidade separada.
Aqui está um exemplo de VPC (10.20.0.0/16) que configurei na região da UE com quatro sub-redes:
- Sub-rede 1 (10.20.0.0/24) – Sub-rede pública
- Sub-rede 2 (10.20.1.0/24) – Sub-rede privada mapeada para a zona de disponibilidade eu-west-1a
- Sub-rede 3 (10.20.2.0/24) – Sub-rede privada mapeada para a zona de disponibilidade eu-west-1b
- Sub-rede 4 (10.20.3.0/24) – Sub-rede privada mapeada para a zona de disponibilidade eu-west-1c
O objetivo desta postagem é implantar um conjunto de réplicas do MongoDB de 3 nós com uma réplica em cada uma das sub-redes 2, 3 e 4.
Uma instância NAT foi configurada na sub-rede pública para permitir o acesso à Internet das sub-redes privadas 2, 3 e 4. Também criei um securityGroup – “MongoSecurityGroup” no qual o MongoDB processa a sub-rede 2,3 e 4 será associada. Aqui estão os detalhes da configuração do grupo de segurança para o NAT (a parte complicada da configuração do NAT é garantir que os grupos de segurança permitam a comunicação de entrada e saída com o NAT).
Grupo de segurança NAT
Saída: Tudo permitido (este é o padrão)
Entrada: Permitir 80.443 e 5671 do grupo MongoSecurity
Grupo MongoSecurity
Saída: Tudo permitido (este é o padrão)
Entrada: 27017 do grupo de segurança do aplicativo e do grupo de segurança Mongo, 27019 do grupo de segurança Mongo (para fragmentos)
Solução de problemas
Depois de configurar suas regras de grupo de segurança, verifique se tudo está configurado corretamente. A única maneira real de verificar se seus grupos de segurança estão configurados corretamente é criar uma instância:
- Crie uma instância no console da AWS e coloque-a em uma das sub-redes configuradas.
- SSH na instância. Verifique a conectividade com a Internet executando “wget cnn.com”. Se isso falhar, seu acesso à Internet de saída não está configurado corretamente.
Etapas de verificação quando as conexões não estão funcionando:
- SSH na instância NAT e verifique se ela tem conectividade com a Internet executando um comando wget.
- Verifique se sua instância na sub-rede privada tem conectividade com a instância NAT nas portas 80, 443 e 5671
Depois de verificar sua configuração, aqui está um processo passo a passo detalhado de como implantar suas instâncias do Mongo em uma sub-rede VPC.
Etapa 1:criar um pool de máquinas por sub-rede VPC
Navegue até os pools de máquinas ou na guia Cloud Profile e clique em criar para conectar-se à sua conta na nuvem AWS. Insira sua chave de API da Amazon e a chave secreta
Selecione a região na qual você criou a VPC.
Selecione a configuração de implantação da VPC e escolha sua VPC, sub-redes e grupos de segurança. Se você deseja distribuir seu conjunto de réplicas entre sub-redes, você precisa criar um pool de máquinas por sub-rede e, em seguida, no assistente de criação, escolha o pool de máquinas correto para cada instância.
Etapa 2:implantar suas instâncias do Mongo no pool de máquinas da sub-rede VPC
Navegue até a guia de implantações e clique em Criar para criar um novo cluster MongoDB. No assistente, escolha o Pool de Máquinas que você acabou de criar como destino de implantação. Isso criará suas instâncias do mongo na sub-rede VPC específica que você selecionou.
Se você tiver outras perguntas/comentários ou solicitações de recursos, gostaríamos de ouvi-lo. Você pode nos enviar um email para [email protected].