Eu tenho um aplicativo ASP.NET MVC hospedado em uma instância autônoma do EC2. Minha zona hospedada do Route53 tem um registro para o IP elástico da instância do EC2.
Não tenho um Elastic Load Balancer e não preciso de um.
É possível implantar uma nova versão do meu site na AWS com o mínimo ou nenhum tempo de inatividade e sem precisar estabelecer e pagar por um Elastic Load Balancer?
A maneira mais simples de realizar a transição para sua nova implantação de aplicativo (instância do EC2) pode funcionar assim:
Este método definitivamente introduzirá um tempo mínimo de inatividade durante a reatribuição do endereço EIP. Esta não é uma operação em tempo real.
Você também pode executar a alternância de DNS clássica (tipo de implantação azul/verde) para alternar da implantação de aplicativo antigo para o novo. Você pode ter dois registros de recursos ponderados, por exemplo, CNAME, na zona designada de DNS do Route53 apontando para sua implantação antiga e nova. Ao processar uma consulta de DNS, o Route53 selecionará uma resposta usando uma probabilidade calculada com base nesses pesos. Para realizar o switchover inicialmente terá peso 100 para registro "antigo" e 0 para registro "novo". No final, você terá apenas que trocar esses pesos. A única desvantagem dessa abordagem é que a propagação de alterações de DNS pode levar algum tempo, portanto, você não teria controle sobre quando o usuário as perceberia. Isso se deve ao fato de que muitos clientes simplesmente não obedecem aos valores TTL do DNS e armazenam o DNS em cache por dias, mesmo que o registro tenha TTL, por exemplo, 60s.
BTW, há uma boa apresentação sobre "implantações Blue/Green na AWS" .