2009-06-26 8 views
12

Esta pregunta es para cualquiera que haya usado Amazon EC2. Estoy investigando qué se necesitaría para implementar un servidor allí.Despliegue en EC2

Parece que puedo iniciar en VirtualBox, configurar mi servidor y luego exportar la imagen utilizando las herramientas ec2 proporcionadas.

Lo que se pone complicado es que si realmente quiero hacer cambios de configuración en mi servidor en ejecución, no serán persistentes.

Tengo un código PHP que necesito para poder implementar (y volver a desplegar) en el sistema, así que pensé que EBS sería una buena opción allí.

Tengo una gran cantidad de datos que necesito almacenar, pero sucede que la latencia no es un problema, así que estaba pensando que algo como s3fs podría funcionar.

Así que mi pregunta es ... ¿Qué harías? ¿Cómo se ve tu configuración? ¿Cuáles han sido los desafíos particulares que tal vez no viste venir?

Respuesta

7

Recomiendo almacenar su código PHP en un repositorio como SVN, y escribir un script que verifique el último código del repositorio y lo vuelva a desplegar cuando desee actualizar. También podría hacer que este script se ejecute al inicio de la instancia para que pueda obtener el código más reciente cada vez que genere una nueva instancia; ahorra al tener que crear un nuevo AMI todo el tiempo.

El principal desafío que no veía venir con EC2 es el tiempo de inicio de la instancia, especialmente con Windows. Las instancias de Linux tardan entre 5 y 10 minutos en iniciarse, pero he visto que las instancias de Windows demoran hasta 40 minutos; esto puede ser un problema si desea realizar un equilibrio dinámico de carga y comenzar nuevas instancias cuando aumenta la carga.

+0

Tenga en cuenta que hoy en día (4 años después de que se publicaron estas respuestas) los tiempos de arranque son solo de unos minutos. – Julian

+0

Implementé un script PHP que implementa automáticamente el código y cambia a todas las instancias de EC2 cada vez que ingresas al repositorio. https://github.com/droidlabour/aws_autoscaling_code_deployer – droidlabour

3

Sugeriría que la mejor opción es simplemente 'pruébelo'. Los cargos por ejecutar una pequeña instancia no son altos y las tasas de transferencia de datos son muy bajas. He movido bastantes GB y mis tarifas de datos aún son menos de un dólar (!) En mi primer mes. Es probable que termine pagando principalmente por el tiempo del sistema en lugar de datos que sospecho.

No he implementado aún, pero he ejecutado una instancia, lo migré de Ubuntu 8.04 a 8.10, intenté con diferentes configuraciones de seguridad del puerto, comprobé qué tipo de intentos de acceso desconocía la gente (principalmente buscando phpadmin), ejecuté algunas probando en contra y generalmente experimentó con la configuración y el reinicio de los componentes que estoy implementando. Ha sido un buen preludio para mi implementación final. No comenzaré con una gran base de datos, por lo que inicialmente me quedaré con el espacio de instancia estándar de EC2.

La única negatividad que he escuchado es que algunos spammers han hecho que algunos de los intervalos de IP estén sujetos al bloqueo de spam, pero aún no lo han confirmado.

+0

De acuerdo. el precio es lo suficientemente bajo como para probarlo. Acerca del bloqueo de spam, eso es cierto. Intenté ejecutar un servidor de correo en EC2, pero la mayoría de los rangos de IP resultaron estar en la lista negra. Tuve que enviar a un smarthost no incluido en la lista negra en otra red, lo que me hizo fracasar. –

2

Su enfoque de caja virtual le sugiero que tome después de que esté más familiarizado con la infraestructura EC2. Le sugiero que vaya a EC2, abra una cuenta y siga la guía de inicio de EC2 de Amazon. Esta guía le dará suficiente información general sobre todas las cosas (EBS, IP, CONEXIONES y otras S) para que pueda comenzar. Actualmente estamos usando EC2 para producción y la forma en que comenzamos era como lo estoy explicando aquí.

Espero que pronto se convierta en un experto en la nube.

1

He implementado algunas cosas simples para las instancias de EC2 Win2k3. Aquí está mi consejo:

Encuentra un tutorial. Regístrese para el servicio. Solo pasa una tarde configurando tu primer servidor. Es bastante fácil, aunque habrá obstáculos que superar. No es muy difícil.

Cuando estaba engañando con EC2 creo que gasté como $ 2.00 configurando un servidor y jugando con él por un tiempo.

Algunos de sus datos serán persistentes, pero también puede conectar S3 a EC2.

¡Adelante!

2

Por la preocupación del timbo, pude atrapar un IP que, hasta ahora, no se ha mostrado legítimamente en ninguna lista de spam. Tendrá algunas dificultades ya que muchas listas negras son técnicamente listas blancas y tendrán todas las direcciones IP de su lista hasta que se notifique que un servidor de correo se está ejecutando en esa IP.Es realmente fácil de eliminar, la mayoría de ellos tienen formularios de solicitud de eliminación automáticos y todos los que no lo han hecho han sido muy cooperativos al eliminarme de sus listas. Simplemente sea profesional, pregunte si pueden dar un momento y una razón para el bloqueo y qué pasos debe seguir para eliminar su IP. Todos los servicios que he enviado por correo electrónico nunca me pidieron que saltara ningún aros, en dos o tres días hábiles me informaron que mi IP había sido eliminada.

Aún así, si planea ejecutar un servidor de correo, le recomendaría reservar direcciones IP ahora. Son 1 centavo por cada hora que no están vinculados a una instancia, por lo que resulta ser de aproximadamente $ 7 al mes. Seguí adelante y reservé uno adicional ya que planeo comenzar otra instancia pronto.

10

Implementamos una aplicación comercial a gran escala en el entorno de AWS.

Hay tres enfoques básicos para mantener sus cambios bajo control una vez que el servidor está en ejecución, todos los cuales utilizamos en diferentes situaciones:

  1. mantener a los cambios en el control de código fuente. Tenga un script que sea parte de su imagen original que pueda desplegar lo último y lo mejor. Puede desplegar el código PHP, la configuración de Apache, lo que necesite. Si necesita reiniciar su instancia desde su AMI (Amazon Machine Image), simplemente ejecute su script para obtener el código y la configuración más recientes, y ya está listo.
  2. Utilice EBS (Elastic Block Storage). EBS es como un gran disco duro externo que puede conectar a su instancia. Incluso si tu instancia desaparece, EBS sobrevive. Si luego necesita dos (o más) instancias idénticas, puede otorgar a cada una de ellas acceso a lo que guarda en EBS. Ver https://stackoverflow.com/a/3630707/141172
  3. Grabar un nuevo AMI después de cada cambio. Hay una herramienta para crear una nueva AMI a partir de una instancia en ejecución. Si EBS es como tener un disco duro externo, crear un nuevo AMI es como tener un DVD-R. Puede guardar el estado actual de su máquina. La próxima vez que deba iniciar una nueva instancia, céntrela en esa nueva AMI. Bueno para ir.
1

Con respecto a las preocupaciones sobre la lista negra de los servidores de correo, también se puede utilizar simple servicio de correo electrónico de Amazon (SES), que obvia la necesidad de ejecutar el servidor de correo en las instancias de EC2.