
Estou pensando em bloquear uma configuração existente da AWS. No momento, tudo está dentro de uma única VPC padrão (teste, preparação, produção) e tudo dentro de sub-redes públicas.
Meu plano é separar os 3 ambientes em 3 VPCs diferentes, utilizando sub-redes públicas e privadas.
Também queremos restringir o acesso aos servidores, pois atualmente eles possuem IPs públicos e qualquer pessoa pode acessá-los. Idealmente, eu apenas faria a lista de permissões de IP, mas esta é uma equipe remota e eles trabalham em todos os lugares, então tenho IPs dinâmicos para enfrentar.
Meu plano é usar uma instância OpenVPN e fazer com que as pessoas se conectem por meio dela. Pelo meu conhecimento extremamente limitado (formação em engenheiro de software, experiência em rede muito limitada), isso deve funcionar.
Minha pergunta é, teremos 3 VPCs e a instância VPN precisará residir em uma delas. Qual a melhor forma de permitir o acesso às outras 2 VPCs por meio da VPN? Essa é a melhor abordagem (acesso direto) ou devo ter uma conexão VPN por VPC. Este último parece um exagero, mas não tenho certeza.
Obrigado.
Editar:Ou outra opção é ter apenas uma única VPC, mas isolar teste, preparação e produção usando sub-redes? Eu li que algumas pessoas fazem isso, embora não seja o ideal.
Responder1
A melhor opção é realmente utilizar a VPN que a AWS já inclui em sua configuração de VPC. Falando por já ter configurado o que você está tentando fazer. Presumir que seus usuários se conectem a um local central, como um escritório ou data center, é uma opção. Caso contrário, uma versão expandida da configuração abaixo funcionaria, adicionando outra instância VPN para as pessoas se conectarem.
Se você precisar que as VPCs também se comuniquem entre si, convém configurar várias instâncias de VPN, pelo menos uma por VPC, de preferência mais de uma para redundância, mas para fazer isso você precisará de outra instância para controlar o failover e atualizar as tabelas de roteamento da AWS com o novo caminho.
Opção 1:
Um servidor VPN central para os usuários se conectarem na AWS com túneis criados nele para rotear o tráfego para suas outras VPCs. Você precisaria de outras instâncias em VPCs separadas para a criação de túneis VPN.
Opção 2:
Um servidor VPN central ao qual os usuários podem se conectar na AWS. Uma ou mais instâncias de VPN por VPC configuradas com túneis para conectividade com outras VPCs.
Opção 3:
Funcionalidade AWS VPN para um escritório central ou data center onde uma VPN de usuário está configurada. Uma ou mais instâncias VPN na AWS com túneis configurados para conectividade entre VPCs.
Infelizmente, a Amazon não possui configurações de VPN entre VPCs; portanto, nos casos em que estou sugerindo um túnel, é claro que você precisará de um conjunto de instâncias, pelo menos, para cada configuração de túnel.
Responder2
Na verdade, acho que a resposta é encontrada nesta AWS
documentação:Configurações com rotas para um bloco CIDR inteiro
Seguindo esta configuração consegui ter uma única instância VPN em execução
Adicionar roteamento para a conexão de peering na tabela de rotas associada à sub-rede que possui minha caixa VPN, da mesma forma na sub-rede da VPC com peering onde residem as caixas que desejo acessar
Consegui ssh
entrar nessas caixas sem problemas
Responder3
Contanto que todos os recursos (instâncias EC2 e quaisquer outros serviços como ElasticSearch ou similares) estejam na mesma região, você pode fazer isso com Transit Gateways. Crie as três VPCs (você pode querer criá-las em contas separadas e juntá-las por meio de funções) e, em seguida, crie um único Transit Gateway. Anexe as três VPCs ao TG com anexos individuais do Transit Gateway e, em seguida, anexe uma tabela de rotas a cada TGA. Crie uma VPN (um gateway do cliente para um único dispositivo roteador ao qual todos os seus usuários se conectam/já estão atrás; ou vários endpoints VPN do cliente) e, em seguida, use um anexo de gateway de trânsito para anexar essa VPN ao TG também. Em seguida, certifique-se de que todas as rotas estejam nas entradas da tabela de roteamento TG e configure os grupos de segurança para suas regras de firewall.
Apenas uma observação: se você tiver recursos em várias regiões (ou seja, us-east1 e us-west1), isso parece não funcionar. Na verdade, tenho uma pergunta aqui para ver se é possível ou não. Era para funcionar com peering, mas não parece.