¿Cómo saber cuándo se cerró una instancia de EC2?

8

Tengo cientos de instancias en la consola web EC2.

Algunos están cerrados. Puedo ver que fueron creados hace muchos meses o años. Parecen abandonados y olvidados por un tiempo, pero es difícil saber si terminarlos es seguro.

Por ejemplo, podrían ser copias de seguridad antiguas, alguien podría haber migrado una carga a nuevas instancias y conservar las antiguas durante algunas semanas como medida de precaución, etc.

Terminamos manteniendo la mayoría de ellos, ya que es la opción más segura.

Todavía estamos pagando por los volúmenes de EBS cuando la instancia se cierra (pero no finaliza). El precio puede aumentar con el tiempo con muchas instancias no utilizadas (EBS es de $ 140 por mes por TB). Entonces me gustaría hacer una limpieza.

Estoy pensando que si pudiera encontrar el momento en que se cerró la instancia, sería un buen indicador de cuán "abandonado" está.

¿Cómo puedo encontrar cuándo se cerró una instancia por última vez?

usuario5994461
fuente
haga AMI de las instancias antes de terminarlas ... las instantáneas serán más baratas.
Skaperen

Respuestas:

6

Usando el awscli. pip install awscli

aws ec2 describe-instances --output table --instance-id i-aef88019

Salida:

|||  StateTransitionReason |  User initiated (2015-11-16 13:36:40 GMT)   |||
[...]
||||                             StateReason                            ||||
|||+---------+----------------------------------------------------------+|||
||||  Code   |  Client.UserInitiatedShutdown                            ||||
||||  Message|  Client.UserInitiatedShutdown: User initiated shutdown   ||||

Podemos ver qué pasó con la instancia y a qué hora.

Por ejemplo, este se cerró manualmente a 2015-11-16 13:36:40 GMT.

usuario5994461
fuente
Esto no siempre incluye una razón y / o tiempo. Los documentos dicen "Esto podría ser una cadena vacía". docs.aws.amazon.com/AWSEC2/latest/APIReference/…
Matt Houser el
2
Funciona si la instancia se apagó en la consola web EC2. No funciona si la instancia fue shutdown -h nowdesde adentro. Es todo lo que podemos obtener hasta que Amazon agregue oficialmente una metainformación "Último apagado" a las instancias.
user5994461
1

Como mencionó que esas máquinas se crearon hace muchos años, creo que debería verificar si están utilizando el antiguo tipo de almacén de instancias de llamadas de almacenamiento .

En mi experiencia, si necesita apagar esas máquinas EC2 con almacenamiento de instancias, la única opción es terminarlo, pero causaría la pérdida de datos.

Entonces, mi sugerencia es agregar un nuevo EBS para hacer una copia de seguridad de todos los datos y crear un nuevo EC2 con la última configuración o simplemente hacer una copia de seguridad de los datos de forma remota. Luego finalice las antiguas instancias de EC2 que deberían eliminar su costo de almacenamiento.

Simon MC. Cheng
fuente
0

Si su objetivo es ahorrar dinero, puede crear una instantánea de EBS de los discos y luego eliminar los volúmenes.

Las instantáneas de EBS se cobran a un precio más bajo que los volúmenes reales.

Por ejemplo, en Estados Unidos-Este:

  • Las instantáneas son 9.5c / GB
  • Los volúmenes SSD EBS de uso general se cobran a 10c / GB de almacenamiento aprovisionado
  • Los volúmenes EBS magnéticos más antiguos se cargan a 5c / GB de almacenamiento aprovisionado

Sin embargo, las instantáneas de EBS solo requieren espacio de almacenamiento para los bloques usados . Si los volúmenes de EBS tienen espacio no utilizado (por ejemplo, solo se usan 10 GB de 30 GB), las instantáneas de EBS serán más baratas.

Si los volúmenes de EBS están en su mayoría llenos, puede capturarlos y luego volverlos a crear como volúmenes EBS de Cold HDD , que se cobran a 2.5c / GB de almacenamiento aprovisionado .

John Rotenstein
fuente