特集:Windows Azure Webサイト入門

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

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

Webアプリケーションの開発

 Webサイトに対応したWebアプリケーションの開発は、従来のWebアプリケーションとそれほど差異はない。Classic ASPやASP.NETのほか、PHPやNode.jsを使用してアプリケーションを開発することが可能だ。もちろん開発時に使用するOSや開発ツールは、使い慣れたものを使用できる。

* PHPおよびNode.jsはWindows環境を用意しなくても開発可能だが、WebサイトはWindowsサーバのIIS上で動作するため、Web.configファイルなどIIS固有の設定などには注意する必要がある。

WebMatrix 2の利用

 Webサイトには、Windows向けの無償の統合開発環境としてWebMatrix 2(現在はRC版=リリース候補版)が用意されている。WebMatrix 2では、ASP.NET/PHP/Node.jsのWebアプリケーションについてIntelliSense(=コード入力補完機能)やiOS(=iPhone/iPad向けのOS)上のブラウザのシミュレータによる動作確認、Webサイトへのアプリケーションの発行など、開発に必要な豊富な機能を利用することが可能だ。

 WebMatrix 2を使用するには、管理ポータルから対象のWebサイトを選択し、[WebMatrix]メニューを選択すればよい(次の画面を参照)。

図7 WebMatrixメニュー
WebMatrix 2を使用するには、管理ポータルから対象のWebサイトを選択し、[WebMatrix]メニューを選択。
  [WebMatrix]メニュー …… このメニューを選択することでWebMatrix 2の起動(初回時はインストールも含む)が行える。

 初回起動時はインストールが最初に実行されるが、2回目以降は直接Webサイトを編集できる。また、(次の画面のように)WebMatrix 2のテンプレートやギャラリーを使用してオープンソース・プロダクトのひな型を基にアプリケーションの開発をスタートすることも可能だ。

図8 WebMatrixに組み込まれているテンプレート例

*補足: TFSやGitによって展開したWebサイトの場合などでは、[WebMatrix]メニューが表示されない。そんな場合でも、[Download publish profile]リンクからWeb配置ツール用のプロファイルをダウンロードし、WebMatrixにインポートすれば、WebサイトとWebMatrixの連携が可能になる。

Webアプリケーションの配置

 Webサイトのアプリケーションの配置と管理について、ユーザーの開発環境や開発手法に応じて適切なものが選択できるように、以下の4種類の方法が用意されている。

  • TFS
  • Git
  • Web配置ツール(WebDeploy)
  • FTP

 それぞれの方法は、管理ポータル上の[WEB SITE]の各アプリケーションの[Dashboard]ページ(次の画面を参照)に必要な情報やリンクが含まれているので、このページやそのリンク先を参照するとよい。

図9 Webサイトの[Dashboard]ページ
Webサイトのアプリケーションの配置と管理に関する情報がまとめられている。
  Webサイトの管理項目へのリンク・ナビゲーション。
  CPU時間などのモニタ表示領域。
  現在のリソースの利用状況。
  SQL Database/MySQL/ストレージ(Storage)など関連するリソースの一覧。
  Webサイトに関する情報や関連する機能へのリンク。

 4種類の方法について、それぞれ説明していこう。

Team Foundation Service(Preview版)

 TFSはアプリケーション・ライフサイクル管理(ALM)が行えるプロダクト「Team Foundation Server」のクラウド・サービス版だ。ユーザーはTFS上のプロジェクトにソース・コードのチェックインを行えば、自動的にTFS上でビルド・タスクが実行され、成功すればビルドされたアプリケーションがWebサイトに展開される。

 また、Visual Studio 2010 SP1やVisual Studio 2012 RC版のほか、EclipseのようにTFS用のアドインが存在するIDE(=統合開発環境)を使用すれば、IDE上からソース・コードの管理とアプリケーションの展開まで行える。

 TFSと連携するようにWebサイトを設定するには、[Dashboard]ページの[quick glance]から[Set up TFS publishing]リンクをクリックし、そこで表示されるウィザード(次の画面を参照)に従ってTFS上のプロジェクトに接続すればよい。

図10 TFS連携ウィザード
TFSと連携するようにWebサイトを設定しているところ。
  [Existing user]欄 …… 連携するTFSのURLを入力する。
  [Authorize Now]リンク …… Windows Azureからのアクセスを許可するために認証を行う。
  [Create a TFS account now.]リンク …… TFSにアカウントを作成する場合はこのリンクをクリックし、TFS側でアカウントおよびプロジェクトの作成などを行う。
  [Select The Project to Publish]一覧 …… Webサイトと連携するTFS上のプロジェクトを一覧から選択する。

*注意:  TFS上にアカウントおよびプロジェクトがない場合は、ウィザードの[Create a TFS account now.]リンクから作成しておく。

 TFSとの連携が完了した後、Visual Studio 2010などからソース・コードをチェックインすると、ビルドが実行され、 Webサイトにアプリケーションが配置される。

 TFSによるバージョン管理を行っているので、次の画面のように[REDEPLOY]メニューから選択した時点までの過去のバージョンのアプリケーションに戻すことも可能だ。

