.NET TIPS [Azure]Windows AzureアプリケーションをVisual Studioからデプロイするには?[3.5、4、C#、VB]山田 祥寛2010/06/24 |
|
|
クラウド・アプリケーションの開発というと、反射的に「特殊なもの」と考えてしまいがちであるが、決してそのようなことはない。Windows Azure Tools for Microsoft Visual Studio(以降、Azure Tools)を利用すれば、これまでのASP.NETアプリケーション開発の延長線の知識で、Windows Azureアプリケーション(以降、Azureアプリケーション)は開発できる。
本稿では、Visual Studioで作成したアプリケーションをクラウド環境であるWindows Azureに配置(=デプロイ)する方法を解説する。なお、本稿の手順は、「TIPS:[Azure]Windows Azureアプリケーションを開発するには?(環境設定)」の作業を終えていることを前提としている。
●デプロイの準備
Azureアプリケーションを配置するには、
(1)ホスティング・サービスの作成
(2)ストレージ・サービスの作成
(3)クライアント証明書の登録
という事前準備が必要となる。(1)(2)の手順については、あらかじめWindows Azure Platformのアカウントを入手(購入)しておく必要がある。アカウントの入手方法については本稿では触れないので、「MSDN:Windows Azure 購買〜アクティブ化 Step by Step」を参考にされたい。
(1)ホスティング・サービスの作成
ホスティング・サービス(=Azureアプリケーションをホスト・運用する環境)を作成するには、Azure管理者ポータルのトップ・ページから以下の要領でページをたどってほしい。
- [My Projects]ページからプロジェクト名(=プラン購入時に決めた名前)を選択
- 次の[<プロジェクト名>]ページ右上の[New Service]リンクをクリック
- [Create a new service]ページから[Hosted Service]を選択
すると、[Service Properties]ページ→[Hosted Service]ページと開くので、それぞれのページで以下の情報を入力する。
ページ | 項目 | 設定値 |
Service Label | サービスを識別するための名前 | AzureBook |
Service Description | サービスの説明 | .NET TIPSサンプル |
Public Hosted Service URL | 外部に公開するURL | wings-project |
Hosted Service Affinity Group | ロケーション | [Yes, this service is〜]−[Create a new Affinity Group]([Affinity Group]は「wings」、[Region]は「East Asia」とする) |
サービス作成に必要な情報 |
「Region」は使用するデータセンターの位置を、「Affinity Group」は、データセンター内でのさらに細かな配置グループを表す。Regionが同じサービス同士でも、必ずしもネットワーク的に近接した位置に設置されるとは限らない。頻繁にやり取りするホスティング・サービスや後述するストレージ・サービスには同一のAffinity Groupを設定しておくのが望ましい。
[Create]ボタンをクリックすると、サービスが作成され、[Manage Project]ページが表示される。ページ上部の[Account]リンクをクリックすると、[Account]ページが開くので、サービスの詳細情報も確認しておこう。特にページ末尾の[Subscription ID]は、後からサービスに接続する場合に必要となる情報である。
(2)ストレージ・サービスの作成
Visual Studioからデプロイを行う場合、パッケージ(=アプリケーションをまとめたアーカイブ)はいったんストレージに保存されたうえで、ホスティング・サービスに展開される。あらかじめストレージ利用のためのアカウントを作成しておこう。
ストレージ・サービスを作成するには、Azure管理者ポータルのトップ・ページから以下の要領でページをたどってほしい。
- [My Projects]ページからプロジェクト名(=プラン購入時に決めた名前)を選択
- 次の[<プロジェクト名>]ページ右上の[New Service]リンクをクリック
- [Create a new service]ページから[Storage Service]を選択
すると、[Service Properties]ページ→[Storage Account]ページと開くので、それぞれのページで以下の情報を入力する。
ページ | 項目 | 設定値(例) |
Service Label | サービスを識別するための名前 | AzureStorage |
Service Description | サービスの説明 | .NET TIPSサンプル |
Public Storage Account Name | 外部に公開するURL | wings |
Storage Account Affinity Group | ロケーション | [Yes, this service is〜]−[Use existing Affinity Group]([Affinity Group]は「wings」) |
サービス作成に必要な情報 |
すでに述べたように、Affinity Groupには先ほど作成したグループ名を設定しておく。
(3)クライアント証明書の登録
Windows AzureにVisual Studioから接続するには、証明書の登録という作業が必要となる。証明書を作成/登録するには、サーバ・エクスプローラから[Windows Azure Compute]を右クリックし、表示されたコンテキスト・メニューから[Add Slot]を選択する。
[Add Slot]ダイアログ |
[Add Slot]ダイアログが表示されるので、[Windows Azure Accounts]を右クリックし、コンテキスト・メニューから[New]を選択する。
[Create Certificate]ダイアログ |
[Create Certificate]ダイアログが表示されたら、フレンドリ名(=証明書の名前)を入力し、[OK]ボタンをクリックする。ここではフレンドリ名を「TipsCer」としておく。これでTipsCer証明書が作成され、ローカル・マシンにインストールされた。
[Cloud Service Management Authentication]ダイアログ |
続いて[Cloud Service Management Authentication]ダイアログが表示されるので、下記の表の要領で必要な情報を入力していこう。
項目 | 概要 | 入力値(例) |
Create or select 〜 | 認証に使用する証明書 | TipsCer |
Copy the subscription ID〜 | ホスティング・サービスのサブスクリプションID((1)で確認した値) | 9590e755-h39g-4z8u-948a-9131793d0aae5d0 |
Name these credentials | 証明書の名前 | DotNetTips |
[Cloud Service Management Authentication]ダイアログ |
先ほど作成した証明書は、Windows Azure側にも登録する必要がある。登録には、先ほどホスティング・サービスの作成で見た[Account]ページから[Manage My API Certificates]をクリックする。[Manage My API Certificates]ページが開くので、証明書ファイル(.cerファイル)のパスを入力して、[Upload]ボタンをクリックする。
[Manage My API Certificates]ページ |
証明書のパスは、[Cloud Service Management Authentication]ダイアログ中ほどの[Copy the full path]をクリックすることで取得できる。
[OK]ボタンをクリックすると、[Add Slot]ダイアログに戻り、[DotNetTips]という項目が追加されているはずだ。
●デプロイの実行
以上で、デプロイのための事前準備は完了である。やや面倒にも感じられるかもしれないが、あくまで初回のみの準備であるので、次回以降のデプロイでは以上の手順は不要である(以降の手順のみ踏めばよい)。
それではさっそく、デプロイを行ってみよう。先述の「TIPS:[Azure]Windows Azureアプリケーションを開発するには?(環境設定)」で作成したAzureTestプロジェクトを開き、ソリューション・エクスプローラから[AzureTest]を右クリック、[発行]を選択する*1。
*1 ロール・プロジェクトを選択しても、発行メニューが表示されるが、こちらは通常のASP.NETアプリケーションの発行となる。間違えないように、注意されたい。 |
[Publish Cloud Service]ダイアログ |
ダイアログ上部の[Deploy your Cloud Service to Windows Azure](Windows Azureにサービスを配置)を選択したうえで、[Hosted Service:〜]右端の矢印アイコンで詳細を展開し、必要な情報を入力する。
入力項目 | 概要 | 設定値 |
Credentials | (3)で定義した認証情報 | DotNetTips |
Hosted Service Slot to deploy to | デプロイ先のスロット | Staging |
Storage Account to deploy through | 利用するストレージ・アカウント | AzureStorage |
Prompt before deleting an existing deployment | 既存のデプロイを削除する場合、ダイアログを表示するか | チェックしない |
Deployment Label | デプロイを識別するためのラベル | AzureTest - 2010/06/12 23:16:21 |
Enable IntelliTrace for .NET 4 roles | IntelliTrace機能(後日詳細)を利用するか | チェック |
[Publish Cloud Service]ダイアログの設定値(例) |
Windows Azureには、動作環境用のスロットとしてStaging環境、本番実行用のスロットとしてProduction環境が用意されている。今回はStaging(テスト)環境にデプロイする。デプロイ・ラベルには、配置を識別するためにサービス名+日付(バージョン情報)など、任意の文字列を指定すればよい。
[OK]ボタンをクリックすると、ビルド&デプロイが開始される。
[Windows Azure Acivity Log]ウィンドウ |
デプロイ状況は、Visual StudioのIDEの[Windows Azure Acivity Log]ウィンドウからリアルタイムに確認できるので、最終的に上の画面のような表示になったら、[Website URL]のURLをクリックし、実際にページを参照できることを確認してみよう。正しくページが表示されれば、アプリケーションは正しくデプロイできている。
利用可能バージョン:.NET Framework 3.5 利用可能バージョン:.NET Framework 4 カテゴリ:Azure 処理対象:Windows Azure 関連TIPS:[Azure]Windows Azureアプリケーションを開発するには?(環境設定) |
「.NET TIPS」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|