特集:Windows Azure Webサイト入門

新規サイトが素早く立ち上げられるWindows Azure Webサイト

株式会社 pnop 亀渕 景司
2012/07/26
Page1 Page2 Page3

Azure関連の記事

まだ知らない人のための最新Azure入門 - Build Insider

Azure TIPS - Build Insider

ここまで進化した、Azure Webサイトの世界観(2014年7月版) - Build Insider

連載:Windows Azureモバイルサービスで作る簡単スマートフォンアプリ - Build Insider

Microsoft Azureプレビュー・ポータルの機能とは? - Build Insider

特集:Windows Azureメディア・サービスを利用したストリーミング配信 - Build Insider

連載:Microsoft技術におけるアイデンティティ連携開発のいま - Build Insider

Vittorio Bertocci氏インタビュー: 開発者にとってのWindows Azure Active Directoryの役割と今後の展開 - Build Insider

その知識、ホントに正しい? Windowsにまつわる都市伝説(6):Microsoft Azureの秘密を探る[その1] - @IT

進化を続けるマイクロソフトのクラウド:Windows Azureの“いま”を知る - @IT

Azure - Build Insider

 「開発者は“Meet Windows Azure”で何と出会ったか」(以降、「前回」と表記する)では「Meet Windows Azure」で発表された新機能や変更点についての概要を説明した。本稿では新機能の中から「Windows Azure Webサイト」(以下、Webサイト)を取り上げて詳しく説明する。なお、この「Webサイト」は、ギャラリーから「WordPress」などのアプリケーション・パッケージを選択することで、10秒程度でサイトを作成・公開できるので、開発や配置などの手間をかけずにサイトを作りたい人に向いている。

Windows Azure Webサイトについて

 Webサイトは、従来のWindows Azureクラウド・サービスの「Webロール」とは異なり、IIS上で動作するWebアプリケーションをマルチテナント形式で(つまり占有ではなく共有で)動かすためのサービスだ。

 Webサイトでは、データセンター側で起動・管理されている「Windows Azureの共有インスタンス」上にWebアプリケーションだけを展開する構造のため、非常に素早くアプリケーションを立ち上げられる(Webロールは、展開時にインスタンスが作成されるので、立ち上がりが比較的遅い)。ただし、ほかのユーザーのWebアプリケーションも同じ共有インスタンス上で動作するため、パフォーマンスについては「独占」というわけにはいかない点が、マルチテナントとしての注意点だ。

 またWebサイトには、1人のユーザーだけが占有する「予約インスタンス」(=その上に自身のアプリケーションを複数、展開できる)上でWebサイトを実行する形態も用意されている。

 この予約インスタンスを利用すれば、ほかのユーザーの負荷の影響を最小限に抑えて自身のWebサイトを展開できる。言うなれば、従来のクラウド・サービスのWebロールと、共有インスタンス上のWebサイトの中間といったところだ。

 以上の説明をまとめたのが次の図である。

図1 共有インスタンスと予約インスタンス

 共有インスタンスと予約インスタンスに関する制限事項は以下の表のとおりだ。

項目 共有インスタンス
(Shared Instance)
予約インスタンス
(Reserved Instance)
価格*2 最長90日+12カ月間無償 通常のインスタンス・サイズ(S/M/L)料金の33%引き
最大サイト数 10 100
最大インスタンス・サイズ 3 3
SLA*1 なし なし
ストレージ*3 1Gbytes(全サイトで共有) 10Gbytes(全サイトで共有)
データベース MySQL: 20Mbytes MySQL: 20Mbytes
データ転送*4 送信: 165Mbytes/日まで無償
受信: 無償
送信: 有償
受信: 無償
カスタム・ドメイン名 なし
サポート FAQ/フォーラム 電子メール/電話/FAQ/フォーラム
表1 制限事項*1
*1*2 2012年7月現在は、プレビュー期間中のため、制限事項や価格は今後、変更される可能性がある。
*3 ファイルの書き込みはアプリケーションのコンテンツ・フォルダまたはそのサブフォルダのいずれかに配置する必要がある。
*4 Windows Azureから見たトラフィック(送信=Webサイトからインターネットへのデータ転送、受信=インターネットからWebサイトへのデータ転送)。

 またWebサイトでASP.NETを使用する場合、現時点で以下の事項に注意されたい。

  • ランタイムはASP.NET 4.0またはそれ以前のバージョンをサポート(現時点でASP.NET 4.5は動作しない)
  • ASP.NETアプリケーションは、統合モードのIISで実行される
  • Windows認証は利用できない
  • メンバシップやプロファイル、ロール管理、セッション管理などプロバイダ・ベースの機能を使用するために、「ASP.NET Universal Providers」(=NuGetパッケージの「System.We.Providers」)を使用する必要がある

Webサイトとクラウド・サービス

 Webサイトの概要については前項のとおりだ。では、これまで提供されていたクラウド・サービスであるWebロールとの違いについて詳細を見てみよう(以下の表を参照)。

