先日、勉強会でVisualStudio + Xamarinでアプリ開発することが決まったのでMicrosoft Azure で開発環境を作った。(結局デバッグ用のエミュレータが動かなくて破棄した)
で、調べたことをまとめたメモ
Q:何が必要?
A:下記のものが必要。
・必須
クレジットカード、デビッドカードのどちらか(支払いに必要。アカウント作成時に必須登録なので試用版でも必須)
Microsoft アカウント(無料)
Azureアカウント(無料)
・推奨
Azureでとりあえず試したいことのまとめ
月々1000円程度の予算(Webサービスとして公開するなら10000円程度は欲しいかも。)
設定ミスで1万円以上の請求が来ちゃったときの心構え(Azureは自動で止まるから来ないと思うが・・・)
Q:サービスを停止し忘れて大量の課金が発生したりしない?
A:Azureは事前に課金上限を設定しておくと、その上限を超えた場合にすべてのインスタンスを停止する機能がある。らしい。
また、この機能とは別にアラートを設定することもでき、アラートの条件を満たすとアラートを飛ばしてくれる機能もある。
不安な人は、Azureの設定時にまず課金周りの設定を行うとよい。
Q:サイト内の試算を見ると2000円程度で開発できるって書いてある。でも、試算ページへ飛んで試算すると6000円とか普通にかかる計算になるんだけど?
A:試算ページでは、「インスタンス」を「1か月ずっと起動した」場合のコストでデフォルト試算される。
(Webサービスとして使うなら停止させずに使うだろうから)
例えば、週末の1日だけ勉強会用に使うなら、時間部分の数値を32時間あたりにすれば実際のコストがわかる。
追記 2017/02/13
仮想マシンを立てた場合、仮想マシンのインスタンスとは別にストレージの料金もかかってた。(そりゃそうだ。)
ストレージは使用しているストレージ分を1GBいくらで計算されるようだ。
Q:MSDNサブスクリプションってなんだ?
A:「特典」?と思われる。VisualStudio Proなどを持っている人は、Azureの機能を月々いくらかまでなら無料で使用できる。
MSDNサブスクリプションは、マイクロソフトが提供する開発者向けのサービスをまとめて提供するプログラム。サブスクリプション単体でも購入できる。
Azureのアカウントを新規作成した場合、MSDNサブスクリプションとは別の、Azure試用評価版サブスクリプション(¥20500分)がついてくる。
Q:「インスタンス」の課金の仕組みがわからん。
A:インスタンスは状態として「起動」「停止」の状態があって、「起動」状態の時間で課金額が決まる。
なので、使っていないときにインスタンスをこまめに停止しておけば課金はされない・・・はず。
だから複数のインスタンスを持っていても、全て停止状態なら課金されず、逆にすべて起動すれば
「インスタンス」分すべての課金がされる。
追記2017/02/13
インスタンスの停止は、仮想マシンのシャットダウンでは課金状態が続くらしい。
Azureのポータル画面から仮想マシンのページ(接続、開始、再起動、停止がある画面)を開きそこから操作すること。
停止されていれば、状態が割り当て解除になっているはず
また、インスタンスとは別にストレージの使用料金はかかる。インスタンスを作った場合、1ヶ月ずっと停止状態でもストレージの利用料金はかかることに注意。
Q:試算ツールがあるのは分かった。でもAzureの機能がありすぎてどれを対象にすればいいのかわからない。
A:下記ルールを守ればテキトーでいいんじゃないかな?うん。
・開発用の環境は、使用する時間だけを試算する。
・既に行うことが決まっているものだけ試算対象にする。(やるかもしれない程度のものは試算しない)
・環境のスペックは低めのものを選択する。(スぺックが不足すれば後からここを追加する。)
追記2017/02/15
仮想マシンを使う場合、インスタンスの所属グループが違うとサイズ変更エラーが起こることがあるみたい。
http://qiita.com/towtow/items/709b0889a82b7fe8204f
これで試算した分が最少金額。後はスペック向上や追加機能の利用で2倍程度まで膨らむかも。
インスタンスの増設とかをすればさらにかかるけど。
まずはテキトーに選択して試算。払ってもいいと思ったら「えいやっ」で決定。
後は実際の請求から確認すればいいのではないか?
追記2017/02/13
サブスクリプションのページから現在の課金額のデータを確認できた。
以下やり方
1.ベルアイコンからクリックし、サブスクリプション名(ここなら無料試用版)をクリック
2.現在の課金状態が表示される。合計はここで分かる。
各サービスでどれぐらい使っているかを知りたい場合、グラフ画像をクリックする。
3.サービスごとの課金額の明細が表示される。
さらにサービスをクリックすれば、1日ごとの課金額を表示してくれる。
Q:エミュレータが動かなかった?
A:AzureはHyper-Vをベースにして構築されているらしい。
Hyper-V上では仮想マシンの構築を行えないので、エミュレータが起動できなかった。
Windows 10 以上のOSならNested Hyper-Vで起動できる可能性があるが、Azure上では
MSDNサブスクリプションがないと環境構築できないため採用できなかった。