2012-02-15 34 views
14

Estoy empezando con AWS EC2 y no estoy completamente seguro de entenderlo.Necesito ayuda para duplicar instancias de Amazon AWS EC2

Por lo que he leído, una instancia es básicamente un servidor virtual, y de alguna manera debería ser capaz de "duplicar" ese servidor virtual desde la consola de AWS. Luego use Load Balancer o Elastic IP para enrutar las solicitudes a una u otra.

El problema aparece cuando trato de "duplicar" mi instancia. Probé un millón de cosas, pero lo único que me acercó fue crear un AMI de mi instancia actual y luego lanzar una instancia a partir de eso, pero cuando lo hice, la nueva instancia fue básicamente la configuración predeterminada del servidor. Ninguno de mis archivos estaba allí.

¿Qué estoy haciendo mal?

+1

¿Dónde está almacenando los archivos que esperaría que fueran parte de la AMI? ¿En la instancia en sí o en un volumen de EBS? – Daan

Respuesta

2

En las instancias, haga clic en la imagen que desea duplicar y luego vaya a la acción de instancia (está cerca de la parte superior) y cree ami.

Esto crea una instantánea de su imagen como lo es ahora. Luego, cuando necesite agregar más energía, puede simplemente iniciar esa ami y hacer que el equilibrador de carga distribuya el tráfico entre esas ami.

En una nota aparte, a menos que sea realmente necesario, no recomendaría que almacene datos en el ami si está cambiando y planea usarlo en otro ami lanzado. Tendrá que seguir tomando instantáneas ami para actualizarlo con los datos nuevos, así que busque una forma de mantener el estado en otro lugar (no está seguro de sus datos pero puede considerar una base de datos, s3 u otro servidor que estos servidores) puede montar para obtener los mismos datos).

Espero que ayude!

+0

¡Gracias! Entonces su recomendación sería almacenar mi código (utilicé el modelo "Instancia EC2 de instancia de EC2 única con instancia de base de datos de Amazon RDS" para comenzar) en S3, y luego lo monté de alguna manera en el AMI? ¿Cómo podría hacer eso? Lo siento, la primera vez que utilizo AWS y es confuso como el infierno. –

+1

Sí, eso es lo que hago. Hay tantas maneras de hacerlo, si accede google s3 ___ (inserte aquí su lenguaje de programación), encontrará herramientas para esto. Si no te gusta, puedes usar otras herramientas para sincronizar automáticamente con s3 (fuera de tu programa). Personalmente, no estoy usando s3, estoy usando github para extraer el código nuevo cada vez que se inician mis aplicaciones. – Lostsoul

+0

Es realmente confuso, te sugiero que comiences con la micro instancia (será más barato pero barato) y experimenta. Recuerde que si ensucia algo, siempre puede terminar la instancia y comenzar de nuevo. – Lostsoul

11

Realmente no se "duplica" la instancia. Usted más lo copia como un "blueprint". Luego, cuando reinicie una instancia más adelante, puede basar esa instancia en su instantánea o "blueprint".

El ELB se puede configurar para que apunte a cualquier instancia que desee, de modo que cuando arranque un servidor nuevo de esta instantánea/"plano", se puede agregar automáticamente al ELB.

Ahora que se aclare, para contestar la pregunta: ¿

  1. me aseguraría de usar EBS respaldado casos. Puedes encontrarlos por todas partes. Pero no respaldado por S3. Si EBS respaldado, entonces el volumen exacto con todas sus configuraciones estará allí.

  2. Me aseguraré de que su instancia esté configurada a su gusto y tenga instalados los scripts adecuados para cuando se inicie. Querrá que comiencen sus servicios, que los archivos de configuración sean eliminados de los repositorios, etc. Los archivos de configuración deberían estar allí, pero yo no confiaría en eso. Si los tiene en un repositorio y luego crea un script de inicio para desplegarlos y copiarlos donde desee, estará en una mejor condición.

  3. Con la instancia en ejecución y seleccionado, haga clic en las acciones de instancia desplegable y haga clic en "Crear IAM"

  4. La instancia se reiniciará. Así que ten cuidado.

  5. Lanzar una nueva instancia. Y elija el AMI/Snapshot que # 3 creó.

  6. Listo. Compruebe esto https://stackoverflow.com/a/8919031/667608 que podría ayudar con lo anterior.

Ah, otra cosa, si tiene alguna volúmenes de EBS unidos, que también será copiado, pero se necesita para montar una vez se inicia el servidor.

+0

¿Qué puede salir mal al reiniciar en el paso 4? –

+2

Si está utilizando la instancia en producción, etc. Ahora Amazon tiene una opción para no reiniciar, pero no garantiza que los volúmenes no se corrompan. Solo utilizaría esta opción si sabe que no hay muchos procesos escribiendo en el disco en el momento del reinicio. – chantheman

+1

Cualquier cosa que se ejecute en él estará muerto mientras se reinicia – chantheman

0

Cree un servidor web AMI utilizando una instancia respaldada por EBS. Esto servirá como su plantilla para ejecutar múltiples instancias de servidores web más adelante.

Para los códigos de aplicación, dependiendo de su estrategia y la cantidad de archivos para transferir, puede extraerlos de S3 o git o tal vez usar un sistema de archivos centralizado como NFS.

Configure el ELB, agregue una o más instancias del servidor web. CNAME los DNS públicos de su ELB a su www.dominio.com.

Cuestiones relacionadas