1月4日のAzure正式サービス開始で変わったこと、変わらないこと。Quota緩和とデータセンター追加
Azureの購入方法については昨日ステップbyステップでご紹介させていただいた。
新しモノ好きを自称される方は、お金がかかる話でもないので話の種に
試してみてはいかがだろうか?LiveIDとクレジットカード番号さえあれば
ものの数分で完了できる。「勝手にクレジットカード使うと会社の精算が面倒で…」
という環境の方もいらっしゃるだろうが、2月の時点でDeployが残ってなければ
お金がかかることはないので、自分の責任の範囲内でお試しいただきたい。
昨年よりCTP登録されている開発者のみなさまは、すでに移行手続きを進めて
いただいていると思われるが(MSDNプレミアム購読者の方は8ヶ月間の特典期間を
最大限有効に活用するなら2月以降の登録が有利だが、1月中の誰でも無償期間は
課金のテストも兼ねているのですでに移行されている方も見受けられる)、
デベロッパーポータル windows.azure.com にアクセスした際に
「で、どこが変わったの?」と拍子抜けするくらいに変化がないことに気づくだろう。
とはいいつつ、本番稼働に向けて少しずつ変更されている。
昨日のブログでは最も大きな変更点である画面右上 "Billing" リンクの先にある
購買のフローをご紹介したが、今日はその他細かいポイントを2つほど紹介したい。
まず1つめは利用上限インスタンス数の引き上げである。
HotedServicesのAccountページでQuota欄をみると利用可能なインスタンスが
デフォルトで20個、ストレージアカウントが5個に増えている。(今までのCTP期間は
1つのプロジェクトで2つのVM=ロールしか使えなかった)なお、この上限値は
カスタマーサポートに連絡することで引き上げることができる。
ただ、1点気をつけなくてはいけないのは20個はSmallサイズのVM換算の場合である。
AzureのVMはSmallからExtraLargeまで選ぶことができ、コア数やメモリ容量が異なる。
CPUのコア数はSmallが1個、Mediumが2個、Largeが4個、ExtraLargeが8個である。
一般的には分散並列処理にできないモジュールはExtraLargeで、Webのフロントの
ようなものはSmallを並べることで負荷変動時の柔軟さを優先した方がよいだろう。
ということで、試しにSmallのWebRoleを8個とLargeのWorkerRoleを3個
(1×8 + 3×4 = 20)含まれるプロジェクトを作成してDeployしてみた。
HostedServicesの管理ページを開くと一番下にあるように、Readyの状態で
稼働させることができている。(上限を超えるとQuotaエラーとなる)
なお、インスタンス数やサイズの設定はVisualStudioで行うのが基本だ。
Azureの設定ファイルを右クリック>プロパティで開くと下記のように設定できる。
一度Deployしたものの変更は、インスタンス数だけであればデベロッパー
ポータルのConfigボタンで設定ファイルの編集、反映を簡単に行えるが、
(下記赤文字)
<?xml version="1.0"?>
<ServiceConfiguration serviceName="CloudService7" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration">
<Role name="WebRoles">
<Instances count="8" />
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
<Role name="WorkerRoles">
<Instances count="3" />
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" value="UseDevelopmentStorage=true" />
</ConfigurationSettings>
</Role>
</ServiceConfiguration>
VMサイズの変更は設定ファイル側ではなく、定義ファイル側に記載されて
しまうため、上記手順での変更が行えない。(デフォルトはSmall)
<?xml version="1.0" encoding="utf-8"?>
<ServiceDefinition name="CloudService7" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceDefinition">
<WebRole name="WebRoles">
<InputEndpoints>
<InputEndpoint name="HttpIn" protocol="http" port="80" />
</InputEndpoints>
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" />
</ConfigurationSettings>
</WebRole>
<WorkerRole name="WorkerRoles" vmsize="Large">
<ConfigurationSettings>
<Setting name="DiagnosticsConnectionString" />
</ConfigurationSettings>
</WorkerRole>
</ServiceDefinition>
また、サービスを管理する際には、以前ご紹介した管理APIや
コマンドレットの活用が有効なのであわせてご利用いただければ幸いだ。
本日ご紹介するもうひとつの変更点はデータセンターの追加だ。
待望の「アジア」が増えている。Southeast AsiaはPDC09他すでに
発表されているとおりシンガポールのことである。近々、アジアに
もうひとつデータセンター(香港)が追加される予定で、
Anywhereにしておくとどちらかに自動的に割り当てられるようになる。
アジアと言っても日本国内ではないので、無理に移動しなくてもよいが、
ネットワークのレイテンシは経験則的にUSの半分くらいだろうか。
(気になる人はちゃんとはかって公開していただきたい)
今後もAzureのインスタンスでNTFS領域としてマウントできるAzure Driveの
追加など、機能拡張が継続的に行われてゆくのでデプロイのついでに
デベロッパーポータルもチェックしていただきたい。