唐突に赤シャツさんがWindows Azure Web Sitesの改善をアナウンスしました。
まさに大☆興☆奮な内容となっております!
ざっくりUpdate内容を挙げると
- 低コストの共有モードの追加(スケーリングオプションの追加)
- CNAMEおよびホスト名無しドメイン名(ネイキッドドメイン)のAレコード対応などカスタムドメイン名の機能拡張(Shared/Reserved両方で)
- gitによる継続的デプロイにCodePlexとGitHubを追加
- FastCGIのサポート
これらの対応が既に利用可能になっています!やったね!(事後報告かよ!)
新しいSharedなスケーリング層
スケーリングに新しいモードが追加されました。これまでのSharedがどっちかというと追加された”Free”なモードですね。
Free Shared Instance Model
“Free Shared”(Free)は以下のような特徴と制限があります。
- AzureWebSites.netドメイン上で10サイトまで無料
- データ送信(Azure側からみて)… 165MB/日まで、データ受信は無制限
- 1GBのストレージ(全サイト共有)
- 20MBのサードパーティなMySQLデータベース
ちなみにFree Sharedと次のPaid SharedはWebサイト単位で変更できます。(※Reservedにすると全サイトがReservedになる)
Paid Shared Instance Model
Paid Shared Instance Modelは以下の特徴と制限があります。
- カスタムホストまたはドメイン名の割り当てが可能
- データ送信…従来のデータ転送の課金体系と同じ、データ受信…無制限
- 1GBストレージ(全サイト共有)
- 20MBのサードパーティのMySQL データベース
- 100サイトまで作成可能
以前のReservedと同じでPaid Sharedにすると課金が発生します。時間あたり0.02ドル(1.75円)。プレビュー中は33%割引ということで時間あたり0.013ドル(1.14円)みたいですね。
Reserved Instance Mode
Reserved Instance Modeは以下のような特徴と制限があります。
- カスタムホストまたはドメイン名の割り当てが可能
- データ送信…従来のデータ転送の課金体系と同じ、データ受信…無制限
- 10GBストレージ(全サイト共有)
- 20MBのサードパーティのMySQL データベース
- 100サイトまで作成可能
まぁストレージサイズ以外はだいたいPaid Sharedと同じです。がReservedは全Webサイトが予約されたインスタンス上(自分のサブスクリプション専用インスタンス上)で動作します。
この時、動作するインスタンスのサイズと台数を指定することができます。(全Webサイトで共通の設定となります)
ちなみに今時点で選べるインスタンスサイズはS,M,Lの3種類です。コストとMemoryは以下のような感じ
Reserved Instance Size | CPU Cores | Memory | Preview価格(/時) | GA価格(/時) |
S | 1 | 1.75 GB | \7.00 | \10.49 |
M | 2 | 3.5 GB | \13.99 | \20.98 |
L | 4 | 7 GB | \27.98 | \41.96 |
33%オフなところ以外はCloud Servicesとあまり変わらないですね。
ちなみにWindows Azure Webサイトは使ってないサービスがあったりすると停止される可能性があります。(MS側にその権利がある)
※少なくとも30日前には通知が来るようですが。あとはマルチテナント上でWebサイトが稼働してるので無茶な使い方すると止められるかもですね。(この辺はアップデートで変わったりはしてません)
各モードについてまとめるとこんな感じです。
機能 | Free | Shared | Reserved |
カスタムドメイン名 | 無し | アリ | アリ |
サイト数 | 10 | 100 | 100 |
ストレージ | 1 GB | 1 GB | 10 GB |
ストレージトランザクション | 課金されない | 同左 | 同左 |
RDB | 20MBのMySQL(全サイト共通) | 同左 | 同左 |
データ転送(受信) | 無料 | 同左 | 同左 |
データ転送(送信) | 165 MB/日まで | 通常課金通り | 同左 |
CPU | 1日あたりCPUサイクルで60分まで | 1日あたりCPUサイクルで240分まで | 専用CPU(制限なし) |
価格 | 無料 | Preview … 1.14円/時 GA … 1.75円/時 |
Preview … 7円~28.98円 GA … 10.49円~41.96円 |
CPUの制限に注意しましょうね!
詳細はこちらの価格表を参照ください。
基本的にスケールアップ/スケールダウンは数秒レベルで行えます。簡単・はやい・キモチイイ。
ちなみにSNIベースのSSL対応は今回のリリースでは含まれず。今後(今年後半?)に期待です。
カスタムドメイン名
Shared(Paid Shared)、Reservedのどちらのモードでもカスタムドメイン名がサポートされました。(参考:Configuring a custom domain name for a Windows Azure web site)FreeじゃないModeにしておけば各Webサイトに複数のカスタムドメインを関連付けすることができます。
今回のリリースでよく言われてたネイキッドドメイン(ホスト名なしドメイン名)のAレコード対応ができるようになりました。
Manage Domainsメニューからドメインの関連付けなど行えます。
CNAMEは特に問題なくできるかと思います。
こんな感じでDNSに登録しておいて指定したFQDNをWindows Azure上で登録するだけです。
簡単ですね。
Aレコードの場合、ちょっと面倒です。というのもWindows Azure側でベリファイが必要なので、指定されたCNAMEを持つレコードを作成しておく必要があります。
awverify.<設定するAレコード> っていうレコードが awverify.<サイト名>.azurewebsites.net を指すようにするのがポイントですね。
たとえば foobar.hogehoge.com というAレコードをWebサイトに指定する場合はまずDNS側で以下のようにレコードを登録しておく必要があります。
awverify.foobar.hogehoge.com | CNAME | awverify.<サイト名>.azurewebsites.net |
foobar.hogehoge.com | A | <WebサイトのIPアドレス> |
IPアドレスはManage Domainsで見れます。
もしホスト名なし(ドメイン名のみ)でアクセスさせたい場合は以下のようにします。
awverify.hogehoge.com | CNAME | awverify.<サイト名>.azurewebsites.net |
hogehoge.com | A | <WebサイトのIPアドレス> |
というわけでカスタムドメイン名もだいぶ幅が広がりました。
継続的デプロイでgit利用時にCodePlexとGitHubを追加サポート
Windows Azure WebサイトにてGit連携を行った場合、これまでWindows Azure上のGItリポジトリが利用できるだけでしたが、今回のリリースでCodePlexおよびGitHubと連携できるようになりました。
※Free含む全モードで利用できます。
このあたりの動画も参考に。
- Enabling Continuous Deployment with Windows Azure Websites and CodePlex (2 minutes)
- Enabling Continuous Deployment with Windows Azure Websites and GitHub (2 minutes)
あと以前はmasterブランチしか対応していませんでしたが、一般的なシナリオのように複数のブランチを使用することができるようです。これはいいですね。
ということでpushだけじゃないんだよpushだけじゃ!って感じでより現実的な開発手法がとれそうですね。
おまけ
Windows Server 2012ベースのGuest OSや.NET 4.5対応は来月みたいですねぇ。