検証用の Azure SQL Managed Instance ですが、使用していないときは、インスタンスの停止と開始 の機能を使用して、停止状態にしています。
しかし、停止しているインスタンスについて、次の画像のように特定の日 (7/22) だけ多くのコストが発生するという状況が発生していました。 ![]()
どのような要因により、このようなコストが発生するかを調査した内容をまとめておきたいと思います。
インスタンスの停止の仕様
コストを抑えるために、インスタンスの停止の機能を使用していますが、停止に関する機能の仕様は次のドキュメント (or ドキュメントツリー) から確認をすることになります。
上述のコストの発生状況については、一時的なコストと、一定のコストの 2 種類のコストが発生しています。
停止中のインスタンスのコストについては、次のように解説がされています。
停止したインスタンスは仮想コアと SQL ライセンスに対して課金されません。データとバックアップ ストレージに対してのみ課金されます。 ただし、仮想コアとライセンスの課金は、"開始された" 時間ごとにかかります。 たとえば、12:01 の場合、1 時間以内にインスタンスを停止したとしても、1 時間分の課金が発生します。
停止中のインスタンスではコンピューティング部分のコストは停止し、ストレージのコストが発生します。
停止中で発生している一定のコストについてはストレージのコストに起因し、7/22 にコストが発生したものについては何らかの要因により、コンピューティングのコストが発生した可能性があります。
アクティビティログの確認
このインスタンスは必要時以外停止しているものとなります。7/22 も停止していたはずなのですが念のためアクティビティログから起動していないかを確認しておきます。
Managed Instance は起動すると、次の画像のように、アクティビティログに操作が記録され、誰がインスタンスを起動したのかを確認することができます。
該当の日のアクティビティログを確認したところ、ログは操作は記録されていませんでした。
この情報からユーザー操作によりインスタンスが起動されていないということが分かります。
本来は、この後に診断設定の DevOpsOperationsAudit を確認する流れになるのですが、今回の環境では取得を行っていませんでした…。
システムメンテナンスによる起動とコストの発生
インスタンスの停止と開始 – Azure SQL Managed Instance には次の記述があります。
SQL Managed Instance は、サービスとしてのプラットフォーム (PaaS) サービスとしてシステム コンポーネントのすべての部分のコンプライアンスを担っています。 インスタンスをオンラインにする必要があるシステム メンテナンスが緊急に必要な場合、Azure で開始操作を開始し、メンテナンス操作が完了するまでインスタンスをオンラインに維持できます。完了した時点で Azure によってインスタンスが停止されます。 コンピューティングとライセンスの料金は、インスタンスがオンライン状態にある間ずっと適用されます。
システムメンテナンスには、インスタンスをオンラインにする必要がある場合と、オンラインにしなくてもよい場合の 2 種類のメンテナンスがあります。
今回はインスタンスをオンラインにする必要があるメンテナンスとなったようで、これにより起動していたタイミングのコストが発生したようです。
7/22 については、計画メンテナンスの通知を受けていませんでした。
メンテナンス通知は、次の仕様となっているようですので、停止中のインスタンスについての通知の確実性はないのかもしれませんね。
- 停止状態のインスタンスに対してメンテナンス通知は発生しません。 この結果、次のようになります。
- 不完全な一連の通知 (たとえば、高度な通知が送信されず、進行中の通知が送信されます)。
- 通知コンテンツの影響を受けたリソースの一覧での SQL Managed Instance の欠如。
このインスタンスでは今までも計画メンテナンスは実行されていましたが、これらのタイミングでのメンテナンスではコストは発生していませんでした。
SR で確認をしたところ、7/22 のメンテナンスでは、「世代の汎用マネージド インスタンスの一般提供(GA)に向けた準備の一環としてのメンテナンス」が発生したようで、これはインスタンスをオンラインにする必要があったためコストが発生したとのことでした。
ユーザーで起動した記憶はなかったため、システムメンテナンスで起動したのだろうとは思っていたのですが、今までコストが発生していなかった気がしていましたので、今回、何故発生したのかを調べて、参照すべき情報が分かったのは良かったです。