Situação atual: minha empresa executa várias instâncias individuais do EC2 hospedando sites exclusivos usando vários subdomínios de um domínio de nível superior comum. (abc.foo.com e def.foo.com, por exemplo).
Cada um desses sites está atualmente realizando o descarregamento de SSL de forma independente, mas usando um certificado comum. Atualmente, executamos Ubuntu LTSs, incluindo 10.04, 12.04 e 14.04, todos executando o Apache (2.2 ou 2.4).
Nossos sistemas usam arquivos VHost para estabelecer os sites nas instâncias e, nas poucas instâncias em que temos vários sites em execução, usamos vários VHosts com diferentes portas e docroots (:80 /var/www/abc para abc.foo.com, e :81 /var/www/def para def.foo.com). Todas essas instâncias são executadas usando <2% dos recursos disponíveis e todas da mesma base de código monolítica.
Estado final desejado: desejo consolidar todos os pequenos servidores não utilizados em um único servidor Ubuntu 14.04 usando o Apache 2.4 e executar todos esses sites a partir de um único ELB na AWS, liderado e armazenado em cache pelo CloudFront, onde o descarregamento SSL ocorre em o ELB.
Problema/Pergunta: Não tenho ideia de como fazer isso ... Existe uma maneira de ter vários sites usando o mesmo IP e porta que podem ser fronteados usando o ELB? Como o Apache não inicializa com VHosts que têm o mesmo IP/porta, nem sei por onde começar, e algumas das minhas pesquisas básicas no Google não mostram nenhum exemplo ou discussão desse tipo de cenário.
Você pode ter diferentes VHosts no Apache, todos ouvindo o mesmo IP e porta. É assim que grandes provedores de hospedagem funcionam: eles têm um grande servidor Apache e muitos domínios usando VHosts na porta 80 e o mesmo IP.
Eu criaria um host virtual para cada subdomínio, tudo na porta 80, e colocaria as configurações específicas para cada um em um bloco de configuração VHost. Os Guias de Host Virtual da Apache e da DigitalOcean são muito bons e detalhados, acho que você pode aprender com eles e colocá-los em prática.
Não é difícil, você consegue.