Amazon AWS: SSL em nosso ambiente de teste

3

Minha empresa tem um serviço da web de negócios em execução na AWS que usa um certificado SSL curinga (funciona para * .example.com). Vários parceiros têm subdomínios e precisam de SSL ( link , link , etc.) e servimos respostas HTML ou JSON a eles.

Nosso site de produção tem um ELB voltado para a Web que possui nosso certificado SSL instalado. O ELB equilibra e encerra o SSL em um cluster de instâncias do servidor de produção dentro do nosso VPC. Nosso aplicativo da web sabe como servir o parceiro correto HTML / JSON com base no nome do subdomínio.

Eu quero replicar isso para os nossos ambientes de teste (por exemplo, controle de qualidade, teste, demonstração) da forma mais simples possível. Mas os ambientes de teste e produção não podem ser as mesmas instâncias do servidor; Eu preciso saber que não vou matar a produção se eu estragar no nosso ambiente de teste.

Idealmente, o mesmo ELB que lida com o tráfego de produção poderia de alguma forma direcionar o tráfego para os meus servidores de teste, talvez se eles usassem um endereço IP conhecido ou um subdomínio DNS? Estou certo de que isso não é possível?

Suponho que eu poderia configurar um ELB com o certificado SSL para cada ambiente de teste, cada "balanceamento" para um servidor, mas isso parece muito complicado, e eu também acho caro.

Todas as instâncias, produção e teste, são executadas dentro do nosso VPC. Mas, atualmente, somente o cluster de produção tem o SSL configurado no ELB (que finaliza o SSL) e transmite solicitações HTTP diretas para as próprias instâncias.

Os servidores de teste aceitam HTTP. Eu tenho IPs elásticos públicos e nomes DNS configurados (staging.example.com, qa.example.com, demo.example.com) ... mas eles não são protegidos por SSL.

Quase não há dados críticos ou de clientes nas instâncias do servidor de teste, e eles são protegidos e corrigidos corretamente, como qualquer servidor voltado para a Web deve ser (espero !!). Ainda assim, eu gostaria de SSL não apenas para segurança adicional, mas também para que meu ambiente de teste correspondesse ao meu ambiente de produção o mais próximo possível.

Em todos, exceto no caso do nosso servidor de armazenamento temporário, os outros ambientes são suportados por uma única instância (por exemplo, demo e qa no mesmo servidor) com configurações de host virtuais nomeadas pelo Apache. Então, para teste, muitos sites, mas apenas alguns servidores.

Existe uma maneira de eu ainda ter meu certificado SSL curinga instalado apenas no meu balanceador de carga (ou talvez mais um) ou alguma outra configuração que me permita detectar e rotear a solicitação HTTP para o servidor de teste correto, com base em IP ou nome de domínio (ou até mesmo um cabeçalho HTTP)?

Eu sei que esta é uma questão complicada. Eu entendo AWS, segurança e rede muito bem, mas ainda estou tentando descobrir o roteamento e até DNS interno dentro do ambiente VPC, por isso pode ser ignorante das minhas opções.

    
por Tom Harrison Jr 02.08.2012 / 00:01

1 resposta

5

Honestamente? Eu diria que você está pensando demais nisso. Basta usar vários ELBs e colocar os certificados * .example.com em todos eles. Isso não é realmente um custo proibitivo. Em toda a sua pilha, o ELB provavelmente será um dos componentes mais baratos. Isso também permite que você crie stacks com o mesmo modelo CloudFormation ou sistema de provisionamento. Você pode usar o certificado em quantos ELBs desejar.

Enfrentamos um problema muito parecido com o seu e decidimos fazer exatamente o que descrevemos acima. Acabamos economizando dinheiro porque o ELB não é um indicador significativo do nosso custo mensal, e levaria muito mais tempo no salário para hackear uma solução, mesmo que fosse possível. Com os ELBs, você só paga pelo que usa em termos de tráfego, de modo que os ambientes de controle de qualidade e de demonstração não ficarão nem um pouco perto de você. o custo da carga de produção. No exemplo descrito nesse link, 100 GB de tráfego em um mês é de US $ 18. São como três cafés Starbucks.

Um benefício adicional: também é mais fácil depurar. Não precisa se preocupar com regras estranhas de tráfico ou coisas do gênero.

    
por 02.08.2012 / 00:09