O EC2 monitora a integridade dos serviços dentro dos convidados?
Se não, e isso é algo que você quer, o Pacemaker seria relevante aqui. O Corosync provavelmente ainda não é uma opção, já que só faz mcast e bcast, então seria um cenário de marca-passo + heartbeat.
Aqui está um guia de como as pessoas fazem isso com as instâncias do linode, muito do que provavelmente também é relevante no EC2: link
Para responder à pergunta sobre quais são as peças, o Pacemaker é o que inicia e interrompe os serviços e contém lógica para garantir que eles estão sendo executados e que estão sendo executados em apenas um local (para evitar corrupção de dados) .
Mas ele não pode fazer isso sem a capacidade de falar com ele mesmo nos outros nós, que é onde a pulsação e / ou o corosync entram.
Pense em heartbeat e corosync como um barramento no qual qualquer nó pode enviar mensagens e saber que elas serão recebidas por todos os seus pares. O ônibus também garante que todos concordem com quem está (e não está) conectado ao ônibus e informa quando a lista muda.
Para dois nós, o Pacemaker poderia facilmente usar soquetes, mas além disso, a complexidade cresce rapidamente e é muito difícil de acertar - então, faz sentido usar componentes existentes que se mostraram confiáveis.