AWS Reserved Instanceの料金を期間や支払いオプションごとに一覧表示するコマンドを作った
RDSやElastiCacheのリザーブドインスタンスを買う時、インスタンスサイズや期間、また支払いオプションなどをそれぞれ指定し、前払い金額や残額の月ごとの金額を確認したいことがある。しかし、コンソールなどからオプションを変更して確認し、ドキュメントに転記するのは少し手間がかかる。頻度は高くはないだろうが、数年後とに発生するオペレーションではあるので料金を確認する手間を省くためのコマンドとして awsri を作った。
実行すると以下のように期間と支払いオプションごとに前払いと残額の月払い金額を確認できる。
% awsri --service=rds --db-instance-class=db.t4g.large --product-description=mysql --multi-az=true
| Duration (Year) | Offering Type | One Time Payment (USD) | Usage Charges (USD, Monthly) |
|-----------------|-----------------|------------------------|------------------------------|
| 1 | No Upfront | 0 | 134 |
| 1 | Partial Upfront | 781 | 64 |
| 1 | All Upfront | 1517 | 0 |
| 3 | No Upfront | N/A | N/A |
| 3 | Partial Upfront | 1630 | 45 |
| 3 | All Upfront | 3192 | 0 |
最初はRubyで書いて雑多なスクリプトの置き場所に置いていたのだけど、汎用性があるかなと思ったのでGoで書き直してサッと使えるようにした。AWSを使っていて定期的にRIを購入する人は使ってみてください。