Metadatos de AWS: ¿verifique si la instancia EC2 es puntual?

Metadatos de AWS: ¿verifique si la instancia EC2 es puntual?

Hay unaMetadatos de AWSServicio que proporciona información sobre la instancia EC2 que emite una solicitud a http://169.254.169.254/. Me pregunto si hay alguna manera de saber a partir de esos metadatos si la instancia es "Spot" o "On Demand".

Respuesta1

La información no está disponible dentro de los metadatos.

Sin embargo, puede obtener el ID de la instancia de los metadatos y luego llamar a ec2-describe-instances para obtener información sobre su instancia. Dentro de esa descripción de instancia se encuentra el ID de solicitud de instancia puntual. Si está en blanco, entonces no es una instancia puntual; de lo contrario, es una instancia puntual.

Respuesta2

No creo que tengan esta información en los metadatos.

Puede asignar un perfil diferente para las instancias que lanza como instancias puntuales y usar el nombre del perfil para determinar qué tipo de instancia es. Si eso no parece una solución limpia o viable, siempre puede tomar el ID de instancia de los metadatos y luego ejecutar el comando ec2-describe-spot-instance-requests --filter instance-id=<instanceid>si el comando regresa vacío, entonces la instancia no es una instancia puntual, si el comando regresa con datos, entonces es una instancia puntual.

Respuesta3

Sé que esto es muy antiguo, pero si alguien quiere una sola línea:

aws ec2 describe-spot-instance-requests \
  --filters Name=instance-id,Values="$(wget -q -O - http://169.254.169.254/latest/meta-data/instance-id)" \
  --region us-east-1 | \
  jq -r '.SpotInstanceRequests | if length > 0 then "spot" else "normal" end'

Ajustar --regionen consecuencia

https://gist.github.com/urjitbhatia/c5af8a3d53661cb3d4e896feae23fc1d

Respuesta4

Parece que las cosas cambiaron con los años, así que ahora funciona.

# a spot instance
$ curl -s --fail http://169.254.169.254/latest/meta-data/instance-life-cycle
spot
# a normal instance
$ curl -s --fail http://169.254.169.254/latest/meta-data/instance-life-cycle
on-demand

información relacionada