He estado configurando instancias de Amazon EC2 para un próximo proyecto. Todos son micro instancias, ejecutando Ubuntu Server 64bit. Esto es lo que he configurado hasta ahora:
- Servidor web - Apache
- Servidor de bases de datos - MySQL
- Servidor de desarrollo - Apache y MySQL
- Servidor de archivos : SVN y Bacula (las copias de seguridad se realizan en cubos S3)
Actualmente, solo hay un servidor web, pero eventualmente habrá más.
Mi primera pregunta es, ¿cuál es la forma mejor y más segura para que las instancias de Amazon EC2 se comuniquen entre sí? Actualmente estoy usando SSH, ¿es ese el mejor método?
Según Amazon, a las instancias que se comunican entre sí utilizando sus direcciones IP elásticas se les cobrarán tarifas de transferencia de datos. Sin embargo, las instancias que se comunican utilizando sus direcciones IP privadas pueden hacerlo de forma gratuita. Desafortunadamente, parece que las IP privadas cambian si la instancia se detiene y se reinicia.
Entonces esa es mi segunda pregunta, ¿cómo utiliza las IP privadas de las instancias de Amazon si no son estáticas?
Sé que las instancias probablemente no se detendrán y comenzarán con mucha frecuencia, pero aún así, si la dirección IP está en varios archivos de configuración, sería difícil tener que revisarlos todos y cambiarlos.
Me preocupan principalmente los servidores web, que necesitarán acceso al servidor de base de datos y al servidor de archivos, que necesitarán acceso a todas las instancias al realizar copias de seguridad.
Nota: nunca he usado Bacula antes y todavía no lo tengo configurado, pero supongo que necesitará las direcciones IP de los clientes para hacer una copia de seguridad.
Respuestas:
Consulte el artículo de Eric Hammond que explica cómo usar las direcciones IP elásticas incluso desde EC2. Este método NO genera cargos por ancho de banda porque la resolución de la dirección IP elástica (por nombre) desde EC2 devuelve la dirección IP privada.
http://alestic.com/2009/06/ec2-elastic-ip-internal
Para más opciones, tengo un artículo que examina algunas alternativas:
http://shlomoswidler.com/2010/06/track-changes-to-your-dynamic-cloud-services-automatically.html
fuente
Implemente su instancia EC2 en una nube privada virtual (VPC) de AWS. Cuando configure su VPC, asignará CIDR a todas las instancias de EC2 en la VPC y la IP interna será estática.
fuente
SSH es un muy buen método para transferir datos entre diferentes servidores, pero si está buscando algo como una conexión permanente (a una base de datos, por ejemplo), puede usar cualquier tipo de software de túnel cifrado como
stunnel
Dado que no hay forma de tener IP privadas estáticas, puede usar algún tipo de implementación automática del servidor para esto, hay varias herramientas como mcollective, capistrano o func que le permitirán registrar su nueva instancia en un servidor central designado y generar acciones en múltiples máquinas basadas en eso
fuente