図11 TFSによるバージョン管理
過去のバージョンのアプリケーションに戻すことも可能。
  これまでに配置されたWebアプリケーションの一覧から戻したいバージョンを選択する。
  [REDEPLOY]メニューを選択すれば選択しているバージョンがWebサイトに再配置される。

*補足:  Visual Studio 2010 SP1をTFS(Preview版)と連携させるためには、以下のHotfix(=パッチ)を事前に適用しておく必要がある。

Git

 Gitはオープン・ソースの分散型バージョン管理システムだ。WebサイトのGit連携を行うことで、Webサイト側にGitのリポジトリが作成され、ソース・コードのバージョン管理が行えるようになる。

 Gitと連携するには、Webサイトの[Dashboard]ページにて[quick glance]から[Set up Git publishing]リンクをクリックすれば、Gitリポジトリが準備される。次の画面はGitリポジトリが作成された例。

図12 Git連携
Gitリポジトリが作成されたところ。
  [Git URL] …… Webサイト上に作成されたGitリポジトリのURL。

 ユーザーは、作成されたWebサイト上のGitリポジトリに対しPush(=プッシュ。ローカルにあるGitリポジトリからリモートにあるGitリポジトリにソース・コードを送ること)すれば(次の画面はその例)、必要に応じてWebサイト上でビルドが走り、Webアプリケーションが展開される。

図13 GitコマンドによるPush
作成されたWebサイト上のGitリポジトリに対してPushしているところ。
  Gitコマンドを使用してWebサイト上のリポジトリにPushする。
  Webサイト上の配置ユーザーのパスワードを入力する。
  Visual Studioなどのプロジェクト・ファイルを含むソース・コードの場合、Push完了後にWebサイト上でビルドが実行され、Webアプリケーションが配置される。

 Git連携ではバージョン管理も行っているので、TFSの場合と同様に[REDEPLOY]メニューから選択した時点までの過去のバージョンのアプリケーションに戻すことも可能だ(次の画面を参照)。

図14 Gitによるバージョン管理
[REDEPLOY]メニューから選択した時点までの過去のバージョンのアプリケーションに戻せる。
  これまでに配置されたWebアプリケーションの一覧から戻したいバージョンを選択する。
  [REDEPLOY]メニューで、過去のバージョンを選択すれば、そのバージョンがWebサイトに再配置される。

Web配置ツール(WebDeploy)

 Web配置ツールを使用する場合、発行先の情報などをまとめたプロファイル(=.PublishSettingsファイル)を[Dashboard]ページの[quick glance]にある[Download publish profile]リンクからダウンロードできる。

 このプロファイルを使用することで、Visual StudioのWebアプリケーション・プロジェクトの[発行]メニュー実行時やWeb配置ツールを使用する際に、接続先に関する設定を省略して直接、Webサイトにアプリケーションを発行することが可能だ。

 以下に、プロファイルのダウンロードと、Web配置ツールへのインポート手順を示す。

[Download publish profile]リンクをクリックして、プロファイルをダウンロード
Web配置ツールを起動する
[Import]ボタンをクリックして、プロファイルをインポート
図15 Web配置ツールによるWebアプリケーションの配置
プロファイルをダウンロードして、Web配置ツールにインポートしているところ。
  [Download publish profile]リンク …… Web配置ツールで使用するプロファイルのダウンロード用リンク。
  [Import]ボタン …… にてダウンロードしたプロファイルをWeb配置ツールにインポートする。
  プロファイルのインポート後、サーバとの接続に必要な接続情報が入力された状態となる。

 また、Web配置ツールにて作成したZip形式のパッケージ・ファイルを使用すれば、管理ポータルの[Dashboard]ページからパッケージ・ファイルをアップロードすることでいつでもアプリケーションの展開が可能だ。

FTP

 FTPを使用すれば、一般的なレンタル・サーバのようにFTPクライアントを用いて、直接、アプリケーションをWindows Azure上に展開できる。FTPに接続するためのURLとユーザー名は、[Dashboard]ページの[quick glance]にある[FTP Hostname]と[Deployment User]を使用する(次の画面を参照。FTP接続時に使用するユーザー名は「<サイト名>\<ユーザー名>」となっているので注意)。

図16 FTPに関する情報
FTPに接続するためのURLとユーザー名を調べているところ。
  [FTP Hostname] …… FTP接続先のURL。
  [Deployment User] …… FTP接続時の認証に必要なユーザー名。

 「ftp://*.ftp.azurewebsites.windows.net/site/wwwroot/」フォルダがWebサイトのドキュメント・ルートとなる。このフォルダにWebアプリケーション・ファイルを保存するだけですぐに公開される。次の画面は、そのドキュメント・ルートをWindowsエクスプローラのFTP接続機能により開いた例だ。

図17 FTP上のドキュメント・ルート・フォルダ

[注意]ユーザー名とパスワードについて

 FTPサイトやGitにアクセスする際は、事前に[Dashboard]ページの[Reset deployment Credentials]リンクから表示されるダイアログ(次の画面を参照)で、ユーザー名とパスワードを設定しておく必要がある。

図18 配置用ユーザーのリセット
FTPサイトやGitにアクセスするユーザー名とパスワードを設定しておく必要がある。
  [User Name] …… 配置用ユーザー名。
  [New Password] …… 新しいパスワード。

 なお、設定されたユーザー名とパスワードは全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 記事ランキング

本日 月間