DEV Community

Juan A. S.
Juan A. S.

Posted on • Originally published at blog.okelet.com

Obtener la fecha de creación de las instancias de AWS EC2

AWS, al listar las instancias de EC2, no devuelve ninguna propiedad que diga cuándo se creó una instancias; esto puede sernos útil en determinadas ocasiones. Podríamos pensar que nos podría valer la propiedad “LaunchTime”, pero eso en realidad nos indica cuándo se encendió por última vez la instancia, no cuándo se creó.

Aunque directamente este dato no lo proporciona directamente AWS, podemos deducirlo indirectamente a través de otros parámetros:

  • La fecha más antigua de vinculación de las tarjetas de red
  • La fecha más antigua de vinculación de los discos

Esto debe ser válido, ya que por ejemplo, la tarjeta de red principal no se puede desvincular de la instancia (You cannot detach a primary network interface from an instance), y su fecha de vinculación permanece siempre igual, aún entre reinicios. También suele ser válido que normalmente, el disco principal de una instancia no suele cambiar, aunque esto no siempre es cierto.

Con estos datos, podemos lanzar una consulta de la CLI de AWS y mediante el parámetro query (que es una expresión JMESPath), obtener dichos valores:

aws ec2 describe-instances --output table --query 'sort_by(Reservations[].Instances[?State.Name!=`terminated`][].{Name: Tags[?Key==`Name`].Value | [0], InstanceId: InstanceId, CreationTime: min([min(NetworkInterfaces[].Attachment.AttachTime), min(BlockDeviceMappings[].Ebs.AttachTime)]), State: State.Name, InstanceType: InstanceType, PublicIpAddress: PublicIpAddress, PrivateIpAddress: PrivateIpAddress}, &CreationTime)'
Enter fullscreen mode Exit fullscreen mode

Obtendremos una salida similar a la siguiente:

----------------------------------------------------------------------------------------------------------------------------------------------------------
|                                                                    DescribeInstances                                                                   |
+--------------------------+----------------------+---------------+----------------------------------+-------------------+-------------------+-----------+
|       CreationTime       |     InstanceId       | InstanceType  |              Name                | PrivateIpAddress  |  PublicIpAddress  |   State   |
+--------------------------+----------------------+---------------+----------------------------------+-------------------+-------------------+-----------+
|  2019-05-16T10:33:52.000Z|  i-xxxxxxxxxxxxxxxxx |  t3a.2xlarge  |  yyyyyyyyyyyyy                   |  10.25.z.z        |  None             |  running  |
|  2019-06-03T15:16:31.000Z|  i-xxxxxxxxxxxxxxxxx |  c5.xlarge    |  yyyyyyyyyyyyy                   |  10.25.z.z        |  None             |  running  |
|  2019-07-18T12:05:46.000Z|  i-xxxxxxxxxxxxxxxxx |  t2.small     |  yyyyyyyyyyyy                    |  10.25.z.z        |  1.2.3.4          |  running  |
|  2020-01-13T11:08:03.000Z|  i-xxxxxxxxxxxxxxxxx |  t2.micro     |  yyyyyyyyyyyy                    |  10.25.z.z        |  None             |  running  |
|  2020-02-11T15:43:12.000Z|  i-xxxxxxxxxxxxxxxxx |  c5.large     |  yyyy                            |  10.25.z.z        |  None             |  running  |
|  2020-02-11T16:46:14.000Z|  i-xxxxxxxxxxxxxxxxx |  c5.large     |  yyyyyyyyy                       |  10.25.z.z        |  None             |  running  |
|  2020-02-12T08:33:28.000Z|  i-xxxxxxxxxxxxxxxxx |  t2.micro     |  yyyyyyyyyyyyy                   |  10.25.z.z        |  None             |  running  |
|  2020-02-12T14:01:33.000Z|  i-xxxxxxxxxxxxxxxxx |  c5.large     |  yyyyyyyyyy                      |  10.25.z.z        |  None             |  running  |
|  2020-02-13T05:30:34.000Z|  i-xxxxxxxxxxxxxxxxx |  t3.medium    |  yyyyyyyyyyyyyyyy                |  10.25.z.z        |  None             |  running  |
|  2020-02-13T05:30:34.000Z|  i-xxxxxxxxxxxxxxxxx |  t3.medium    |  yyyyyyyyyyyyyy                  |  10.25.z.z        |  None             |  running  |
|  2020-02-13T05:30:56.000Z|  i-xxxxxxxxxxxxxxxxx |  t3.medium    |  yyyyyyyyyyyyyy                  |  10.25.z.z        |  None             |  running  |
|  2020-02-13T05:30:56.000Z|  i-xxxxxxxxxxxxxxxxx |  t3.medium    |  yyyyyyyyy                       |  10.25.z.z        |  None             |  running  |
+--------------------------+----------------------+---------------+----------------------------------+-------------------+-------------------+-----------+
Enter fullscreen mode Exit fullscreen mode

Top comments (0)