[UPDATE] AMIに最終起動日時のタイムスタンプ「lastLaunchedTime」プロパティが追加されました!

AMIに最後にEC2インスタンスが起動されたタイムスタンプ情報のプロパティ「lastLaunchedTime」が追加され、使用状況の把握がしやすくなりました。AMI所有者のみが確認できる点、また反映まで24時間かかる点に注意しましょう。
2022.03.10

はじめに

清水です。本日お届けするアップデートはこちら!Amazon Machine Image (AMI)で最終起動日時をしめすタイムスタンプ情報「lastLaunchedTime」プロパティが利用可能になりました!(2022年3月9日付けでポストされたアップデート情報になります。)

AMIを非推奨としたり、登録解除する場合などに参考にできる情報になるかと思います。本エントリでは実際にlastLaunchedTimeプロパティを確認してみたのでまとめてみます。

AMIの最終起動日時lastLaunchedTimeを確認してみた

さっそくAMIのlastLaunchedTimeプロパティを確認してみましょう。マネジメントコンソールからAMIの詳細画面を開きます。以下は私の検証環境で放置してしまっていたAMIなのですが、最終起動日時は2019年1月15日であることがわかります。

AMI名称から、当時Auto Scaling Groupの動作検証をしていたものかなと推測できますが、最終起動日時が確認できることでより「使っていないのではないか?」ということが強くわかります。実際に登録解除、そしてEBSスナップショットの削除などができるかはバックアップとして利用していないか、など他の視点での確認にもなりますが、利用状況の把握はしやすくなりました。

最終起動日時の反映までには24時間の遅延あり

AMIからのインスタンス起動後の反映も確認してみようと、新たにAMIを作成しました。AMI作成直後は「Last launched time」の値が「-」になっています。いちどもインスタンスが起動されていない状況ではマネジメントコンソール上では「-」と表示されるようです。

このAMIからEC2インスタンスを起動してみました。インスタンス起動後、「Last launched time」がすぐに更新されるかな、と確認してみますが更新されません。ドキュメントを参照したところ、24時間の遅延があるとのことでした。

When the AMI is used, there is a 24-hour delay before that usage is reported.

Deprecate an AMI - Amazon Elastic Compute Cloud

2022/03/10 20:00追記

ブログエントリを公開したあとの2022/03/10 16:00過ぎに確認してみところ「Last launched time」が更新されていました。(頻繁に更新を確認していたわけではないので、もっと早く更新されていた可能性もあります。)きっちり24時間後に更新されるわけではなく、最大で24時間後に反映というかたちになるのかなと思います。とはいえ、実際にはいつEC2インスタンスを起動したかがわからない状態で「Last launched time」を確認することになるかと思いますので、24時間の遅延がある点をしっかり頭に入れておきましょう。

自己所有のAMIのみ最終起動日時を参照できる

このAMIのLast launched timeですが自己所有のAMIのみ、プロパティが参照可能なようです。例えば以下のように、パブリックイメージではマネジメントコンソールからLast launched timeの項目が確認できませんでした。

また先ほどAMIからのインスタンス起動後の反映も確認してみようと作成してみたAMIを別AWSアカウントに共有してみました。こちらも共有先のAWSアカウント(プライベートイメージで表示されています)ではLast launched timeの項目が表示されていないことがわかります。

まとめ

Amazon Machine Image (AMI)のアップデート、最終起動日時をしめすタイムスタンプ「lastLaunchedTime」について確認してみました。AMIについてはイメージからEC2インスタンスを直接起動する場合のほか、Auto Scaling Groupの起動設定やスポットインスタンス、またElastic Beanstalk、OpsWorks、AWS Batch、EMRなど他AWSサービスから参照されることもあり、適切に管理していないと登録解除してよいかどうかの判断が難しい場合があるかと思います。長期に渡って起動していないAMIであれば登録解除してしまってよい、とは必ずしも言い切れませんが、今回のアップデートで使用状況が把握しやすくなったかと思います。