AWSビリングのネタ、第5回。RI(リザーブドインスタンス)のあるある話編

8095

モビンギの幸道です。前回に引き続きAWSビリンクのネタ第5回です。

前回の内容で請求データCSVからタグやリザーブドインスタンスの基本的なことは理解できたと思います。今回は、RI(リザーブドインスタンス)を利用した時に疑問になる適用対象について、お送りしたいと思います。

 

定番の妄想シーン

上司  ー> 部下 (サーバー管理兼任)

上司)うちでもRI(リザーブドインスタンス)を購入して利用料の削減を図れないか相談が増えてるんだけど、利用してるインスタンスに合わせて個々に買ってもらえばいいのか?

部下)うーん、そうですね。RI(リザーブドインスタンス)を購入する場合、気を付けてもらいたいことが幾つかありますね。

一括請求でまとめてる場合、各アカウント間で共有されてブレンドレートとして算出する(※図1、2参照)ので、購入したRI(リザーブドインスタンス)の削減効果を測るのは難しくなります。

共有から除外する設定を使った運用方法もありますが、除外したアカウント毎にRI(リザーブドインスタンス)の適用が独立してしまうので、複数のアカウントで分割したい場合、payerとして一括請求を分割した運用が必要になります。

上司)ふーーん、なんか良い運用方法はないの?

うちの場合だと事業部毎で計上するから他と共有されちゃっても困るんだよね。

部下)RI(リザーブドインスタンス)の購入データとビリングレポートのcsvからブレンドレートを解除した上で再計算する事で、RI(リザーブドインスタンス)を任意の複数アカウントの範囲で適用(※図3参照)することもできますが、かなり手間のかかる作業になりますね。

通常一括請求であれば 図1のような状態で適用した各サービスの利用レートが算出されることになります。

AWSのRI適用イメージ(図1)

 

個別に管理したいケース

AWSにお任せのイメージ(図2)

個別に適用を管理したいケース(図3)

 

ブレンドレートの算出

ブレンドレートは購入したRI(リザーブドインスタンス)に合致するインスタンス利用がされている場合に下記のような計算で算出されることになります。

「(オンデマンドの利用時間*オンデマンドの時間単価) / (購入したRI(リザーブドインスタンス)の適用対象時間+オンデマンドの利用時間)」

 

ブレンドレート解除と再計算

解除と書いてはありますが、図2の状態である請求データから下記に書いてある資料を元に、RI(リザーブドインスタンス)が適用されているレコードを抽出して再計算することになります。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/regular-reserved-instances.html

ビリングレポートの請求データCSVからRI(リザーブドインスタンス)が適用されているレコードを抽出します。

「lineItem/LineItemType」からDiscountedUsageが適用されているレコードを元にRI適用部分を解除したデータを生成します。

RI(リザーブドインスタンス)の購入データを元に適用可能なRI対象時間をインスタンスタイプ別に算出します。

解除した状態の請求レコードを生成したあと、課金ルールに合わせてRI(リザーブドインスタンス)を再適用する形で計算し直すことになります。

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/concepts-reserved-instances-application.html

AWSによる算出(※図1、2参照)では、「インスタンスサイズの柔軟性」という趣旨で優先ルールに沿って適用したあと、正規化係数による適用ルールに合わせて小さいサイズ利用分から順に適用されます。

https://aws.amazon.com/jp/ec2/faqs/#reserved-instances

この計算があるため、購入したRI(リザーブドインスタンス)が想定しているインスタンス以外にも適用されてしまうケースが稀に発生します。

https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/con-bill-blended-rates.html

 

うーん、ややこしい。

 

RI(リザーブドインスタンス)の再計算まとめ

  • RI(リザーブドインスタンス)購入と適用対象を関連づけて管理する場合、複雑な事務作業が発生する。
  • RI(リザーブドインスタンス)の再計算はAWSの課金ルールに依存するため、それなりの労力を要する。
  • RI(リザーブドインスタンス)の適用を特定のリソースに割当てるには更に大変である。
  • 可能であればAWSにお任せが良い。

 

RI(リザーブドインスタンス)の管理をAWSによる計算から解除しようとすると、いろいろと手間がかかかるようですね。

次回の番外編(未定)では、計算対象の抽出方法について、もう少し詳しく触れたいと思います。

それでは、また〜

 

5回目

11 RIの闇にせまる

番外編

12 なんか良いツールないか探す

MobingiWave
AWS コスト計算・分析ツール MobingiWave