機能 Webサイト Webロール
(クラウド・サービス)
共有キャッシュやサービスバス、ストレージなど、ほかのサービス利用
Classic ASP/ASP.NET/PHP/Node.js *5
Git/FTPによるデプロイ -
MySQLサービスの利用 *6
HTTPS接続 *7
エンドポイントの編集 -
環境変数/ステージング環境 -
管理者特権の利用 -
スタートアップ・タスクによる起動時処理 -
Windows Azure VPN/Windows Azure Connect -
リモート・デスクトップ -
アプリケーションのインストール -
ランタイム、フレームワークなどのインストール - *5
表2 WebサイトとWebロールの比較
*5 .NET Frameworkを除くほかのフレームワーク(PHPやRuby、Javaなど)はユーザーによるインストールが必要。
*6 MySQLサービスはClearDBのMySQLサービスを利用。Webサイトのプロビジョニング時に設定され統合利用できる。Webロールの場合はMySQLサービスの利用開始や設定を別途行う必要がある。
*7 既定で「*.azurewebsites.net」のワイルドカード証明書が有効になっている。Preview版時点ではカスタム・ドメイン名に対する証明書の追加などは行えない。

 大きな違いは、マルチテナント形式のWebサイトは、IIS上でアプリケーション・サーバとして動作し、IISのアプリケーション・レイヤより下位のOSに近い部分はユーザーには解放されていない点だ。そのためWebサイトでは、管理者特権やOSに関わる機能は全て利用不可となっている。また、アプリケーション・フレームワークもあらかじめ用意されたものしか使用できない。

 その代わりとして、Webサイトでは簡単にWebアプリケーションを管理・展開できるようになっている。WebサイトへのWebアプリケーションの展開には、Webロールで利用できたWeb配置ツール(=WebDeploy)に加え、現在Preview版のTeam Foundation Service(以下、TFS)やGitによるバージョン&ソース・コード管理システムからの配置や、FTPを使用したアプリケーション・ファイルの直接配置を行える。

 ユーザーはWindows AzureのインスタンスそのものやOSの稼働状態などの管理を意識せずに直感的に配置・展開することが可能だ。またWebロールでは、サービス・パッケージの作成にWindows環境が必要だったのに対し、前述したとおりGitやTFS、FTPなどを使用することで、WindowsだけでなくMacやLinux上からでも開発/展開できるようになった。

*補足: 前回も記載したが、Windows Azureの管理ツールもWindows/Mac/Linuxで利用できるようになり、オープン化が進んでいる。

Webサイトを利用する

 Webサイトは現時点でPreview機能であるため、利用するにはWindows Azureのプレビュー機能ページ(次の画面を参照)から申し込みを行い、アクティブ化する必要がある。

図2 Webサイトの申し込み
Webサイトは現時点でPreview機能である。
  [try it now]ボタンから利用開始を申し込む。

 Webサイトがアクティブになった後、新しくなったWindows Azure管理ポータル(Preview版)にアクセスすればWebサイトが利用できる。次の画面はその表示例である。

図3 新しいWindows Azure管理ポータル
Webサイトがアクティブになると、管理ポータル上のナビゲーション・エリアに[WEB SITES]が表示される。
  ナビゲーション・エリア …… サービスや選択したアイテムの一覧などが表示されるエリア。
  メニューバー …… 現在選択しているアイテムに関するメニューが表示されるエリア。

 ナビゲーション・エリアの[WEB SITES]が有効化されていれば利用可能だ。新しいWebサイトを作成するには、[CREATE A WEB SITE]リンクをクリックするか、(次の画面のように)下部のメニューから[NEW]を選択し、展開されたメニューから[WEB SITE]を選択すればよい。

図4 Webサイトの新規作成

 その[WEB SITE]の配下にあるメニューについてそれぞれ説明していこう。

[Quick Create]メニュー

 空のWebサイトを作成するには、このメニューを選択する。URLと作成先のリージョン(=データセンター)を選択するだけで、10秒程度でWebサイトが準備される。

[Create With Database]メニュー

 Windows Azure SQL DatabaseやMySQLサービスなど、Webサイトと同時にデータベースを作成する場合に選択する。

 ウィザード(次の画面を参照)に従い、Webサイト名やデータベースの種類などを入力するだけでWebサイトとデータベースが作成される。

図5 Create With Database選択時のウィザード画面例

[From Gallery]メニュー

 ギャラリーから作成する場合、Windows Azure上に登録されている多数のオープンソース・プロダクト(例えばWordPressやUmbracoなど)のリスト(次の画面を参照)から選択してWebサイトを作成することができる。

図6 From Gallery選択時のウィザード画面例

 ギャラリーから選択し、その後に表示されるウィザードを進めて、必要なホスト名や、作成先のデータセンター、データベースなどを指定していけば、ギャラリー・アプリケーションのひな型がすぐに展開される。また展開後のギャラリー・アプリケーションは、通常のWebサイトと同様に開発や配置を行うことも可能だ。

 次のページでは、Webサイトのアプリケーション開発について説明する。


 INDEX
  [特集]Windows Azure Webサイト入門
  新規サイトが素早く立ち上げられるWindows Azure Webサイト
  1.Windows Azure Webサイトの概要/Webロールとの比較/新規作成
    2.Webアプリケーションの開発と配置/WebMatrix 2の利用
    3.Webアプリケーションの管理


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間