たくさん買った RI の残年数を一気に確認する方法

今回は、償却処理の都合などから AWS アカウントで複数所有している RI の有効期間の残年数をまとめて確認したい。というシーンにご活用いただける方法をご紹介します。
2019.04.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。池田です。 昨日、一昨日の投稿に続いて本日もリザーブドインスタンス(RI)の話題です。ひとつの AWS アカウントで複数のプロジェクトのためにそれぞれインスタンスを起動して、安定したところで RI を購入するというのはよくあるケースかと思います。ところが、複数のプロジェクトはそれぞれ個別のチームで運営していて RI の購入計画なども各チームで決めている場合、どのタイミングでどんなインスタンスの RI をどちらの期間(1年か3年)でいくつ買うのかが分かれることも多々あると思います。ですが、会社としてはプロジェクト単位ではなく AWS アカウント単位で資産や経費の管理をする必要があるかもしれません。 今回は、償却処理の都合などから AWS アカウントで複数所有している RI の有効期間の残年数をまとめて確認したい。というシーンにご活用いただける方法をご紹介します。

手順は以下となります。

1: 一覧を取得したい AWS アカウントのマネジメントコンソールから CostExplorer を起動する 2: 左側メニューから「Reservation sumally」を選択する 3: 各サービスごとにグラフやリストが表示されるので、取得したいサービスの表右上にある「Download CSV」をクリックする 4: 表示される選択肢から「Table data」を選択して任意の場所へ保存する 5: csv データを表示できる表計算ソフト等で開く(本記事では Excel を利用します) 6: A 列左に列を挿入、K 列右に列を挿入、続いて M 列右に列を挿入する 7: 新たな列の1行目に任意の見出しをつける(今回は A 列に「Year」、L 列に「Start Date 2」、N 列を「End Date 2」としています) 8: REPLACE 関数を利用して、K 列の Start Date を YYYY/MM/DD 表記にしたものを L 列に表示させる(M 列の End Date も同様に N 列に表示させる) 9: DATEDIF 関数を利用して、A 列 に「N 列の年月日」と「L 列の年月日」の差(年数)を表示させる これで全ての RI の残年数が A 列に表示されるようになりますので、あとはお好み/用途に応じてお好きなようにお使いください。たとえば、A 列で「残年数が2年のもの」のみ、S 列で「Linux/UNIX」のみ、U 列で「No Upfront」のみというフィルターをするなど。

エンジニアの方々にはあまり必要がないことだとは思いますが、経理部門の方々にとっては重要な情報でありながらも確認する手段がわからないものだとも思います。もしも、みなさんが社内の経理部門や非エンジニア職の方々にこのような情報の提供を依頼されたときに思い出していただけると嬉しいです。