Onde devo configurar um ambiente de preparação no Amazon VPC? E teste?

5

Eu configurei o ambiente de produção para o meu serviço em um Amazon VPC no Oregon:

  • 2 zonas de disponibilidade
  • 1 sub-rede pública (incluindo bastion, nat e ELBs) e 3 sub-redes privadas (banco de dados, servidores web e configuração / supervisão) em cada zona de disponibilidade.
  • 11 grupos de segurança

Existem cerca de 25 VMs, por enquanto, e esperamos que ele cresça.

Agora, vou configurar o ambiente de teste, mas não tenho certeza de onde colocá-lo:

  1. devo simplesmente colocar as instâncias de teste ao lado das instâncias de produção ? Basicamente, basta reutilizar a mesma região da Amazon, as mesmas zonas de disponibilidade, as mesmas sub-redes e os mesmos grupos de segurança? Eu só precisaria criar novos ELBs apontando para instâncias de teste, e é isso. Simples.
  2. ou devo colocar as instâncias de teste em suas próprias sub-redes , mas ainda na mesma região / zonas de disponibilidade? As sub-redes públicas teriam que ser as mesmas, porque você não pode ter duas sub-redes públicas em uma única zona de disponibilidade. Ter sub-redes separadas pode facilitar o gerenciamento de coisas, e eu poderia ter regras de roteamento dedicadas, para passar por diferentes instâncias nat e possivelmente um bastião diferente também. Segurança mais complexa, mas mais rígida. Eu acho que talvez não precise dobrar os grupos de segurança, porque eu poderia ter uma única ACL de rede global proibindo o tráfego entre sub-redes de produção e temporárias.
  3. ou devo duplicar toda a configuração em um VPC diferente ? Como só posso ter uma VPC por região da Amazônia, eu teria que fazer isso em uma região separada.

O ponto principal do ambiente de preparação é ser idêntico ao ambiente de produção (ou o mais próximo possível). Então, configurar o ambiente de teste em uma região diferente da Amazônia parece errado: isso exclui a opção 3, não é?

A opção 1 está mais próxima do objetivo de estar o mais próximo possível da produção. Mas ter ambientes de preparação e produção nas mesmas sub-redes parece um problema de segurança em potencial, certo? Então, estou um pouco inclinado à opção 2, mas gostaria de saber se os possíveis problemas de segurança são sérios o suficiente para justificar o dobro de sub-redes a serem gerenciadas?

E o ambiente de teste? Ele deve se assemelhar à produção também, mas não precisa combiná-lo da seguinte maneira: tudo pode caber em algumas instâncias, sem necessidade de ELBs e tudo mais. Talvez este ambiente possa caber em uma única sub-rede dedicada no mesmo VPC? Estando no mesmo VPC, teria acesso simples ao repositório git e ao servidor do chef e ferramentas de supervisão e acesso openvpn, etc.

Tenho certeza de que muitas pessoas passaram por essas considerações? Qual é a sua opinião sobre isso?

Obrigado.

    
por MiniQuark 21.04.2013 / 16:48

3 respostas

2

Eu diria que a opção 3 é o melhor nível de isolamento e impede que seu ambiente de produção seja afetado por alterações no ambiente de preparação. Também sua suposição de um VPC por região parece estar errada. Você pode criar várias VPCs em uma região até onde eu sei.

"Como só posso ter uma VPC por região da Amazônia, eu teria que fazer isso em uma região separada."

    
por 21.04.2013 / 17:20
0

Sugiro ir com Opção 2 . À medida que sua infra-estrutura AWS cresce, você precisará dos Serviços de diretório (Servidores de nomes, Diretório de usuários, Diretório de VMs, serviços de pesquisa etc.). Se você tiver duas VPCs, compartilhar os Serviços de Diretório não será fácil. Além disso, se você precisar de Repositório de código (por exemplo, GitHub) ou Ferramentas de criação (por exemplo, Jenkins) com três VPCs separados para DEV, Preparação e Produção, isso tornará as coisas realmente complicadas.

    
por 07.10.2016 / 23:46
0

Eu sugeriria um vpc separado para cada ambiente. Todos os recursos compartilhados podem ser colocados em um vpc compartilhado e ter peering entre cada um dos ambientes para o vpc compartilhado

    
por 10.06.2017 / 05:33