このブログをアップしているのは日本時間2月1日月曜日午前であるが、
本日よりWindows Azureの課金が開始されるので、すでにインスタンスを
動かしている方は意図しない課金が発生しないようご注意いただきたい。
気づかないうちに課金してしまった方がマイクロソフトも儲かるのでは?
とか邪推されるかもしれないが、Azureチームはそこまでがめつくないので
ご安心願いたい。お客様との信頼関係あってこそのクラウドサービスである。
まず、このブログのタイトルで「やべっ!」と、レンタルDVDの返却日を
忘れていたような焦りを感じた方、まだ大丈夫。理由は3つ。
1.昨年以前に入手した開発トークンで利用していたCTP環境で、
そのまま放置していた場合、むげに課金されることはない。
1月4日以降の正式サービス開始以降に、クレジットカード番号を登録して
移行手続きを行った方のみが課金対象となる。
2.Azureで日付を指定する場合、利用するデータセンターの現地時間が
基準となるため、日本時間で2月1日になって12時間程度経過しても、
現地データセンターとの時差で、忘れていた場合のダメージは軽くなる。
3.多くの方が選択したと思われる初期特別提供プランには、25時間/月の
無償利用枠があるため、シングルインスタンス1つであれば1日以内、
WebRoleとWorkerRoleを1つずつ動かしていても半日は無償である。
したがって、日本時間2月1日月曜日中にこのブログを読んで気づき、
対策をとられた方は意図せずカードにチャージされることは少ないだろう。
慌てず落ち着いて、しかるべき対応策を講じて欲しい。
と、Azure課金についての注意喚起を行う際に、CPU利用時間に関する
内容に終始しがちなのだが、ストレージやネットワーク帯域なども同じ
ように課金対象となるので注意されたい。特に、開発ポータルでも
別タブ内にあるSQL Azureあたりは忘れがちだ。検証のためにいくつか
DBつくってみようか、といって作成したものがあれば、あわせてDROP
しておくようにしていただきたい。もちろんデータのバックアップをとってから。
さて、ここで問題。
下記4パターンの中で、課金が発生するのはどれ?Azureに慣れている
方でも意外と誤解している場合もあるのであらためて確認願いたい。
1.Production環境で1インスタンスがReady
2.Production環境で1インスタンスがSTOPの状態。
すなわち実質的に割り当てられたVMのCPUはまったく回っていない
3.Staging環境で1インスタンスがReadyな状態。
本番環境(Production)はDeployもされておらず全く使われていない
4.Staging環境で1インスタンスがSTOPな状態。
本番環境もちろん、Staging環境のCPUも動いていない
正解は…
すべて課金対象!
「えーっ?なんで?」という方のために簡単に解説。
まず、課金が発生するタイミングはパッケージのDeployが完了した
タイミングから。Runしたタイミングではないのである。すなわち、
Deployという作業を通じてある程度リソースの占有が発生するため
課金タイミングをDeploy時にしているのである。したがって、STOPの
状態でも課金は発生する。しかもレートはReadyのときと同じだ。
ほぼ同じルールのAmazon EC2派の方は問題ないだろうが、
CPU使用率をカウンターとして課金メーターに利用している
Google App Engine派の方からすると違和感があるかもしれない。
また、ProductionとStagingの課金レートは全く同じである。
Stagingをテスト環境のように使っているとつい無償で使えそうな
錯覚に陥ってしまいがちだが、オンプレミスで考えれば当たり前。
ステージング用に購入したサーバーは無償ではないし、ソフトウェア
のライセンス費用も発生するだろう。よって、ProductionとStagingの
両方を利用している下記のような状態では、2倍の課金が発生する。
というわけで、課金が発生しないようにするためには、
下記のような状態が正解。
Production、Stagingともに、Runの状態であればまず
Susupendボタンで止めた上でDeleteで環境を削除。
ここまでしておけば課金されることはない。
なお、一度削除してまたDeployする際に、大容量になる
イメージファイルのアップロードが大変/面倒だという方は、
BLOB領域にあらかじめDeployするパッケージを置いておく
ことをオススメする。Deploy画面ではローカル環境からの
アップロードだけでなく、BLOBにあるファイルの指定も出来る。
初期特別提供プランには、ストレージの無償提供枠も
ついているのでサイズ次第では追加料金なく利用できるだろう。
さて、課金がはじまったことで個人のホビーユースの方は
ちょっとした検証や実験がやりにくくなってしまったかもしれないが、
企業ユーザーの方にはよいことだろう。1月以降環境の仕様自体は
変わっていないのだが、ユーザーが本気モードの人たちだけに
絞られることでパフォーマンス低下のリスクがされに減る。
さらに、$250/月相当以上をDevelopment Accelerator CORE
およびEXTENDEDの組み合わせで購入した場合には、請求書払いが
可能になっているはずだ。これで、コーポレートカードが支給されて
いない企業のみなさまもより安心して利用できるようになるだろう。
日本におけるクラウドの利用促進において、請求書払い対応は
意外と重要なポイントとなるかもしれない。
なお、CTP環境をそのまま放置するという方、必要なデータが
Azure上にあるようであれば、忘れずにサルベージしておくこと。
先行してCTP環境でアプリケーションを動かしていた皆様の中には
「クラウド上に蓄積したデータはPriceless」という方もいるだろう。
課金とあわせ、データ消失にも十分注意しながら、引き続き
楽しくAzureライフを送っていただきたい。