ASP.NET利用者から見るWindows Azure Webサイト

第1回ASP.NET Webプロジェクトのデプロイ

2014年2月26日より日本データセンターでの稼働を開始したWindows Azure。本連載ではWindows Azureが提供するサービスの内、Windows Azure Webサイト⁠以降、Webサイト)の機能をASP.NET利用者の視点から紹介します。

連載の目的

初めての「Webサイト」に対する疑問を解消し、ASP.NETで作成するWebアプリケーションを「Webサイト」上で運用するイメージを掴みます。⁠何ができて何ができないのか?」⁠ASP.NETのような動的なWebアプリケーションを運用するには不十分ではないか?」⁠クラウドサービスの方が適しているのではないか?」といった疑問を解消します。

「Webサイト」だからこそできること

「Webサイト」はWindows Azureが提供するサービスの中で、最もWebホスティングに特化したPaaSと言えます。Webホスティングに特化しているからこそ、利用者はWebアプリケーションの構築/運用に集中でき、⁠Webサイト」の強力なサポートを受けられます。ただのオンプレミス環境の代わりでは収まらない、⁠Webサイト」の機能を、ASP.NET利用者の視点から紹介します。

注意:
今後のWindows Azureの更新により、執筆内容が最新の内容とは違う可能性があります。
「Webサイト」は、無料/共有(現在はプレビュー⁠⁠/標準の3つのレベルで提供され、レベルによっては利用できない機能があります。随時補足します(参考:Web サイトの料金詳細⁠。

第1回目のポイント

第1回目は、ASP.NET Webプロジェクトの用意から「Webサイト」へのデプロイ、サイトへのアクセスまでの一連の流れを追いながら、以下のポイントを押さえます。

ポイント

  • 「Webサイト」はClassic ASPから昨今のASP.NETフレームワークまで対応
  • ASP.NET Webプロジェクトをそのままデプロイ可能
    • WebDeployやソース管理システム等、数多くのデプロイ方法をサポート
    • デプロイ履歴の参照/ロールバックが可能
  • 既定ドメインに対し、SSL接続が提供される

ASP.NET Webプロジェクトの用意

「Webサイト」ではどのようなプロジェクトを用意すればよいのでしょうか?「Webサイト」では、Classic ASPやASP.NETで構成されたプロジェクトをそのままデプロイできます。プロジェクトの作成手順はオンプレミス環境の場合と同様で、Windows Azure特有のプロジェクトを用意する必要はありません。

図1 ASP.NET Webプロジェクト
図1 ASP.NET Webプロジェクト

画像はVisual Studio 2013でASP.NET Webプロジェクトを1つ作成した後のソリューションエクスプローラーです。このプロジェクト構成のままデプロイが可能となります。

.NET Frameworkのバージョンとマネージパイプラインモードの選択

ASP.NET Webプロジェクトの.NET Frameworkのバージョンは、現在2.0から4.5.1までが利用可能です。また、ASP.NETだけでなくClassic ASPも動作可能です。

環境設定は、管理ポータル(Windows Azureの設定を行うサイト)から行います。参考として、.NET Frameworkのバージョンの選択とClassic ASPを動かすための設定―マネージパイプラインモードの設定を行う図を、IISマネージャー/管理ポータルの両方を比較して掲載します図2⁠。左がIISマネージャー(バージョン8.5)での設定画面、右が管理ポータルでの設定画面です。

図2 .NET Framework のバージョンとクラシック/統合モードの設定比較
図2 .NET Framework のバージョンとクラシック/統合モードの設定比較

上の.NET Frameworkのバージョンで表示される数字は、IISマネージャーではCLRのバージョンが、管理ポータルでは.NET Frameworkのバージョンが表記されているので注意。

補足:
2014年2月末頃より、IISマネージャーのリモート管理に対応しました。制限はありますが、IISマネージャーから「Webサイト」の設定を行うことができます。

ASP.NETのフレームワークはすべて(ASP.NET Web ページ/ASP.NET Web フォーム/ASP.NET MVC/ASP.NET Web API /ASP.NET SignalR)利用できます。また、ASP.NET Webプロジェクトの種類はWebアプリケーションプロジェクト/Webサイトプロジェクトの双方が利用できます。

「Webサイト」へのデプロイ

プロジェクトを用意した後は、⁠Webサイト」へのデプロイを行います。デプロイの前にプロビジョニングを行う必要がありますが、ここでは省略します(プロビジョニングは管理ポータルから数クリック、数秒~数十秒でできます⁠⁠。

「Webサイト」ではデプロイ方法の種類が数多く用意されています。ここでは、特徴により次の3つのグループに分けて紹介します。

  • A.オンプレミス環境と同じ方法でのデプロイ:WebDeploy/FTP
  • B.ローカル環境からGitを使ってデプロイ:ローカルGit
  • C.ソース管理システムと連携した継続的なデプロイ:Git/Mercurial/Bitbucket/CodePlex/Dropbox/GitHub/Visual Studio Online

特徴B、Cのデプロイ方法では、デプロイ履歴の参照/ロールバックを行うことができます。それぞれどのようにデプロイを行うのか順番に見ていきます。

A.オンプレミス環境と同じ方法でのデプロイ

「Webサイト」はオンプレミス環境と同じ様にWebDeploy/FTPによるデプロイが可能です。ASP.NET利用者にとって一番お手軽なデプロイ方法は、Visual StudioやWebMatrixから直接操作を行うことができるWebDeployでしょう。

Visual Studio 2013の場合は、プロジェクトの右クリックメニューの発行から「Webサイト」へデプロイします図3⁠。WebDeployの設定は、管理ポータルから発行プロファイルをダウンロードする、またはダイアログ上でWindows Azureアカウントの情報を入力することで取得します。

図3 Visual Studio 2013からデプロイする様子
図3 Visual Studio 2013からデプロイする様子

FTPを使ってファイルをアップロードする場合は、ホスト名とユーザ名を管理ポータルより確認します。ユーザ名とパスワードは、管理ポータルの「デプロイ資格情報のリセット」より設定/変更が可能です。

参考として、FTPクライアントを使って接続先のルートディレクトリを、ツリーで表示した図を掲載します。

図4 接続先のルートディレクトリ
図4 接続先のルートディレクトリ

「\site\wwwroot」がアプリケーションファイルを配置するフォルダです。

B.ローカル環境からGitを使ってデプロイ

図5 ローカル環境からGitを使ってデプロイ
図5 ローカル環境からGitを使ってデプロイ

この方法は「ローカルGit」と呼ばれます。ローカル環境にあるGitリポジトリから、⁠Webサイト」内に作成されるGitリポジトリ対してプッシュを行うことで、⁠Webサイト」の内容を更新します。⁠Webサイト」内のGitリポジトリは、管理ポータル上でローカルGitを有効化した際に作成されます。

次の図6は、管理ポータルにてローカルGitを有効化した後の画面です。プッシュ先のGitのURL、プッシュを行う手順を確認できます。

図6 管理ポータルからローカルGitの方法を確認する
図6 管理ポータルからローカルGitの方法を確認する

このローカルGitでは、デプロイ履歴の参照/ロールバックを行うことができます。

例として、ローカルGitの方法で3回デプロイを行った後の画面を掲載します図7⁠。3回分のプッシュ情報(時間、コミットのコメント、ユーザ名等)が表示されています。ロールバックを行うには、該当するデプロイを選択し、ページ下部の「再デプロイ」をクリックします。

図7 3回プッシュを行った例
図7 3回プッシュを行った例

C.ソース管理システムとの関連付けによるデプロイ

図8 ソース管理システムとの関連付けによるデプロイ
図8 ソース管理システムとの関連付けによるデプロイ

この方法は、先に紹介したWebDeployやローカルGitとは違い、⁠Web サイト」に対してアクションを行うのではなく、ソース管理システム(Git/Mercurial/Bitbucket/CodePlex/Dropbox/GitHub/Visual Studio Online)に対してアクションを行います。ソース管理システム内のプロジェクトが更新されると、⁠Webサイト」へ通知され、変更を取得します。常に最新の内容が自動的に「Webサイト」へ反映されるため、継続的なデプロイが可能です。

この方法を開始するには、管理ポータル上にて「Webサイト」とソース管理システムとの関連付けを行う必要があります。具体的には、どのソース管理システムを選択するか、アカウント情報、外部リポジトリのURL等の情報を入力します。

また、この方法でもローカルGitと同じように、デプロイ履歴の参照/ロールバックを行うことができます。

補足:
Dropboxはソース管理システムではなくストレージサービスです。Dropbox上にあるファイルを「Webサイト」へデプロイすることが可能です。
Visual Studio Onlineは、2013年11月に提供を開始したクラウドベースの開発環境です。Team Foundation Serviceを含みます。

デプロイ後のWebサイトを確認する

デプロイが完了したら、サイトにアクセスしてみましょう。デプロイ先のドメインは、既定では「*.azurewebsites.net(*は設定した名前が入ります。⁠⁠」です。また、デプロイと同時に同ドメインへのSSL接続が提供され⁠https://*.azurewebsites.net」へのアクセスが可能です(追加料金は発生しません。カスタムドメインによるSSL接続の場合は料金が発生します⁠⁠。

ASP.NET利用者のコメント

多数用意されているデプロイ方法と、デプロイ履歴の参照/ロールバックは「Webサイト」の強力な機能です。外部のソース管理システムが利用できない場合は、ローカルGitがオススメです。ローカル環境(自分のコンピュータ等)にGitをインストールするだけでデプロイが可能、デプロイ履歴の参照/ロールバックも利用できます。

1つ注意する点は権限です。FTPやローカルGit等のデプロイで使用するユーザ名/パスワードは、Windows Azureアカウント内すべての「Webサイト」で共有されます。また、管理ポータル上からはすべての「Webサイト」の操作が可能で、⁠Webサイト」毎に制限を設ける、といったことはできません。

今回は、ASP.NET Webプロジェクトの用意から、⁠Webサイト」へのデプロイ、サイトへのアクセスという一連の流れを追いながら、付随する「Webサイト」の機能を確認しました。次回は、カスタムドメイン/デプロイ後にファイルを編集する方法/ログ機能を紹介します。

おすすめ記事

記事・ニュース一覧