[アップデート] Amazon EC2 の AMI で使用状況レポートと参照リソースの確認機能が追加されました
いわさです。
Amazon EC2 では AMI を作成し、そこから EC2 を起動することができます。
これまで特定の AMI がどのリソースやアカウントで使われているのか確認するためには、リソース全体をチェックして AMI 参照情報を確認するようなスクリプトを用意する必要があったのですが、先日のアップデートで AMI の使用状況を確認できる2つの機能が追加されました。
AMI コンソールでアクションメニューを確認すると「AMI usage」というメニューが追加されており、その中に「Create my AMI usage report」と「View referenced resource」があります。
それぞれ使ってみたので紹介します。
AMI 使用状況レポートの生成
「Create my AMI usage report」からは AMI の使用状況がわかるレポートを生成することができます。
レポートといっても PDF とか生成されるわけではなくて情報を収集してマネジメントコンソールや API を使って情報を参照できる感じです。
AMI を選択して「Create my AMI usage report」を選択すると、レポート作成に必要な情報を入力する画面へ遷移します。
複数の AMI を選択してまとめて実行することができます。
ここで指定が必要なのは2つで、ひとつがリソースタイプです。
本日時点でリソースタイプがサポートしているのは「インスタンス」と「起動テンプレート」です。
もうひとつ指定するのがアカウントです。すべてのアカウントを指定もできますが、個別に AWS アカウント ID を入力することもできます。
あとはレポート作成ボタンを押すだけです。
今回は事前に AMI を組織外にクロスアカウントで共有し、そこから AMI を保有するアカウントとは別の AWS アカウント上で EC2 を起動しておきました。
レポートの確認方法ですが、それぞれの AMI の詳細画面のタブから確認ができます。
今回のアップデートで「My AMI usage」というタブが追加されていると思います。ここでレポートの生成状況を確認できます。
ステータスが「完了」になっていれば、レポート ID あるいは詳細列の「View report」からレポートを確認することができます。
View report を押してみると次のようにレポートに情報が表示されました。
すごく良いなぁと思っているのが、クロスアカウントで全部チェックしてくれる点ですね。
上記レポートでは組織内のアカウントも組織外のアカウントも全て抽出されていました。確認できるのはリソースタイプと使用量の件数だけですが、使われているかどうかが確認できるので十分役に立ちますね。
一点注意点がありまして、このレポートには直近 24 時間のアクティビティ(EC2起動など)が含まれていない場合がありますのでそこだけ注意しましょう。
View your AMI usage - Amazon Elastic Compute Cloud
たしかに AMI を使用した直後は確かにしばらくレポート内に情報が出力されていませんでした。
AMI 参照リソースのチェック
「View referenced resource」ではどのリソースが AMI を使っているのかより詳しい粒度で確認することができます。
ただし、こちらの機能は対象アカウント内でのみのチェックになります。
サポートされているリソースは EC2 インスタンスと起動テンプレートの他に、SSM パラメータや Image Builder が指定できます。先ほどは気が付きませんでしたが、SSM パラメータや Image Builder、なるほどという感じです。色々なところで AMI って参照されてますね。
AMI 参照チェックを実行するとスキャンがすぐに開始されます。
次のようにアカウント内で対象 AMI を使って起動したインスタンスが表示されました。
アカウント内の使用状況であれば、こちらの機能を使ったほうが詳細情報が取得できて良いですね。
さいごに
本日は Amazon EC2 の AMI で使用状況レポートと参照リソースの確認機能が追加されたので使ってみました。
AMI を削除する時など、「実は起動テンプレートで使っていて、ASG が動作しなくなりました」みたいなトラブルたまに聞きますよね。
今回の参照チェックで削除前に使用状況をチェックしたり、色々なところで使えそうです。