Você pode automatizar isso usando uma instância do EBS e criar uma AMI para lançar novas instâncias.
Você poderia configurar um script que seria executado na inicialização - verifique se o código foi extraído e, caso contrário, configure-o. (por exemplo: /etc/rc.local
e executar um script personalizado)
Você teria que carregar sua chave manualmente apenas nesse momento (e em qualquer momento subseqüente, caso sua chave github mudasse).
Então, toda vez que você criar uma nova instância de sua AMI, ela executará essa operação de check / get na inicialização.
Se a sua infraestrutura exigir um método mais sofisticado de tudo, você poderá utilizar puppet
ou chef
em um 'servidor de comando' para gerenciar essa implantação de maneira mais inteligente a partir de um único host e não de uma AMI agrupada.