きましたきました色々Updateが。
- Windows Azure: Staging Publishing Support for Web Sites, Monitoring Improvements, Hyper-V Recovery Manager GA, and PCI Compliance
- Announcing PCI DSS compliance and expanded ISO certification for Windows Azure, general availability of Windows Azure Hyper-V Recovery Manager and other updates to Windows Azure
今回のUpdate概要は以下のような感じです。
- Webサイト
- ステージング環境への発行サポート (Preview)
- Always On サポート (Preview)
- Web JOBのUI (Preview)
- Monitoring
- WebサイトのMetrics Update
- WebサイトとSQL DatabaseのMetricsとアラートを強化
- Windows Azure Hyper-V Recovery Manager
- GAになりました
- Mobile Services
- Sencha Touchサポート
- Validated
- PCI DSS取得完了
では少しづつ見ていきましょう。
Windows Azure Webサイト
ステージング環境への発行サポート
Webサイトは簡単に発行できてダウンタイム無しで即反映されるというのが魅力の1つなわけですが、アプリケーションによってはファイルがロックされてしまって発行時(ファイル上書き時)にうまく更新されず、一時的にWebサイトを停止してロックを外したりしないといけない、なんてケースがありちょっと不便でした。
※たとえばNewRelicのバイナリバージョンが上がった場合とかいろいろ
ベースのCloud Servicesのほうにはプロダクションとステージング環境があり、仮想IPアドレスを入れ替えることでほぼほぼダウンタイム無し(いったんサイトがオフラインになる状況はありそうなので注意。詳細はきっとしばやん先生が確認してくれるはずです!)みたいな環境入れ替えが可能だったわけで、この機能のWebサイトへの実装が長らく待たれていたわけですが、やっとこさPreviewではありますが実装されました!
ということでさっそく試してみましょう!
まずは管理ポータルのWebサイト ダッシュボードからステージング発行を有効化します。
あ、ステージングへの発行機能はWebサイトの動作モードが「標準」でないとダメです。もし無料や共有の場合は以下のように確認が表示されるので、アップグレードを選択してモードを変更しましょう。(ようはスケールタブでモード変える)
※要課金ですね。
ステージング発行を有効にすると、ステージング用の環境(Webサイト)がサブノードとしてリンクされます。管理ポータルで見ると以下のような感じになり、プロダクションとステージングがまとめられて見れるようになります。
それぞれのサイトをクリックすると、通常通りWebサイトの管理画面になりますがステージングには(Staging)と表記され別物として存在することになります。
それぞれダッシュボードが用意されていて、基本的には通常のWebサイトと同じように構成することができます。
ただし、ステージングのほうはスケールとリンク済みリソースタブで設定を変えたりすることはできません。
さてそれではステージングをさっそくテストしてみようと思います。
まずは普通にプロダクションのほうに適当にデプロイしてみます。
これは今まで通り。
さてステージングのほうへの発行ですが、やり方等はプロダクション(今まで通り)と何も変わりません。たとえばVisual Studioからの発行であればステージングのWebサイトも表示されるようになっているので、そちらを選択して発行するだけです。
発行したサンプルのステージングはこんな感じです。
URLはプロダクションの名前に –staging がついたホスト名になってますね。
※ちなみにKudu(SCM)も https://<name>-staging.scm.azurewebsites.net でアクセスできます。いっしょです。
ではSWAPしてみましょう。Swapは管理ポータルのWebサイト ダッシュボード上で スワップを選択するだけです。
スワップする際の注意点が出た後、実行することができます。
ちょっと日本語が怪しいですが、スワップして変わる設定と変わらない設定があるので注意しましょう。具体的には以下のようになります。
- スワップで変更される構成
- フレームワークのバージョンなど全般的な設定
- 接続文字列
- ハンドラーマッピング
- 監視や診断の設定
- スワップで変更されない構成
- 発行先エンドポイント
- カスタムドメイン名(CNAME)
- SSL証明書と設定
- スケールの設定
まぁ中身の入れ替えなので、プロダクション、ステージングの設定は変わらないわけです。(管理ポータルから見ると)アプリケーションから見ると、スワップするとそれぞれの設定(接続文字列など)に変わるわけなので、上記のような表記になります。 2014年1月19日修正: 書いてるとおりなんですが、接続文字列やアプリケーション設定などの項目はSwapするとそのまま移動します(変更されます)。なので、たとえばStagingはテスト用のDBに接続するように接続文字列を設定しててもそのままスワップする(WebサイトのProductionにテスト用DBの接続文字列がきてStagingに本番のがくる)ので非常にまずいことになるので注意が必要です。
ちなみにステージングでもSSLやカスタムドメインは普通に設定できるので安心です。ただスケールなどはステージングでは使えませんが。
実際にやってみると、スワップはすぐに終わると思います。終わった後はこんな感じで入れ替わってますね。
すばらです!
ちなみに問題があった場合はまたSwapすれば元通り。
簡単です~。
もし、ステージング環境が不要になったら削除メニューから削除することができます。
このあたりのチュートリアルも参考にどうぞ。
余談ですが、Swapの仕組みはいたって単純です。それぞれのスロット(プロダクション、ステージング)でマウントしている仮想サイトのディレクトリを付け替えてるだけです。
ちょっとKuduで見てみましょう。
ステージ環境のほうはステージ用のフォルダがマウントされてますね。実際のパスは以下のようになっています。
\\10.62.56.116\volume-12-default\8802d0d47fc6cdb489f9 というパスまでが共通で
プロダクションは 912a41f329914374aaed8464969edb5f 、ステージは 6d4366fc56ed458d802011a73e2ddcdf というフォルダになっています。
ではスワップしてみると?
仮想フォルダが入れ替わりました。
フォルダの中身は同じですが入れ替わってます。
ということで、スワップで何をしてるかといえばマウント先の付け替え、ということですね。Webアプリケーションで保存した追加ファイルなどもこのフォルダ上(VHD上?)で永続化されているし、そのまま保持されてスワップされるので安心です。
※WordPressとかも安心そうですがホスト名の扱いとかには注意したほうがよさそうですね。
ちなみに同一ホスト上で動作してる様子
謎は深まるばかりですね。
余談の余談
今回のUpdateで(Azure側には関係ないところだけど)Pull Requestした内容がマージされて動いてます。しょぼいけどうれしい。
Webサイトの常時接続(Always On)サポート
日本語表記だと「常時接続」(Always On)ですが、簡単にいうとIISのワーカープロセスが落ちないように定期的にpingしてWebサイトを暖めておく/実行状態にしておいてくれる機能です。
※標準モードのみ使えます。
面倒くさいこと考えなくてもいいのがうれしいですね。
Web Jobs
以前のUpdateで実はKudu経由でWeb Jobsが使えるようになっていたのですが、UIがなくて面倒でした。今日のUpdateで管理ポータル上でUIが提供されるようになりました。
Web Jobsは長くなるので別記事にしようと思います。
Monitoring
Webサイトのモニタリングが強化されました。
WebサイトのMetric更新頻度が分単位になったので、最新の状況をすぐに把握することができます。
↓
また、アラート(Preview)の対象としてSQL Databaseが追加されました。
対象はストレージのみのようですが、、
※SQL DatabaseのPremiumだともうちょっとあるようです。
またWebサイトのアラートで使うMetricも増えました。
CPU時間や総リクエスト数(要求)で判断できるようですね。
いい感じです。
Windows Azure Hyper-V Recovery Manager GA
Hyper-V Recovery ManagerがGAしました。めでたい。
詳しくはこちらをどうぞ
価格は日本語ページだとまだPreviewかも。2014年3月1日からは\1,328.64円/月/保護する仮想マシン1台あたり、となります。
※全体的に日本円での値上げが予定されてるのでその辺と合わせて注意が必要ですね。
Mobile Services Sencha Touchサポート
Mobile ServicesでSencha Touchがサポートされました。
沢山のプラットフォームで簡単に扱えるようになるのはいいことです。
詳しくはこちらをどうぞ。
- Get started with Mobile Services and Sencha Touch
- Announcing PCI DSS compliance and expanded ISO certification for Windows Azure, general availability of Windows Azure Hyper-V Recovery Manager and other updates to Windows Azure
認証まわり
認証周りといってもValidateのほうです。独立した認定セキュリティ評価機関(QSA)に申請中というステータスだったPCI DSS(Payment Card Industry Data Security Standards)が完了したようです。これで安心してクレジットカードなどのプラットフォームに使えますね。
詳しくはこちらをどうぞ。日本語ページにはまだ追加されてないようです。
まとめ
以上、少し遅れたScottGuからのお年玉でした!