SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

SQL Server 2022 の PAYG による従量課金の仕組みを把握する

leave a comment

SQL Server 2022 から従来からのライセンス買い切りによる購入形態だけでなく、PAYG による従量課金によるコアライセンスの活用ができるようになりました。

SQL Server 2022 で使用する場合には、エディション選択時に「Microsoft Azure を通じて従量課金制の課金を使用します」を選択することで、Azure のコストとして PAYG による SQL Server の利用ができるようになります。
image

このライセンスの利用形態では、Azure Arc 対応 SQL Server を使用して Azure に接続を行うことで従量課金によるコストが発生します。

コストの発生の条件については、Azure Arc 対応 SQL Server に関するよくあるご質問 に記載されています。

基本的な考え方としては次のようになるかと思います。

  • SQL Server のサービスが起動している時間に応じて課金が発生
  • 課金の粒度は 1 時間単位となっており、1 時間未満の起動でも 1 時間のコストが発生
  • コアライセンスでの利用となるため、最小コアライセンスは 4 コアライセンスとなり、以降は 2 コアパックでの増加
    • Pay-as-you-go  に書かれているのは 1 コアあたりの料金となり、1 コアで動かしていても 4 コア分のライセンスとなります

SQL Server 2022 ではコアライセンスに変更があり、次の情報に記載があります。

これらの情報には次の記載があります。

Beginning with SQL Server 2022, licensing by virtual machine is an option under subscription licenses or licenses with Software Assurance only.

製品条項を 2019 と比較するとわかりやすいのですが、2022 では個別の仮想マシンでコアライセンスを使用する場合の条件が変更されており、「サブスクリプションライセンスまたは、アクティブな SA 付きライセンスでのみ利用可能」が追加されています。

image

Enterprise Edition を使用して、ハイパーバイザーの物理コアのライセンスを取得し、それを使用して仮想マシンにライセンスを割り当てる形態は従来通りとなりますが、仮想マシンに直接ライセンスを割り当てる形態については、2019 までと比較して制限が追加されているようです。

これにより、PAYG によるサブスクリプションライセンスを検討しなくてはいけないケースが出てくるかもしれませんね。

PAYG による使用時間の報告の基本的な仕組み

ここからが本題となり、PAYG による使用時間の報告はどのように実施されているかについてです。

前述した Azure Arc 対応 SQL Server に関するよくあるご質問 には、次の記載があります。

  • SQL Server リソースと Azure の間の接続が一時的に中断されると、従量課金制の課金は停止されますか?
    • いいえ。インターネット接続が断続的に切れる場合でも、従量課金制の課金は停止されません。 接続が復旧した時点で、使用状況が報告され、課金ロジックによって考慮されます。
  • 仮想マシンが停止した場合は、課金されますか?
    • いいえ。 VM が停止すると、使用状況データは収集されません。 このため、VM が停止していた時間に対して課金されることはありません。
  • SQL Server インスタンスが停止した場合は、課金されますか?
    • いいえ。 使用状況データの収集には、アクティブな SQL Server インスタンスが必要です。 このため、SQL Server インスタンスが停止していた時間に対して課金されることはありません。
  • SQL Server インスタンスの実行時間が 1 時間未満の場合は、課金されますか?
    • 課金の粒度は 1 時間です。 インスタンスがアクティブだった時間が 1 時間未満の場合は、1 時間分の料金が請求されます。

課金対象となる時間は、SQL Server が起動している時間がベースとなり、サーバーが起動していても SQL Server のサービスが起動していない状態であれば、その時間は課金対象にはなりません。

課金状況については、Azure Arc 対応 SQL Server により使用状況が報告されており、Arc 対応 SQL Server をインストールすることで追加される「Microsoft Sql Server Extension Service」というサービスが起点となっているようです。

このサービスが定期的 (1 時間ごと / サービスの起動タイミング) で、SQL Server のサービスの起動状況を確認し、使用状況の情報を作成し Azure にアップロードするという流れとなっているようです。

使用状況が報告されたかについてはイベントログの「アプリケーション」の次のイベントソースから確認することができます。

  • Azure update service
  • Azure Upload Http Client Factory

アップロードが行われたタイミングで、イベントログには次のようなログが出力されます。

image

このログを確認することでアップロードされているかを確認することができます。

アップロードは Azure に対して実行するため、インターネット接続が必要となり、アップロードをするタイミングでインターネット接続がない場合は、次回の報告タイミングで使用状況がまとめてアップロードされます。

この使用状況ですが「C:\Windows\System32\extensionUpload」に情報が蓄積されているようです。

image

正常に報告された使用状況は Archive に格納され、まだ報告ができていないものについては、outstanding の usage.json に出力が追記されていきます。

これらの情報を確認することで、ライセンス条項に則し PAYG の使用状況が正常に報告されているかを確認することができるようです。

PAYG で使用しているものについては、Azure のコストとして次のように計上が行われていました。
image

サブスクリプションモデルでの SQL Server の利用は、2022 から追加された利用形態となりますが、一部のライセンス条項の変更にも関係する箇所がありますので、どのような動作をするものかは軽く確認しておくとよさそうですね。

Share

Written by Masayuki.Ozawa

2月 9th, 2023 at 9:37 pm

Leave a Reply