Tentar descobrir um tipo de instância "permanente" no EC2 é um desperdício de tempo. Basta iniciar um tipo de instância que você acha que deve atender às necessidades e ajustá-lo para cima ou para baixo com base no desempenho medido e no seu orçamento.
Veja um artigo que escrevi sobre como alternar os tipos de instâncias após a instância já estar em execução:
Moving an EC2 Instance to a Larger (or Smaller) Size
http://alestic.com/2011/02/ec2-change-type
A maior decisão é se começar com arquitetura de 32 ou 64 bits, pois a maioria dos tipos de instância só suportam um ou outro hoje. Para alternar entre arquiteturas de 32 e 64 bits, você precisará criar uma nova instância (e talvez a AMI). Então ... sempre documentar / automatizar exatamente como você cria sua instância / AMI e sempre manter seus dados em volumes separados do EBS para que eles possam ser movidos entre instâncias.
Implemente o balanceamento de carga do AWS se você achar que uma única instância não cobre confortavelmente suas necessidades e / ou se deseja ter servidores ativos para suportar tráfego se uma única instância falhar e / ou se você quiser usar o dimensionamento automático seu tráfego varia muito entre os altos e baixos.
Não tenha medo de executar várias instâncias para atender a diferentes tarefas. Por exemplo, o processamento em lote, a análise do arquivo de log, o tratamento de backup podem ser melhores se não forem feitos no (s) servidor (es) da Web.
...a hitlist of things to do/be aware in an ec2 environment...
Sim, isso é um pouco vago. Leia o máximo possível da documentação e dos blogs da AWS / EC2 relacionados aos tópicos. Experimente e experimente diferentes abordagens; jogue fora coisas que não funcionam. Documente tudo o que você faz para poder reproduzi-lo.