御成門プログラマーの技術日記

Microsoft AzureやAngularなどの技術情報を発信します

Azure Resevationsで条件を満たしているのに使用率が100%にならない現象に遭遇した【Reserved Instance・予約割引】

Azureの予約割引(Azure Resevations・Reserved Instance)で条件をみたしているはずなのに使用率が100%にならない現象が確認できたのでトラブルシューティングや解決方法を紹介します。

AzureのResevations の購入方法について

AzureのResevations の購入方法については以前、本ブログで紹介した記事をご覧ください。
onarimon.jp

予約使用率が100%でない日が発生した

以前、購入した予約を導入して数週間、毎日予約の使用率100%を維持していたのですが、ある日突然使用率が100%になっていない日を発見(6/11)
(画像一番右の最新日に関しては、情報の更新が遅れているだけなので問題ありません。)

購入した予約はApp Service Plan に適用しており、対象リソースは24時間インスタンス1以上で動かしていたので使用率100%を下回ることのは想定外であったため、調査を開始しました。

予約使用率が0%になる・使用率が一致しない場合のトラブルシューティングを確認

まずはMicrosoft 公式ドキュメントから「 Azure 予約の使用率がゼロ (0) と表示されたり、使用率が一致しない件」のトラブルシューティングが公開されていたため、そちらを参照しました。
Azure 予約使用率のトラブルシューティング | Microsoft Docs
↑のページに書かれている一般的なトラブルのシナリオはまとめると下記のようなパターンがあるようです。

  • 使用率の値が一致しない場合は使用状況データの到着が遅れている可能性があり、最低でも2日以上待つ必要がある
  • 予約適用中のリソースを停止して、別のリソースの実行を開始した場合は購入した予約には適用されない可能性があるので予約を交換する必要がある
  • リソースを移行したため、予約対象スコープからはずれた
  • 予約適用中リソースを停止したため適用が停止された
  • 予約のスコープを変更したため、リソースがスコープからはずれた
  • 約の対象となったサブスクリプションが削除された

今回のパターンではリソースや予約のスコープは一切変更しておらず、公式のトラブルシューティングのシナリオには当てはまっていませんでした。この時点で原因がわからなかったため、 Microsoft Azure 課金サポートに問い合わせてみることにしました。

Azure Resevationsについてサポートの方に問い合わせるときに必要な情報について

今回の現象についてサポートに問い合わせた際に下記のような情報が含まれたスクショが必要となりました。問い合わせの最初からこちらの情報を提供するとスムーズにサポートが進みそうです。

  • 英語表記で、アドレスバーおよびアカウント情報、選択しているディレクトリの確認が可能な全画面
    小さくて見にくいですが、具体的には下記のような画像を添付して送るとよさそうです。該当の予約の概要から確認できる画面です。

原因はAzure側で予約が適用されなくなる事象が発生したことによるものだった

サポートの方に調べていただき今回の現象はAzure 側で発生している事象であることがわかりました該当の事象が発生している間の従量課金についてはすでに返金プログラムが進んでいるとのことで今回の現象については解決しました。

Azure側の要因で予約の適用がうまく行われない事象についての補足

一応、今回の現象についてサポートの方に追加で質問を何点か行ったため、参考までに追記しておきます。

Q. 今回のような現象はたまに発生するのか

今後も発生する可能性はあるとのことです。利用者としてはその事象を補則する機能などあると嬉しいですがいまのところはないようなので使用率を監視するなにかを実装する必要があるかなと考えています。

Q. 今回の現象は自分の環境でのみ発生したのか?Azure全体で発生したものか?

Azure 全体で発生していたようです。

Q. 今回のような現象が発生した場合、本来自動で返金されるか?

今回のように大規模な事象の場合は自動で返金されるみたいです。ただし、発生する事象の規模によっては問い合わせによって発覚するケースもあるみたいなので前述したとおりなにかしらの使用率を監視する仕組みは欲しいところです。

Q. 今回のような事象が発生したことを通知などで受け取る。もしくはAzure Portal上で確認できるか?

今回のような事象を通知する仕組みはないみたいです。何かあった場合は問い合わせする必要があるとのこと。

Q. 今回のような事象で使用率が100%でなくなったが、返金処理後に使用率は修正されるか?

返金実施後も予約の適用率は100%にならないみたいです。

参考リンク

Azure 予約使用率のトラブルシューティング | Microsoft Docs