Windows Azure Webサイトのステージングサポートほかいろいろ

きましたきました色々Updateが。

今回の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サイト ダッシュボードからステージング発行を有効化します。

image

あ、ステージングへの発行機能はWebサイトの動作モードが「標準」でないとダメです。もし無料や共有の場合は以下のように確認が表示されるので、アップグレードを選択してモードを変更しましょう。(ようはスケールタブでモード変える)

image

※要課金ですね。

ステージング発行を有効にすると、ステージング用の環境(Webサイト)がサブノードとしてリンクされます。管理ポータルで見ると以下のような感じになり、プロダクションとステージングがまとめられて見れるようになります。

image

それぞれのサイトをクリックすると、通常通りWebサイトの管理画面になりますがステージングには(Staging)と表記され別物として存在することになります。

それぞれダッシュボードが用意されていて、基本的には通常のWebサイトと同じように構成することができます。

image

ただし、ステージングのほうはスケールとリンク済みリソースタブで設定を変えたりすることはできません。

image

さてそれではステージングをさっそくテストしてみようと思います。

まずは普通にプロダクションのほうに適当にデプロイしてみます。

image

これは今まで通り。

さてステージングのほうへの発行ですが、やり方等はプロダクション(今まで通り)と何も変わりません。たとえばVisual Studioからの発行であればステージングのWebサイトも表示されるようになっているので、そちらを選択して発行するだけです。

image

image

発行したサンプルのステージングはこんな感じです。

image

URLはプロダクションの名前に –staging がついたホスト名になってますね。

※ちなみにKudu(SCM)も https://<name>-staging.scm.azurewebsites.net でアクセスできます。いっしょです。

ではSWAPしてみましょう。Swapは管理ポータルのWebサイト ダッシュボード上で スワップを選択するだけです。

image

スワップする際の注意点が出た後、実行することができます。

image

 

ちょっと日本語が怪しいですが、スワップして変わる設定と変わらない設定があるので注意しましょう。具体的には以下のようになります。

  • スワップで変更される構成
    • フレームワークのバージョンなど全般的な設定
    • 接続文字列
    • ハンドラーマッピング
    • 監視や診断の設定
  • スワップで変更されない構成
    • 発行先エンドポイント
    • カスタムドメイン名(CNAME)
    • SSL証明書と設定
    • スケールの設定

まぁ中身の入れ替えなので、プロダクション、ステージングの設定は変わらないわけです。(管理ポータルから見ると)アプリケーションから見ると、スワップするとそれぞれの設定(接続文字列など)に変わるわけなので、上記のような表記になります。 2014年1月19日修正: 書いてるとおりなんですが、接続文字列やアプリケーション設定などの項目はSwapするとそのまま移動します(変更されます)。なので、たとえばStagingはテスト用のDBに接続するように接続文字列を設定しててもそのままスワップする(WebサイトのProductionにテスト用DBの接続文字列がきてStagingに本番のがくる)ので非常にまずいことになるので注意が必要です。

ちなみにステージングでもSSLやカスタムドメインは普通に設定できるので安心です。ただスケールなどはステージングでは使えませんが。

実際にやってみると、スワップはすぐに終わると思います。終わった後はこんな感じで入れ替わってますね。

image

すばらです!

ちなみに問題があった場合はまたSwapすれば元通り。

image

簡単です~。

もし、ステージング環境が不要になったら削除メニューから削除することができます。

image

 

このあたりのチュートリアルも参考にどうぞ。

 

 

余談ですが、Swapの仕組みはいたって単純です。それぞれのスロット(プロダクション、ステージング)でマウントしている仮想サイトのディレクトリを付け替えてるだけです。

ちょっとKuduで見てみましょう。

image

ステージ環境のほうはステージ用のフォルダがマウントされてますね。実際のパスは以下のようになっています。

image プロダクション

image ステージ

\\10.62.56.116\volume-12-default\8802d0d47fc6cdb489f9 というパスまでが共通で

プロダクションは 912a41f329914374aaed8464969edb5f 、ステージは 6d4366fc56ed458d802011a73e2ddcdf というフォルダになっています。

ではスワップしてみると?

image

仮想フォルダが入れ替わりました。

フォルダの中身は同じですが入れ替わってます。

image

image

ということで、スワップで何をしてるかといえばマウント先の付け替え、ということですね。Webアプリケーションで保存した追加ファイルなどもこのフォルダ上(VHD上?)で永続化されているし、そのまま保持されてスワップされるので安心です。

※WordPressとかも安心そうですがホスト名の扱いとかには注意したほうがよさそうですね。

ちなみに同一ホスト上で動作してる様子

謎は深まるばかりですね。

 

余談の余談

今回のUpdateで(Azure側には関係ないところだけど)Pull Requestした内容がマージされて動いてます。しょぼいけどうれしい。

Webサイトの常時接続(Always On)サポート

日本語表記だと「常時接続」(Always On)ですが、簡単にいうとIISのワーカープロセスが落ちないように定期的にpingしてWebサイトを暖めておく/実行状態にしておいてくれる機能です。

※標準モードのみ使えます。

image

面倒くさいこと考えなくてもいいのがうれしいですね。

Web Jobs

以前のUpdateで実はKudu経由でWeb Jobsが使えるようになっていたのですが、UIがなくて面倒でした。今日のUpdateで管理ポータル上でUIが提供されるようになりました。

image

Web Jobsは長くなるので別記事にしようと思います。

 

Monitoring

Webサイトのモニタリングが強化されました。

WebサイトのMetric更新頻度が分単位になったので、最新の状況をすぐに把握することができます。

image

 

また、アラート(Preview)の対象としてSQL Databaseが追加されました。

image

対象はストレージのみのようですが、、

image

※SQL DatabaseのPremiumだともうちょっとあるようです。

image

 

またWebサイトのアラートで使うMetricも増えました。

image

CPU時間や総リクエスト数(要求)で判断できるようですね。

いい感じです。

 

Windows Azure Hyper-V Recovery Manager GA

Hyper-V Recovery ManagerがGAしました。めでたい。

image

詳しくはこちらをどうぞ

価格は日本語ページだとまだPreviewかも。2014年3月1日からは\1,328.64円/月/保護する仮想マシン1台あたり、となります。

※全体的に日本円での値上げが予定されてるのでその辺と合わせて注意が必要ですね。

 

Mobile Services Sencha Touchサポート

Mobile ServicesでSencha Touchがサポートされました。

image

 

沢山のプラットフォームで簡単に扱えるようになるのはいいことです。

詳しくはこちらをどうぞ。

認証まわり

認証周りといってもValidateのほうです。独立した認定セキュリティ評価機関(QSA)に申請中というステータスだったPCI DSS(Payment Card Industry Data Security Standards)が完了したようです。これで安心してクレジットカードなどのプラットフォームに使えますね。

詳しくはこちらをどうぞ。日本語ページにはまだ追加されてないようです。

 

まとめ

以上、少し遅れたScottGuからのお年玉でした!

コメントを残す