¿Adjuntar automáticamente el volumen EBS a una nueva instancia puntual?

14

Estoy experimentando con instancias puntuales de EC2 y necesito que se retengan algunos datos entre terminaciones. Ahora, según tengo entendido, cuando el precio actual supera mi máximo. oferta, se terminará automáticamente. Supongo que todos los scripts de inicio que tengo se ejecutarán en el apagado para poder enviar los datos al EBS antes de desmontarlos.

Mi pregunta es, ¿cómo puedo montar automáticamente el mismo volumen de EBS en la nueva instancia de spot una vez que el precio baja, ya que no tendrá ninguno de mis scripts de inicio que habría cargado en el volumen raíz la primera vez?

¿Tengo que crear un AMI personalizado o hay alguna otra forma de lograrlo?

Jeff
fuente

Respuestas:

11

Si simplemente desea que la instancia comience con un punto de inicio fijo cada vez que se ejecuta, entonces podría:

  1. Cree su propio AMI y ejecútelo como la instancia cada vez, o

  2. Especifique un script de datos de usuario que instale y configure el software según sus especificaciones cada vez que se inicie una nueva instancia desde una AMI base estándar.

Si necesita mantener el estado entre las ejecuciones de la instancia, deberá guardar los datos en algún lugar fuera de la instancia / AMI. Por ejemplo:

  1. Los datos podrían mantenerse actualizados en S3, SimpleDB, DynamoDB, RDS, etc.

  2. Puede designar un volumen EBS permanente que la instancia adjunte y monte dinámicamente al inicio. Esto podría hacerse con un script de datos de usuario.

Eric Hammond
fuente
Especificar un script de datos de usuario que instala suena interesante; ¿Cómo podría hacerse esto cuando una solicitud puntual inicia una nueva instancia automáticamente? Ya tengo un volumen de EBS permanente que almacena datos, y probablemente continuaré usándolo
Jeff
1
Cuando crea la solicitud de spot, especifica los datos de usuario que deben pasarse a cada nueva instancia de spot.
Eric Hammond el
Ah, no me di cuenta con cloud-init poniendo #! primero en datos de usuario ejecutó un script. Gracias
Jeff
3
@Jeff: Sí, lo inventé y las AMI populares lo han adoptado :-) alestic.com/2009/06/ec2-user-data-scripts
Eric Hammond
En esta línea, ¿es posible que una instancia puntual monte un volumen EBS particular como su disco raíz cuando se inicia?
Derek Morrison
5

Echa un vistazo al proyecto ec2-spotter en GitHub. Fue creado para resolver el problema que usted describe.

Los problemas (# 1 a # 4) descritos en la respuesta de @ mcenzm son reales y se manejan correctamente en ec2-spotter.

Alex R
fuente
¡No sé quién votó en contra de esto, pero significa que puedo dejar de perder el tiempo tratando de codificarlo! Quiéralo.
Jeremy
3

He intentado esto durante un tiempo, y todavía hay una serie de problemas con las instancias especiales de EC2 y el almacenamiento adjunto.

  1. ¿El volumen que desea adjuntar puede no estar en la misma zona que la instancia? Las zonas no se pueden especificar en el lanzamiento.
  2. La conexión interna con el script de inicio funcionará, pero es un poco asíncrono, por lo que deberá probarlo o sleep 10decirlo.
  3. No puedo entender por qué la consola de AWS muestra una "partición" como el dispositivo de bloque primario. ¿Quizás negarnos imágenes piratas de Windows en otra partición? (sda1 en lugar de sda). Buena suerte encontrando la mesa de partición.

    ingrese la descripción de la imagen aquí

  4. Actualmente difícil de adjuntar usando CLI desde un punto de control externo, lo que dificulta el uso de instantáneas para el control de versiones.

  5. Entonces, en general, hago una copia de seguridad ... tar.bz2 en otro cuadro, y luego puedo llenar el "área de trabajo" al inicio. Esto solo es útil para pequeños volúmenes de datos, por lo que es una buena idea basar una nueva ami con ambos volúmenes. Las instancias puntuales son realmente buenas para el trabajo de "unidad de trabajo" o "reiniciable" de todos modos, por lo que el concepto de buscar trabajo desde un servidor está bien establecido. Dado que espera 9 minutos en extremo para un lanzamiento, puede que no le importe formatear su disco (lo más pequeño posible).

    1. EBS sigue siendo bastante escamoso y debe pagar extra por "optimizado". Todavía es más rápido que intentar cargar su trabajo completado en los años 90 más o menos cuando la instancia tiene un "precio".

    2. Sospecho que todo esto cambiará con cualquier oferta de "archivo elástico".

mckenzm
fuente
1
1. Usted especifica la subred que está vinculada a una zona AZ. 2. Esperar hasta que aparezca / dev / xvdx es fácil. 3. ¿Cómo es esto relevante?
Morgan Christiansson