Estou configurando instâncias do Amazon EC2 para um próximo projeto. São todas micro instâncias, executando o Ubuntu Server 64bit. Aqui está o que eu configurei até agora:
- Servidor Web - Apache
- Servidor de Banco de Dados - MySQL
- Servidor de Desenvolvimento - Apache & MySQL
- Servidor de arquivos - SVN e Bacula (os backups são feitos nos buckets S3)
Atualmente, existe apenas um servidor Web, mas eventualmente haverá mais.
Minha primeira pergunta é: qual é a melhor e mais segura maneira de as instâncias do Amazon EC2 se comunicarem entre si? Atualmente estou usando SSH, esse é o melhor método?
Segundo a Amazon, as instâncias que se comunicarem entre si usando seus endereços IP Elastic serão cobradas taxas de transferência de dados. No entanto, as instâncias que se comunicam usando seus endereços IP privados podem fazê-lo gratuitamente. Infelizmente, parece que os IPs privados mudam se a instância for parada e reiniciada.
Portanto, essa é minha segunda pergunta: como você usa os IPs privados das instâncias da Amazon, se eles não são estáticos?
Eu sei que as instâncias provavelmente não serão interrompidas e iniciadas com muita frequência, mas ainda assim, se o endereço IP estiver em vários arquivos de configuração, seria uma pena ter que passar por todas elas e alterá-las.
Estou preocupado principalmente com os servidores Web, que precisarão acessar o servidor de banco de dados e o servidor de arquivos, que terão acesso a todas as instâncias ao executar backups.
Nota: Eu nunca usei o Bacula antes e ainda não o tenho configurado, mas estou assumindo que ele precisará dos endereços IP dos clientes para fazer backup deles.