Windows Azure 用アプリケーション開発            Step-by-Step チュートリアルガイド              マイクロソフト株式会社 コンサルティングサービス統括本部© 2010 Microsoft Cor...
目次第1章      はじめに .............................................................................................................
3.3.1     SQL Server Management Studio からの接続........................................................................ 61   ...
第1章                                                                                              はじめに1.1       本書の目的と前提条件 ...
コンピューティングシステムの全部または一部を他社に任せると、その部分の構築や保守、運用などについて 考える必要がなくなります。そのため、クラウドコンピューティングを活用すると、当該企業が本当に注力したい部 分にのみ、ビジネスリソースを割くことが...
1.2.3    Azure 用アプリケーション開発時に利用する主要サービス   Azure 用アプリケーションを開発する場合には、主に以下 3 つのサービスを利用します。   ・     Windows Azure コンピュートサービス(以下...
定義されており、そのデータ構造ごとに 3 種類のストレージがあります。それぞれのストレージには URI が付い        ていて、HTTP-REST プロトコル1によるアクセスができるようになっています。          種類      ...
1.2.4   Web アプリ開発時に考慮すべき Azure の特徴   通常(オンプレミス用)の Web アプリケーション開発と比較して、Azure 用の Web アプリケーション開発には、 PaaS アプリケーション開発特有の特徴があります...
このような背景から、Azure に適したアプリケーションと不向きなアプリケーションとがあります。A. Azure に適しているアプリケーション  ・   一般的なインターネットアプリケーション  ・   トラフィックが時期や時間帯により、大きく...
第2章                           簡単なサンプルを用いた Azure アプリケーションの開発 それでは、Azure 用のアプリケーションを開発していきましょう。2.1          開発環境の構築 Windows ...
これで IIS の追加インストールは終了となります。    2.1.2   Visual Studio 2010 Ultimate 評価版のインストール       次に開発ツールをインストールします。Windows Azure SDK 1.2...
2.1.4      Windows Azure Tools for Microsoft Visual Studio ver1.2 のインストール      最後に、Visual Studio 用の Windows Azure アプリケーション...
2.2.2   1 つ目の Web ページの作成   まず、Web プロジェクトに [Web フォーム] テンプレートから、1 つ目の Web ページ(WebForm1.aspx)ページ を追加します。そして、以下のような画面とロジックを作成し...
ダウンロードサイト          http://www.microsoft.com/downloads/details.aspx?FamilyId=06616212-0356-46A0-8DA2-EEBC53A68034&displayla...
2.2.4   ASP.NET 開発サーバー上での動作確認   以上の作業が終了したら、Ctrl + F5 キーでアプリケーションを起動し、実行してください。すると、ASP.NET 開 発サーバーが起動し、下図のようにアプリケーションが動作しま...
2.3           クラウドサービスプロジェクトの追加 それでは引き続き、このアプリケーションを Azure 用(Web Role サーバー用)に修正していきます。 2.3.1        クラウドサービスプロジェクトの役割     ...
・   次の [New Cloud Service Project] の画面で、何も選択せずに [OK] ボタンをクリックする。         先ほど作成した Web アプリケーションプロジェクトを追加するため、ここでは何も選択しません。B...
以上の作業により、[Roles] フォルダの中に、[WebApplication1] プロジェクトが追加されます。これにより、こ     の [WebApplication1] プロジェクトが Web ロールサーバー上に展開され、実行されるよう...
2.3.4   クラウドサービスプロジェクトの構成設定       次に、各ロール(サーバー)の構成設定を行います。クラウドサービスプロジェクトの [Roles] 下にある各ロール     をダブルクリックすると、構成設定画面が現れます。こちら...
ここでは、もっとも簡単な設定として、[WebApplication1] プロジェクトを動作させる仮想マシンを、3 つに変更     しておきます6。2.4         開発用ファブリック上での動作確認    ここまで設定が終了したら、いよい...
2.4.2   開発用ファブリックのランタイム構成       最終的な運用環境では、このアプリケーションは、ファブリックコントローラ 7によってコンピュートサービスのイン     フラ上に展開され、複数の仮想マシン(VM、Virtual Ma...
2.4.3       運用環境と比較した開発環境(開発用ファブリック)の特徴   この開発環境におけるエミュレーション動作を運用環境の動作と比較すると、以下のような特徴があります。  A. ワーカープロセス        ・   開発用ファブ...
C. ポート番号 ・   開発環境では、運用環境とはロードバランサからのリクエストのルーティング方法が異なります。        上図を見てわかる通り、運用環境では、各 VM マシンに対して、プライベート IP アドレスと、乱数       ...
さて、このままだと、このアプリケーションが実際にどのワーカープロセスで処理されているのかがわかりませ       ん。そこで、このアプリケーションの WebForm1.aspx.cs ファイルに以下のような修正を加えてください。        ...
2.4.4       開発用ファブリックへの配置の仕組み   では次に、この開発用ファブリックの動作の仕組みについて、もう尐し詳しく解説します。まず、タスクトレイの [Windows Azure Simulation Environment]...
ケ          ー             シ            ョ            ン             は             、            ”                 C:¥Users¥nak...
2.5.1   Diagnostic Monitor とは   コンピュートサービス内の各仮想マシンには、Diagnostic Monitor ランタイムと呼ばれるサービスがインストー ルされています。このサービスは、イベントログやパフォーマン...
つまり、トレースログやパフォーマンスカウンタのデータは、スキーマを持ったデータとして Table ストレージに      分解・整理・転送されますが、IIS ログファイルや FREB ログファイルなどは、ただのバイナリファイルとして Blob ...
B. Blob コンテナやテーブルの作成  次に、コンテナやテーブルを作成します。作成する際は、以下の 2 通りの方法があります。  ・     ツールを使って、手作業でコンテナやテーブルを作成していく方法  ・     コンソールアプリケーシ...
};                 string[] tableNamesToCreate = new string[]                 {                     "WADLogsTable", "WADDi...
設定を行うためには、以下の作業を行います。・       Web アプリケーションに WebRole.cs という名前のファイルを追加する・       参照設定として、Microsoft.WindowsAzure.ServiceRuntime...
dmc.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Verbose;                      // パフォーマンスカウンタ               ...
- - - (前略) - - -        <system.diagnostics>          <trace>            <listeners>              <add                    ...
ストレージに保存された IIS のログファイルを、ダウンロードするためのコードを以下に示します。 using   System; using   System.Collections.Generic; using   System.Linq; ...
ここまでコンピュートサービスの監視方法について解説してきました。これらの説明からわかるように、現時点では、コンピュートサービスの監視 API は、比較的剥き出しのような状態で、残念ながら、使いやすいツール類が充実しているとは言い難い状況です。3...
第3章                                                              Windows Azure 運用環境への展開 いよいよ本章では、作成した Web アプリケーションを Azure ...
A. Microsoft Online Services カスタマーポータルへのログイン  ・      Internet Explorer で下記 Microsoft Online Services カスタマーポータルにアクセスします。   ...
最初のプロファイル登録が終わると、カスタマーポータルの画面が表示されます。3.1.2       Step 2 - Microsoft Online Services カスタマー ポータルから Azure の購買  A. 初期特別提供プランの選...
・   ここでは [初期特別提供プラン] を選択し、 [今すぐ購入] をクリックします。・   購入の同意事項を確認してチェックボックスを入れ、 [購入手続きへ進む] ボタンをクリックします。                          ...
B. クレジットカードの登録と注文の確定         ・   支払い方法の入力画面からクレジットカードの情報を登録します12。         ・   新しいクレジット カードが選択されていることを確認して [次へ] ボタンをクリックします...
・   必要事項を入力したら、 [次へ] ボタンをクリックします。       すると、オンライン サブスクリプション契約が表示されます。・   オンラインサブスクリプション契約をご確認いただき、問題がなければ [次へ] ボタンをクリックしま...
確認画面が表示されれば支払い情報の登録は完了です。この画面から引き続き Azure のアクティブ化を    行います。3.1.3       Step 3 - Azure のアクティブ化   続いて、購入した権利で Azure を利用するための...
・   [アクション] のリストから [今すぐアクティブ化] を選択し、[移動] ボタンをクリックします。・   サービスのサブスクリプション名を入力し、[次へ] ボタンをクリックします。       サブスクリプション名は Azure で最...
・   続いてサービス管理者の情報を入力します。       すでに入力しているサービス購買の連絡先情報をコピーすることも可能です。       前述のサービス購買者と、ここで解説するサービス管理者との違いは以下の通りです。        ...
・   概要画面で入力情報を確認したら、[完了] ボタンをクリックします。 確認完了画面が表示されたら手続きは終了です。B. 作成されたプロジェクトの確認 完了手続きを終えると、登録に利用した Windows Live ID のアカウント宛に完...
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Windows azure stepbystep_tutorialguide
Upcoming SlideShare
Loading in...5
×

Windows azure stepbystep_tutorialguide

1,553
-1

Published on

これみてAzure開発環境作り直す!Win7評価版を使うのだ~

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,553
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Windows azure stepbystep_tutorialguide

  1. 1. Windows Azure 用アプリケーション開発 Step-by-Step チュートリアルガイド マイクロソフト株式会社 コンサルティングサービス統括本部© 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  2. 2. 目次第1章 はじめに ............................................................................................................................................. 5 1.1 本書の目的と前提条件 ....................................................................................................................... 5 1.2 Windows Azure Platform 概要 ........................................................................................................ 5 1.2.1 クラウドコンピューティングとは ...................................................................................................... 5 1.2.2 マイクロソフトのクラウドコンピューティングの全体像 ....................................................................... 6 1.2.3 Azure 用アプリケーション開発時に利用する主要サービス ............................................................ 7 1.2.4 Web アプリ開発時に考慮すべき Azure の特徴 ............................................................................ 9第2章 簡単なサンプルを用いた Azure アプリケーションの開発 .................................................................... 11 2.1 開発環境の構築 ............................................................................................................................... 11 2.1.1 Windows 7 Enterprise 評価版のインストールと IIS の追加インストール ................................... 11 2.1.2 Visual Studio 2010 Ultimate 評価版のインストール ................................................................ 12 2.1.3 SQL Server 2008 R2 Management Studio Express のインストール ....................................... 12 2.1.4 Windows Azure Tools for Microsoft Visual Studio ver1.2 のインストール .............................. 13 2.2 ローカルでの Web アプリケーション開発 ............................................................................................ 13 2.2.1 Web アプリケーションプロジェクトの作成 .................................................................................... 13 2.2.2 1 つ目の Web ページの作成 ..................................................................................................... 14 2.2.3 2 つ目の Web ページの作成 ..................................................................................................... 14 2.2.4 ASP.NET 開発サーバー上での動作確認 .................................................................................. 16 2.3 クラウドサービスプロジェクトの追加 .................................................................................................... 17 2.3.1 クラウドサービスプロジェクトの役割 ............................................................................................. 17 2.3.2 クラウドサービスプロジェクトの追加 ............................................................................................. 17 2.3.3 複数の Web アプリケーションを同時に展開する場合 .................................................................. 19 2.3.4 クラウドサービスプロジェクトの構成設定 ..................................................................................... 20 2.4 開発用ファブリック上での動作確認 .................................................................................................... 21 2.4.1 動作確認 .................................................................................................................................. 21 2.4.2 開発用ファブリックのランタイム構成 ............................................................................................ 22 2.4.3 運用環境と比較した開発環境(開発用ファブリック)の特徴 .......................................................... 23 2.4.4 開発用ファブリックへの配置の仕組み ........................................................................................ 26 2.5 Diagnostic Monitor によるアプリケーション監視 ............................................................................... 27 2.5.1 Diagnostic Monitor とは ......................................................................................................... 28 2.5.2 Azure ストレージ側の事前準備 ................................................................................................. 29 2.5.3 収集するログファイルに関する設定方法 ..................................................................................... 31 2.5.4 ログファイルの確認方法 ............................................................................................................ 34第3章 Windows Azure 運用環境への展開 ............................................................................................. 37 3.1 Windows Azure の購入................................................................................................................... 37 3.1.1 Step 1 - Microsoft Online Services カスタマー ポータル プロファイル登録........................... 37 3.1.2 Step 2 - Microsoft Online Services カスタマー ポータルから Azure の購買 ...................... 39 3.1.3 Step 3 - Azure のアクティブ化 ............................................................................................. 43 3.2 各種サービスの初期設定と Windows Azure API Certificate の登録 ............................................... 47 3.2.1 SQL Azure データベースサービスの初期設定 .......................................................................... 47 3.2.2 Windows Azure ストレージサービスの初期設定 ....................................................................... 51 3.2.3 Windows Azure コンピュートサービスの初期設定 ..................................................................... 55 3.2.4 API Certificate の登録 ............................................................................................................ 58 3.3 SQL Azure データベースサービスへの移行 ..................................................................................... 61 p.3 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  3. 3. 3.3.1 SQL Server Management Studio からの接続........................................................................ 61 3.3.2 テーブルの作成 ........................................................................................................................ 62 3.3.3 データの移行 ............................................................................................................................ 63 3.3.4 アプリケーションの接続文字列を変更......................................................................................... 64 3.3.5 動作確認 .................................................................................................................................. 64 3.4 Windows Azure ストレージサービスへの移行 ................................................................................... 65 3.4.1 ストレージ接続文字列の設定 ..................................................................................................... 65 3.4.2 Blob コンテナ・テーブルの作成 ................................................................................................. 66 3.5 Windows Azure コンピュートサービスへの移行 ................................................................................ 68 3.5.1 インスタンス数の変更 ................................................................................................................ 68 3.5.2 クラウドサービスのパッケージングと Azure 上への配置 .............................................................. 69 3.5.3 Windows Azure コンピュートサービスの動作確認 ..................................................................... 72 3.6 アプリケーションの修正と Azure 環境への再配置 .............................................................................. 73 3.6.1 開発用ファブリックと本番環境の相違点 ...................................................................................... 73 3.6.2 アプリケーションの修正 .............................................................................................................. 74 3.6.3 アップグレード ........................................................................................................................... 74 3.6.4 解決されない問題 ..................................................................................................................... 76 3.6.5 構成設定の変更 ....................................................................................................................... 77 3.6.6 本番環境への展開 .................................................................................................................... 78 3.6.7 サービスの停止 ......................................................................................................................... 80 3.6.8 アカウントの削除 ....................................................................................................................... 80第4章 Windows Azure 運用環境における課金 ....................................................................................... 81 4.1 Windows Azure 運用環境における課金を安く抑える方法 ................................................................ 81 4.1.1 トラフィックの課金 ...................................................................................................................... 81 4.1.2 Windows Azure コンピュートサービスの課金 ............................................................................ 82 4.1.3 Windows Azure ストレージサービスの課金 ............................................................................... 83 4.1.4 SQL Azure データベースサービスの課金 ................................................................................. 84 4.1.5 課金状況の確認 ....................................................................................................................... 84 4.1.6 課金の予測............................................................................................................................... 85 本書の利用条件: 本書に関するすべての権利は、マイクロソフト コーポレーション (以下、マイクロソフト) が保有しています。マイク ロソフトまたはその関連会社による事前の承諾がない限り、本書の全部または一部を複製 (電子装置等への保存・保管 を含む)、改変、翻案、再頒布、公衆送信、貸与、譲渡することは一切認められません。 マイクロソフトおよびその関連会社は、本書の内容について何ら保証するものではなく、本書の使用に関連してお客様 または第三者に生ずる間接的、付随的、結果的な損害 (営業機会や営業情報の損失などを含む) について一切責任を負 いません。 本書の中で例として使用されている企業、名前およびデータは、特に記述が無い限り架空のものです。 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan p.4 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  4. 4. 第1章 はじめに1.1 本書の目的と前提条件 本ガイドは、Windows Azure Platform について実際にご自身の手で開発を体験いただくためのチュートリアルガイドとなっております。Windows Azure と SQL Azure を使った、サンプル Web アプリケーションを Azure 用のアプリケーションにカスタマイズし、実際にデプロイするまでを、順を追って解説していきます。 本ガイドでは ASP.NET、SQL Server などに関する、基本的な開発スキルを前提として解説していきます。もし、これらに不安がある場合には、まず ASP.NET や SQL Server に関する書籍を学習した上で、本ガイドをご参照ください。1.2 Windows Azure Platform 概要 Azure 用アプリケーションを開発する前に、本章で Windows Azure Platform とはどのようなサービスかおさらいし、次章から Azure 用アプリケーションを開発していきます。 ・ クラウドコンピューティングとは(1.2.1) ・ マイクロソフトのクラウドコンピューティングの全体像(1.2.2) ・ Azure 用アプリケーション開発時に利用する主要サービス(1.2.3) ・ Azure 用アプリケーション開発時の基本的な注意点(1.2.4) 1.2.1 クラウドコンピューティングとは Azure は Microsoft が提供しているクラウドコンピューティングサービスの1つです。クラウドコンピューティング とは、ネットワークを介して提供される「サービス」を利用する形態のことを言います。 クラウドコンピューティングの大きな特徴は、低水準のハード構成やソフトウエアを意識する必要がないということ です。従来のコンピューティングシステムは、インフラ、アプリ、運用のすべてを自社で賄う必要がありました(これ をオンプレミスと言います)。クラウドコンピューティングでは、これらすべて、または一部を、他社に任せることがで きるようになります。ハード、ミドル、およびアプリの、どこの層まで他社に任せるかで、クラウドを分類することがで きます。 ・ IaaS ・・・ ハード部分のみ他社に任せてしまう ・ PaaS ・・・ インフラ部分(ハードおよびミドル)のみ他社に任せてしまう ・ SaaS ・・・ ハード、ミドルおよびアプリまで全て他社に任せてしまう p.5 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  5. 5. コンピューティングシステムの全部または一部を他社に任せると、その部分の構築や保守、運用などについて 考える必要がなくなります。そのため、クラウドコンピューティングを活用すると、当該企業が本当に注力したい部 分にのみ、ビジネスリソースを割くことができるようになります。1.2.2 マイクロソフトのクラウドコンピューティングの全体像 最適なクラウドコンピューティングは、ユーザー企業ごとに異なります。例えば、メールサーバーを例にとります。 メールサーバーの運用などをしたくない中小企業は SaaS が最適です。しかし、セキュリティポリシー上、メールを 社外に出せない企業は、オンプレミスが最適です。このため、マイクロソフトでは、オンプレミス型とクラウド型の 2 通りのシナリオを提供しています。 Windows Azure Platform は、マイクロソフトの PaaS 型のクラウドサービスです。自社開発アプリケーションを 載せるプラットフォームとして Windows Azure Platform を見た場合には、以下のような特徴があります。 ・ .NET Framework や Visual Studio を使った開発ができる ・ 煩わしいハードウェアやミドルウエア運用から解放される ・ 利用に応じた課金がなされる p.6 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  6. 6. 1.2.3 Azure 用アプリケーション開発時に利用する主要サービス Azure 用アプリケーションを開発する場合には、主に以下 3 つのサービスを利用します。 ・ Windows Azure コンピュートサービス(以下、コンピュートサービス) ・ Windows Azure ストレージサービス(以下、ストレージサービス) ・ SQL Azure データベースサービス(以下、データベースサービス) これらの概要について簡単に解説していきます。 A. Windows Azure コンピュートサービス コンピュートサービスは、カスタムアプリケーションのホスティングサービスです。Windows Server OS のベ ースイメージが提供され、そこにカスタムアプリケーションを載せて実行することができます。コンピュートサー ビスには、大別して 2 種類の OS ベースイメージがあります。 a. Web Role サーバー 主に Web アプリケーションをホストするためのサーバーです。IIS が搭載されています。 b. Worker Role サーバー 主にバッチアプリケーションを動作させるためのサーバーです。IIS が搭載されていません。 これらの OS ベースイメージにアプリケーションをインストールし、実行させて使用します。 B. Windows Azure ストレージサービス Azure 上で動作するアプリケーションやサービスは、セキュリティ確保のため、基本的にローカルのファイル システムに書き込むことができません。それに代わるものとして、データ保存用に提供されているのが、ストレ ージサービスです。ストレージに格納できるデータ構造として、3 種類のデータ構造(Blob, Table, Queue)が p.7 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  7. 7. 定義されており、そのデータ構造ごとに 3 種類のストレージがあります。それぞれのストレージには URI が付い ていて、HTTP-REST プロトコル1によるアクセスができるようになっています。 種類 データ 用途 URI BLOB バイナリ 巨大バイナリデータを種類問わずに格納でき http://<アカウント名 ストレージ データ るストレージになっています。そのため、マル >.blob.core.windows.net/<コンテナ名 チメディア系のファイル >/<Blob 名> (.wmv、.wav、.mp3、.jpg など)や巨大なデータ ファイル(.vhd、.zip など)などの格納に最適で す。 Table Key-Value プロパティ値のみを持つようなオブジェクトを、 http://<アカウント名 ストレージ データ 二つのキーにより一意化し、分散保有する設 >.table.core.windows.net/<Table 名 計になっています。そのため、キーを上手に >?$filter=<Blob 名> 設計することにより、巨大なデータ検索処理を 効率よく実行することができるようになります。 Queue メッセージキュー Web/Worker Role サーバー間の通信には http://<アカウント名 ストレージ データ HTTP または TCP による直接型通信を行いま >.queue.core.windows.net/<Queue 名 す。この通信を非同期で行いたい場合にのみ > Queue ストレージを使用します。 C. SQL Azure データベースサービス SQL Azure データベースサービスは、インターネット上で利用できる SQL Server データベースです。 TDS プロトコルを直接受けつけることができるため、通常の SQL Server とほぼ同一の開発ツールや管理ツ ールを利用できます。しかし、完全に SQL Server と同じというわけではなく、SQL Server に対していくつか のカスタマイズと、制限事項を加えて作られています。 a. 制限事項 ・ 容量の上限が 50GB と低い b. メリット ・ 内部でレプリケーションによるデータの多重保持が行われており、サービス可用性 99.9%が保証さ れている ・ カスタムアプリケーションのインフラとして見た場合、SQL Server の細かいサーバー運用に、気を 払わずに使うことができる1 REST(Representational State Transfer)とは、HTTP のメソッドヘッダー上にデータアクセスのための命令(Post、Get、Put、 Delete)を記述することでリソースにアクセスできるように設計されたプロトコルのことです。 p.8 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  8. 8. 1.2.4 Web アプリ開発時に考慮すべき Azure の特徴 通常(オンプレミス用)の Web アプリケーション開発と比較して、Azure 用の Web アプリケーション開発には、 PaaS アプリケーション開発特有の特徴があります。具体的には、オンプレミス型の開発とは異なり、ハードやミド ルなどの、インフラに関わる設定や運用を、ほとんど考えなくて済むという利点があります。しかしその半面、Web サーバーや DB サーバーの設定やバージョンを自由に決めることができない、または変更できないなどの注意点 があります。また、配置するアプリケーションそのものにも、ローカル HDD やレジストリへの書き込みができない、 複数の Web アプリを同一サーバー上に配置できないなどの制限事項があります。 具体的な制限事項・注意事項として、最初に知っておくべきものに、以下のようなものがあります。オンプレミスと 比べ、こうした注意事項や制限事項が多いため、きちんと理解した上で、開発を進める必要があります。 また、Windows Azure Platform は、リソースを共用するタイプの画一的なプラットフォームであることも忘れて はいけません。詳細はここでは解説しませんが、下図に示すように、コンピュートサービスにしろ、SQL Azure にし ろ、複数のユーザーがひとつのハードウェア筐体を共有する形式を取っており、またサービスレベルも画一的なも のとなります。オンプレミスであれば、単一のアプリケーションが全ハードウェアリソースを占有することも、また 99.999%のような超高可用性を目指すことも自由ですが、クラウドサービスではこのような自由がありません。 p.9 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  9. 9. このような背景から、Azure に適したアプリケーションと不向きなアプリケーションとがあります。A. Azure に適しているアプリケーション ・ 一般的なインターネットアプリケーション ・ トラフィックが時期や時間帯により、大きく変動するアプリケーション ・ ASP サービスとして展開しているアプリケーション ・ 自社でインフラを持たないソフトウエア会社が、開発するアプリケーションB. Azure に不向きなアプリケーション ・ セキュリティポリシー上、社外に持ち出すことのできないデータを取り扱っているイントラネットアプリケー ション ・ Azure の SLA では不十分な、ミッションクリティカルシステム ・ SP や QFE などの、ソフトウェアバージョンを固定したいアプリケーション 全てのアプリケーションが、Azure に適しているというわけではないということにご注意ください。このような注意点を理解した上で、Azure 用のアプリケーションを開発する必要があります。 p.10 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  10. 10. 第2章 簡単なサンプルを用いた Azure アプリケーションの開発 それでは、Azure 用のアプリケーションを開発していきましょう。2.1 開発環境の構築 Windows Azure 上で動作するアプリケーションを開発するためには、Windows Azure 用の SDK が必要となります。本ガイドでは、Windows Azure SDK 1.2 を用いて開発するため、以下のような環境をセットアップする必要があります。なお、以下は全て一般に入手可能な評価版、またはフリーのツールになっています。 種類 製品 OS Windows 7 Enterprise 評価版 開発ツール Visual Studio 2010 Ultimate 試用版 Management Studio Microsoft SQL Server 2008 R2 RTM - Management Studio Express その他 Windows Azure Tools for Microsoft Visual Studio ver1.2 以下の手順で環境をセットアップします。 2.1.1 Windows 7 Enterprise 評価版のインストールと IIS の追加インストール Windows Azure SDK 1.2 に対応する OS は、2010 年 6 月 25 日時点で以下の 4 つとなります。Visual Studio 自体は Windows XP や Windows Server 2003 でも動作しますが、Windows Azure SDK が対応していないた め、Windows XP などでは Window Azure 上で動作するアプリケーションを開発することはできません。 ・ Windows Vista SP 1 以降 ・ Windows 7 ・ Windows Server 2008 ・ Windows Server 2008 R2 今回は「Windows 7 Enterprise 評価版」をインストールします。以下のリンクから ISO ファイルをダウンロード し、ご自分の端末にインストールしてください。 ダウンロードサイト http://technet.microsoft.com/ja-jp/evalcenter/cc442495.aspx Windows Azure SDK を使用するためには、IIS 7.0 以上のインストールと、オプションとして [ASP.NET] と [WCF HTTP Activation] の有効化が必要となります。以下の手順で追加インストールしてください。 ・ コントロールパネルの [プログラムと機能] を開き、左端のペインから [Windows 機能の有効化または無 効化] を選択します ・ ツリービューの [インターネットインフォメーションサービス] をチェックします ・ 「インターネットインフォメーションサービス」を展開し、「ASP.NET」をチェックしてください ・ また、「Microsoft .NET Framework 3.5.1」を展開し、「Windows Communication Foundation HTTP Activation」をクリックしてください p.11 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  11. 11. これで IIS の追加インストールは終了となります。 2.1.2 Visual Studio 2010 Ultimate 評価版のインストール 次に開発ツールをインストールします。Windows Azure SDK 1.2 は、Visual Studio 2008 SP1 にも対応して いますが、今回は Visual Studio 2010 Ultimate 試用版を用いて開発します2。以下のリンクからダウンロードし、 インストールしてください。なお、インストール時にはすべてデフォルトのオプションを利用してください。 ダウンロードサイト http://www.microsoft.com/downloads/details.aspx?FamilyID=06a32b1c-80e9-41df-ba0c-79d56cb823f7&displaylang=ja 2.1.3 SQL Server 2008 R2 Management Studio Express のインストール 次に SQL Server Management Studio をインストールします。Management Studio を利用すると、データ ベースサービスを管理できます。以下のリンクよりダウンロードし、インストールしてください。なお、インストール時 にはすべてデフォルトのオプションを利用してください。 ダウンロードサイト http://www.microsoft.com/downloads/details.aspx?familyid=56AD557C-03E6-4369-9C1D-E81B33D8026B&displaylang=ja2 (参考) Visual Studio 2008 SP1 に Windows Azure SDK 1.2 をインストールして開発する場合、Windows Azure SDK 1.2 のすべ ての機能を使うことができません。このため、Visual Studio に関しては、2010 を利用することを推奨します。 p.12 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  12. 12. 2.1.4 Windows Azure Tools for Microsoft Visual Studio ver1.2 のインストール 最後に、Visual Studio 用の Windows Azure アプリケーション開発ツールキットをインストールします。今回は、 2010 年 6 月 25 日時点において最新版の、Windows Azure SDK 1.2 を含む、Windows Azure Tools for Microsoft Visual Studio ver 1.2 をインストールします。以下のリンクよりダウンロードし、インストールしてくださ い。 ダウンロードサイト http://www.microsoft.com/downloads/details.aspx?FamilyID=2274a0a8-5d37-4eac-b50a-e197dc340f6f&displaylang=en インストールすると、同時に SDK もインストールされます。そして、Visual Studio で Cloud Service のプロジェ クトテンプレートが追加され、Windows Azure 上で動作するアプリケーションの開発が可能となります。2.2 ローカルでの Web アプリケーション開発 さて、いよいよ Windows Azure 用のアプリケーションを開発していきます。オンプレミス型のアプリケーションをAzure 上へ移行するというシナリオも想定し、今回は、まずローカルで通常の Web アプリケーションを開発し(本章)、それを Windows Azure 上へ展開する(次章)、という流れで作業を進めていきます。 2.2.1 Web アプリケーションプロジェクトの作成 まず、新規に.NET Framework 4.0 で [ASP.NET 空の Web アプリケーション] プロジェクトテンプレートから プロジェクトを作成します。[ASP.NET Web アプリケーション] というプロジェクトテンプレートもありますが、こちら ですと、必要のないモジュールまで含まれてしまいます。そのため、今回は Web.config のみを含む [ASP.NET 空の Web アプリケーション] プロジェクトテンプレートから作成します。 今回はサンプルとして、①一般的な Web ページと、②データベース入出力を行う Web ページの 2 つを作成し ます。 p.13 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  13. 13. 2.2.2 1 つ目の Web ページの作成 まず、Web プロジェクトに [Web フォーム] テンプレートから、1 つ目の Web ページ(WebForm1.aspx)ページ を追加します。そして、以下のような画面とロジックを作成してください。2.2.3 2 つ目の Web ページの作成 次に、2 つ目の Web ページを作成します。 A. データベースの追加 Web プロジェクトにデータベースファイルを追加します。以下の URL からサンプルデータベースをダウンロ ードし、インストールウィザードに従いインストールしてください。 p.14 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  14. 14. ダウンロードサイト http://www.microsoft.com/downloads/details.aspx?FamilyId=06616212-0356-46A0-8DA2-EEBC53A68034&displaylang=en インストールすると、C ドライブの ”SQL Server 2000 Sample Databases” フォルダに NORTHWND デ ータベースと PUBS データベースの 2 つが作成されます。今回は PUBS データベースを使用しますので、 Web プロジェクトに App_Data フォルダを追加し、さらにその App_Data フォルダに PUBS.MDF ファイルを 追加してください3。 B. テーブルの一覧表示をする Web ページの作成 次に、Web プロジェクトに 2 つ目の Web ページ(WebForm2.aspx)を追加してください。そして、 SqlDataSource と GridView を用いて、authors テーブルを一覧表示するプリケーションを作成してください (サーバーエクスプローラーから authors テーブルをドラッグ&ドロップすると簡単に作成できます)。3 App_Data フォルダは [追加] → [新しいフォルダ] から”App_Data”を指定して追加できます。pubs.mdf ファイルは App_Data フォル ダにドラックアンドドロップすることで追加できます。 p.15 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  15. 15. 2.2.4 ASP.NET 開発サーバー上での動作確認 以上の作業が終了したら、Ctrl + F5 キーでアプリケーションを起動し、実行してください。すると、ASP.NET 開 発サーバーが起動し、下図のようにアプリケーションが動作します。 p.16 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  16. 16. 2.3 クラウドサービスプロジェクトの追加 それでは引き続き、このアプリケーションを Azure 用(Web Role サーバー用)に修正していきます。 2.3.1 クラウドサービスプロジェクトの役割 Window Azure Tools(開発ツールキット)によりインストールされるクラウドサービスプロジェクトは、簡単に言う と、以下の 2 つの作業を行うためのプロジェクトです。 ・ 開発用 PC の中で、開発用ファブリック(Windows Azure エミュレータ)を起動し、その上でアプリケーシ ョンを実行・デバッグする ・ 作成したアプリケーションのファイルを、Windows Azure 本番環境へアップロードできるようにパッケージ 化する 後者は次章で解説しますので、前者についてこれから解説していきます。 2.3.2 クラウドサービスプロジェクトの追加 まず、Visual Studio のソリューションファイルに対して、クラウドサービスプロジェクトを追加します。そして、先 ほど作成した Web アプリケーションプロジェクトを追加し、Web アプリケーションが Windows Azure 上に展開さ れるようにします。具体的には以下のようにします。 A. プロジェクトの追加 ・ ソリューションに対して、[Windows Azure Cloud Service] プロジェクトを追加する。 p.17 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  17. 17. ・ 次の [New Cloud Service Project] の画面で、何も選択せずに [OK] ボタンをクリックする。  先ほど作成した Web アプリケーションプロジェクトを追加するため、ここでは何も選択しません。B. Roles へのプロジェクトの追加 次に、追加したクラウドサービスプロジェクトへ、Web Role として、先程作成した Web アプリケーションを追加します。具体的な追加手順は、以下のようになります。 ・ クラウドサービスプロジェクト内の [Roles] フォルダを右クリックし、[Add] → [Web Role Project in solution…] をクリックする ・ 追加するプロジェクトとしては、先ほど作成した [WebApplication1] プロジェクトを指定する p.18 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  18. 18. 以上の作業により、[Roles] フォルダの中に、[WebApplication1] プロジェクトが追加されます。これにより、こ の [WebApplication1] プロジェクトが Web ロールサーバー上に展開され、実行されるようになります。 2.3.3 複数の Web アプリケーションを同時に展開する場合 1 つの Web ロールサーバー上には、1 つの Web アプリケーションのみが展開(インストール)可能です。複数 の Web アプリケーションを、同一の Web ロールサーバー上に展開して実行することはできません。複数の Web アプリケーションを同時に展開したい場合には、下図のように、複数の Web ロールサーバーを使用する必要があ ります4。4 ひとつの Web アプリケーションにまとめ直して、Web Role サーバー上に展開するという方法もあります。 p.19 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  19. 19. 2.3.4 クラウドサービスプロジェクトの構成設定 次に、各ロール(サーバー)の構成設定を行います。クラウドサービスプロジェクトの [Roles] 下にある各ロール をダブルクリックすると、構成設定画面が現れます。こちらを使うと、以下のような項目が設定できます。 ・ 利用する仮想マシン(VM)のサイズ(仮想マシンに割り当てる CPU やメモリリソースのサイズ) ・ 利用する仮想マシンのインスタンス数 ・ CAS(Code Access Security)の設定 ・ 利用する通信の種類(エンドポイントの定義) 構成設定画面から構成設定を修正すると、その設定は “ServiceConfiguration.cscfg” と “ServiceDefinition.csdef” の 2 つの XML ファイルに反映されます5。5 直接 XML ファイルを修正することもできます。 p.20 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  20. 20. ここでは、もっとも簡単な設定として、[WebApplication1] プロジェクトを動作させる仮想マシンを、3 つに変更 しておきます6。2.4 開発用ファブリック上での動作確認 ここまで設定が終了したら、いよいよ Windows Azure エミュレータ上で、このアプリケーションを動作させてみましょう。 2.4.1 動作確認 [CloudService1] プロジェクトをスタートアッププロジェクトに変更し、Ctrl + F5 キーで実行します。その際、サ ーバーエクスプローラーが PUBS.MDF を握っていると、エラーが発生するため、デタッチしてから実行してくださ い。すると、タスクトレイ上に “Development Fabric” と呼ばれる Azure エミュレータ環境が起動し、この中でア プリケーションが起動します。 一見すると、先ほどと変わりなく動作しているように見えますが、実際にはかなり異なる環境で Web アプリケーシ ョンが動作しています。これについて以下に解説します。6 (注意)実際の運用環境に配置する場合には、インスタンス数や仮想マシンのサイズをむやみに引き上げないようにしてください。むやみ に引き上げると、その分だけ課金が増えることになります。 p.21 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  21. 21. 2.4.2 開発用ファブリックのランタイム構成 最終的な運用環境では、このアプリケーションは、ファブリックコントローラ 7によってコンピュートサービスのイン フラ上に展開され、複数の仮想マシン(VM、Virtual Machine)が起動します8。 通常、IIS 7 ではワーカープロセスとして w3wp.exe が利用されます。しかし、コンピュートサービスでは、専用 のワーカープロセスとして WaWebHost.exe というものが用意されており、アプリケーションを展開すると、この WaWebHost.exe が起動します。この WaWebHost.exe には、以下のような特徴があります。 ・ IIS 7 のモジュールをロードして動作するため、内部動作は w3wp.exe とほぼ同じ ・ 内部では、ASP.NET ランタイムが統合パイプラインモードで動作 運用環境では、複数の仮想マシンが展開され、1 仮想マシン(サーバ)あたり 1 ワーカープロセスが起動します。 これに対して、開発環境(開発用ファブリック)では、運用環境で利用される VM と同じ数のホストプロセス (WaWebHost.exe)が、ローカルコンピューター内で起動します。これにより、運用環境をエミュレーションするよう になっています。7 コンピュートサービス全体を管理している制御コンピュータ群のことです。8 わかりやすくするため、下図では各サーバーを物理マシンとしてイラストを描いていますが、実際には仮想マシンとして Azure 環境に展 開されます。 p.22 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  22. 22. 2.4.3 運用環境と比較した開発環境(開発用ファブリック)の特徴 この開発環境におけるエミュレーション動作を運用環境の動作と比較すると、以下のような特徴があります。 A. ワーカープロセス ・ 開発用ファブリックでは、運用環境と同一のワーカープロセスが複数個使用されます。  開発用ファブリックでは、1 つのコンピュータ内で、複数のロール、複数の仮想マシンをまとめて エミュレーションする必要があります。  このため、開発用マシンの中では、複数の WaWebHost.exe(Worker ロールを使っている場合 には WaWorkerHost.exe)が起動する形になります。 ・ ワーカープロセスは比較的軽量ですが、沢山の VM を利用すれば、それなりにマシンリソース(特にメ モリ)を消費します。  そのため、開発環境ではあまり大量のインスタンスを起動しないよう、ご注意ください。 ・ 開発環境と運用環境で利用されるワーカープロセスはほぼ同じですが、開発環境では 32 ビット版が、 運用環境では 64 ビット版が利用されます。  .NET のみでアプリケーションを開発している際には問題になりませんが、Unmanaged Code を 利用している場合にはご注意ください。 B. ロードバランサ ・ 運用環境と同様、クライアントブラウザからのリクエストをロードバランサがルーティングします。  ワーカープロセスは、クライアントブラウザからのリクエストを直接受け付けるわけではありません。 いったん、ロードバランサのエミュレータである DFloadbalancer.exe がリクエストを受け付け、そ れが各ワーカープロセスにルーティングされる、という仕組みになっています。  これは運用環境でも同様で、リクエストは一旦ロードバランサが受け付け、それが各マシンにル ーティングされる形になります。 p.23 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  23. 23. C. ポート番号 ・ 開発環境では、運用環境とはロードバランサからのリクエストのルーティング方法が異なります。  上図を見てわかる通り、運用環境では、各 VM マシンに対して、プライベート IP アドレスと、乱数 によるポートが定められ、フロントエンドのロードバランサからのリクエストがルーティングされま す。  これに対して開発用ファブリック(開発環境)では、各ワーカープロセスに対して乱数によるポート が定められ、フロントエンドのロードバランサからリクエストがルーティングされます。 ・ ポート番号は、運用環境で利用する予定のポート番号とはずれてしまうことがあるのでご注意ください。  例えば、このサンプルアプリケーションを動作させると、ブラウザはポート番号 81 上でこのアプリ ケーションを呼び出します。  これは、開発マシン上では、すでにポート番号 80 が IIS 7.5 にアサインされているため、使用で きないからです。  このため、DFloadbalancer.exe は 80 の代わりに 81(次の空きポート)を利用し、これをリスンす る、という形になっています。 p.24 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  24. 24. さて、このままだと、このアプリケーションが実際にどのワーカープロセスで処理されているのかがわかりませ ん。そこで、このアプリケーションの WebForm1.aspx.cs ファイルに以下のような修正を加えてください。 ・ Microsoft.WindowsAzure.ServiceRuntime への参照設定の追加 ・ using キーワードの追加(using Microsoft.WindowsAzure.ServiceRuntime; ) ・ Page_Load() メソッド内への、インスタンス番号を解決して表示するロジックの追加(Label3.Text = RoleEnvironment.CurrentRoleInstance.Id;) 以上を行った上で、再度 Ctrl + F5 キーにより実行すると、Web 画面上にサーバーID が表示されるように なります。この状態で、リロードやポストバックなどを繰り返していると、ロードバランス機能により、複数のサー バー(ワーカプロセス)に分散処理されることがわかります9。9 リロードやポストバックだけでは別サーバインスタンスに振りなおされないケースもあります。その場合には、別の Web ブラウザを起動する などしてご確認ください。 p.25 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  25. 25. 2.4.4 開発用ファブリックへの配置の仕組み では次に、この開発用ファブリックの動作の仕組みについて、もう尐し詳しく解説します。まず、タスクトレイの [Windows Azure Simulation Environment] のアイコンを右クリックし、メニューから [Show Development Fabric UI] を選択してください。これにより、開発用ファブリックの UI が表示されます。 前述したように、Visual Studio からクラウドサービスプロジェクトを実行すると、開発用ファブリックが動作し、そ の上でアプリケーションが動作します。この動作については、以下の点を押さえておくとよいでしょう。 A. 開発用ファブリックへのアプリケーション展開 ・ Visual Studio からクラウドプロジェクトを実行すると、開発用ファブリック上にアプリケーションが展開さ れます。この作業を「配置」と呼びます。 ・ 配置の際には、一意の配置 ID(Deployment ID)が採番されるようになっています。ちなみに配置 ID は、開発環境と運用環境では全くフォーマットが異なります。  開発環境 → “deployment(21)” のように、一意連番が振られる。  運用環境 → “6f4d99b8b339413ea3dac24ce71929af” のように、ランダムな GUID 値が振 られる B. ロールインスタンスごとのフォルダ分け ・ 開発環境では、ローカルマシンの特殊なフォルダにアプリケーションが展開されます。  例えば上記のアプリケーションの場合、”WebApplication1” ロールのインスタンス#0 のアプリ p.26 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  26. 26. ケ ー シ ョ ン は 、 ” C:¥Users¥nakama¥AppData¥Local¥dftmp¥s0¥deployment(21)¥res¥deployment(2 1).CloudService1.WebApplication1.0” というパスの下側に、アプリケーションが展開されて 動作しています(このような動作は、ASP.NET 開発サーバーによる動作とは全く異なります)。  また、このフォルダの下側には、実際に利用する Web アプリケーションの他に、ASP.NET テン ポラリファイル、IIS ログ、Diagnostic Monitor によるログファイル、IIS 圧縮キャッシュなど 様々なデータが、ロールインスタンス(=運用環境における仮想マシン)ごとに保存されるように なっています。(このフォルダは、下図のように Development Fabric UI から選択すると、簡単 に開くことができます。) C. ワーカープロセスのモニタリング ・ 各ワーカープロセスの状況を、上図のツールからモニタできます。  このツールは、コンソール出力をモニタできるようになっているので、Diagnostic トレースなどを 簡単に見たりすることができるようになっています。また、サービスの停止や、配置したアプリケー ションの除去などもこのツール上からできるようになっています。  ただし、このツールから得られる各サーバ(各ロールインスタンス)の情報については、非常に限 られています。また、運用環境ではこのモニタツールを使用できません。例えば、CPU 稼働率 やメモリ利用率の監視、IIS ログの確認などといった内容については、このツールからでは確認 できません。これらに関しては、次に述べる Diagnostic Monitor による監視が必要になりま す。 以上で、基本的な開発用ファブリックの利用方法に関しては終わりです。引き続き、これらのサーバーをモニタリングする機能を追加していきます。2.5 Diagnostic Monitor によるアプリケーション監視 サーバーをモニタリングするためのツールである、Diagnostic Monitor を使用したアプリケーション監視の方法について説明します。 p.27 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  27. 27. 2.5.1 Diagnostic Monitor とは コンピュートサービス内の各仮想マシンには、Diagnostic Monitor ランタイムと呼ばれるサービスがインストー ルされています。このサービスは、イベントログやパフォーマンスログ、フラットファイルなどを定期的に監視・デー タ収集し、ストレージサービスへと転送するようになっています。このサービスが存在するため、各アプリケーション からは直接ストレージサービスへデータを書き込む必要はなく、従来通り、イベントログやパフォーマンスログなど に、データを出力しているだけで済むようになっています。 Diagnostic Monitor ランタイムでは、様々なログデータを転送できるようになっていると説明しましたが、実際 には尐し注意が必要です。Diagnostic Monitor ランタイムのドキュメント類を参照すると、以下のようなログファイ ルが転送できると示されています。 しかしこの転送は、転送先が Table ストレージになっているものと、Blob ストレージになっているものとで、以下 のように仕組みが大きく異なります。このため、注意が必要です。 転送先のストレージの種類 転送の仕組み Table ストレージ ログファイルは、構造を持ったテーブルデータとして、特定の Table ストレージに転送・追記され る。 Blob ストレージ ログファイルは、バイナリファイルとして Blob ストレージに転送・保存される。 p.28 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  28. 28. つまり、トレースログやパフォーマンスカウンタのデータは、スキーマを持ったデータとして Table ストレージに 分解・整理・転送されますが、IIS ログファイルや FREB ログファイルなどは、ただのバイナリファイルとして Blob ストレージに転送される、という形になっています。このため、データ取得後のデータの取り出し方などが異なって きますので注意してください。詳細は後程解説します。 さて、Diagnostic Monitor を使うためには、以下の作業が必要になります。 ・ Azure ストレージ側の事前準備(2.5.2) ・ 収集するログファイルに関する設定方法(2.5.3) ・ ログファイルの確認方法(2.5.4) 以下に、これらについて順に解説していきます。 2.5.2 Azure ストレージ側の事前準備 まず、Azure ストレージ側に、データを格納するための Blob コンテナや Table ストレージを作成します。データ 転送先となる Blob や Table の名称の多くは固定的に定められていますので、以下のような名称でコンテナやテ ーブルを作成します。 具体的な作業手順は、以下のようになります。 A. 開発用ストレージサービスの起動 タスクトレイの [Windows Azure Simulation Environment] を右クリックし、[Start Development Storage service] を選択して開発用ストレージサービスを起動します10。10 (参考) この開発用ストレージサービスは、内部的には SQL Server Express Edition のファイルアタッチデータベースを利用してい るため、SQL Server Express Edition がインストールされていないとうまく起動しません。また、開発用ストレージにゴミがたまってしまっ た場合には、”Show Development Storage UI” から Reset ボタンを押下すると、簡単に初期状態(空の状態)に戻すことができま す。 p.29 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  29. 29. B. Blob コンテナやテーブルの作成 次に、コンテナやテーブルを作成します。作成する際は、以下の 2 通りの方法があります。 ・ ツールを使って、手作業でコンテナやテーブルを作成していく方法 ・ コンソールアプリケーションなどを使って、コンテナやテーブルを作成する方法 どちらの方法でも構いませんが、コンソールアプリケーションを使用すると、以下のような簡単なコードで作成することが可能です。 以下 2 つの、参照の追加が必要です。 ・ Microsoft.WindowsAzure.ServiceRuntime.dll ・ Microsoft.WindowsAzure.StorageClient.dllusing System;using System.Collections.Generic;using System.Linq;using System.Text;using Microsoft.WindowsAzure;using Microsoft.WindowsAzure.StorageClient;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { // 開発環境の場合(運用環境の場合には適宜コードを修正) CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount; // 作成するコンテナ、テーブル、キューの名称一覧 string[] containerNamesToCreate = new string[] { "wad-iis-failedreqlogfiles", "wad-iis-logfiles", "wad-crash-dumps" p.30 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  30. 30. }; string[] tableNamesToCreate = new string[] { "WADLogsTable", "WADDiagnosticInfrastructureLogsTable", "WADPerformanceCountersTable", "WADWindowsEventLogsTable", "WADDirectoriesTable" }; string[] queueNamesToCreate = new string[] { }; // コンテナ、テーブル、キューを作成 CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); foreach (string containerName in containerNamesToCreate) { CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName); bool created = blobContainer.CreateIfNotExist(); if (created) Console.WriteLine("{0} : コンテナを作成しました。", containerName); } CloudTableClient tableClient = storageAccount.CreateCloudTableClient(); foreach (string tableName in tableNamesToCreate) { bool result = tableClient.CreateTableIfNotExist(tableName); if (result) Console.WriteLine("{0} : テーブルを作成しました。", tableName); } CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient(); foreach (string queueName in queueNamesToCreate) { CloudQueue queue = queueClient.GetQueueReference(queueName); bool result = queue.CreateIfNotExist(); if (result) Console.WriteLine("{0} : キューを初期化しました。", queueName); } } } } ストレージの準備ができたら、今度は Web アプリケーションに、ログデータ収集と自動転送を行わせるための設 定コードを追加します。2.5.3 収集するログファイルに関する設定方法 Diagnostic Monitor による監視を行うためには、以下 2 つの設定が必要です。 ・ データをローカルマシン内で収集させるための設定 ・ それを Azure ストレージに自動転送させるための設定 収集するログの種類ごとに、設定可能な項目が尐しずつ異なりますが、簡単に書くと、以下のような項目が設定 できます。 p.31 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  31. 31. 設定を行うためには、以下の作業を行います。・ Web アプリケーションに WebRole.cs という名前のファイルを追加する・ 参照設定として、Microsoft.WindowsAzure.ServiceRuntime, StorageClient, Diagnostics の 3 つの DLL を追加する・ using キーワードで、Microsoft.WindowsAzure, StorageClient, ServiceRuntime, Diagnostics の 4 つの名前空間を導入する・ WebRole.cs クラスを RoleEntryPoint クラスの派生クラスにする・ OnStart() メソッドに Diagnostic Monitor の初期化処理を実装するOnStart() メソッドについては、以下をご参照ください。using System;using System.Collections.Generic;using System.Linq;using System.Web;using Microsoft.WindowsAzure.ServiceRuntime;using Microsoft.WindowsAzure.Diagnostics;using Microsoft.WindowsAzure.StorageClient;using Microsoft.WindowsAzure;namespace WebApplication1{ public class WebRole : RoleEntryPoint { public override bool OnStart() { // 構成設定が変更されたらロールインスタンスをリスタートする RoleEnvironment.Changing += (sender, e) => { if (e.Changes.Any(change => change is RoleEnvironmentConfigurationSettingChange)) e.Cancel =true; }; DiagnosticMonitorConfiguration dmc = DiagnosticMonitor.GetDefaultInitialConfiguration(); // トレースログ (※ web.config への設定も必要) dmc.Logs.ScheduledTransferPeriod = TimeSpan.FromMinutes(2); dmc.Logs.ScheduledTransferLogLevelFilter = LogLevel.Warning; // Diagnostic Monitor ログ dmc.DiagnosticInfrastructureLogs.ScheduledTransferPeriod = TimeSpan.FromMinutes(2); dmc.DiagnosticInfrastructureLogs.ScheduledTransferLogLevelFilter = LogLevel.Critical; // イベントログ dmc.WindowsEventLog.DataSources.Add("Application!*"); dmc.WindowsEventLog.DataSources.Add("System!*"); dmc.WindowsEventLog.ScheduledTransferPeriod = TimeSpan.FromMinutes(2); p.32 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  32. 32. dmc.WindowsEventLog.ScheduledTransferLogLevelFilter = LogLevel.Verbose; // パフォーマンスカウンタ dmc.PerformanceCounters.DataSources.Add( new PerformanceCounterConfiguration() { CounterSpecifier = @"Processor(_Total)% Processor Time", SampleRate = TimeSpan.FromSeconds(60) }); dmc.PerformanceCounters.ScheduledTransferPeriod = TimeSpan.FromMinutes(2); // カスタムファイルログ (※ IIS ログ, FREB ログ, クラッシュダンプは設定済み) dmc.Directories.ScheduledTransferPeriod = TimeSpan.FromMinutes(1); // Diagnostic Monitor をスタートさせる DiagnosticMonitor.Start("DiagnosticsConnectionString", dmc); return base.OnStart(); } } } こちらのコードは、基本的に以下 2 つの条件を指定しています。 ・ データ収集に関する条件 ・ データ自動転送に関する条件 大まかに言うと、デ ー タ転送に関する条 件 を .ScheduledTransferPeriod プ ロ パ テ ィ や.ScheduledTransferLogLevelFiler プロパティにより設定し、その他の.DataSource プロパティなどでデータ 収集条件を設定します。ここでは 2 分間隔でデータ転送する形にしていますが、実際のシステムでは転送間隔は もう尐し長くてもよいでしょう11。 さて、上記のサンプルコードについては、いくつかの注意点があります。要点を説明すると、以下の通りです。 A. .SetConfigurationSettingPublisher() メソッド コードの先頭に書かれている、.SetConfigurationSettingPublisher() メソッドは、サービス構成設定の変 更を動的に追いかけるためのコードです。(しかし、ここではまだ意味が分からないと思います。現段階では 「呪文」だと思っておいていただければ結構です。) B. トレースログ 「 ト レ ー ス ロ グ 」 と 書 か れ て い る の は 、 System.Diagnostics ト レ ー ス ( System.Diagnostics.Trace. WriteLine() な ど の 命 令 に よ り 出 力 さ れ る Win32 ト レ ー ス ロ グ ) で すが 、 こ の 機能を 使 う た め に は 、 web.config ファイルに、以下の記述を追加する必要があります。このコードを追加することにより、Win32 トレ ースログの情報が、Azure の Diagnostic Monitor ランタイムの方に転送され、記録されるようになります。 <?xml version="1.0"?> <configuration>11 (参考) データの転送間隔については、むやみに短くしないことをおすすめします。これは、転送間隔をむやみに短くすると、それだけ システムに負荷がかかってしまうためです。「仮想マシンがクラッシュするとログデータが吹き飛ぶので、極力転送間隔を短くしておきた い」と考える人もいると思います。しかし、通常のオンプレミスのシステムでも、ローカルマシンに出力されたファイルを監視マシンに吸い 上げる場合、ある程度の時間間隔を置いてチェックおよび吸出しを行っているはずです。それと同様に、あまり短く設定しすぎないことを 推奨します。 p.33 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  33. 33. - - - (前略) - - - <system.diagnostics> <trace> <listeners> <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics" /> </listeners> </trace> </system.diagnostics> - - - (後略) - - - </configuration> C. Diagnostic Monitor ログ 「Diagnostic Monitor ログ」とは、Diagnostic Monitor ランタイム自身から発生するログです。このログに 対しては必ずフィルタリング条件を設定してください(尐なくとも Warning 以上)。 Verbose レベルでデータ 収集を行うと、大量(数秒間に数十エントリ)のデータが出力されてしまいます。基本的には Critical などに 設定しておけば十分でしょう。 D. Diagnostic Monitor ランタイムの起動 最後の DiagnosticMonitor.Start() メソッドによって Diagnostic Monitor ランタイムを起動しています。そ して、このメソッドの第 1 パラメータ(ここでは “DiagnosticsConnectionString”)で、転送先となる Azure スト レージへの接続情報を設定しています。この接続情報は、クラウドサービスプロジェクト側の “Settings” セク ションに設定されており、既定では “UseDevelopmentStorage=true” (開発ストレージにログ情報を転送 する)という設定になっています。(運用環境に持っていく場合には、この設定値を、本番環境の Windows Azure ストレージサービスへの接続文字列に書き換えます。) 以上で設定は完了です。この状態で、アプリケーションを実行してください。そして、これをしばらく使い、その後、 しばらく放置(5 分程度)してみてください。これにより、ログデータが適宜 Azure ストレージに転送されているはず です。2.5.4 ログファイルの確認方法 最後に、転送されたログファイルを確認してみます。一番手っ取り早い方法は、各種のツール(Windows Azure MMC など)を使って Azure ストレージに接続し、その中を確認する方法です。しかしながら、以下のよう なログファイルダウンロード用のコンソールアプリケーションなどを準備しておく方法も便利です。ここでは、Azure p.34 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  34. 34. ストレージに保存された IIS のログファイルを、ダウンロードするためのコードを以下に示します。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.WindowsAzure; using Microsoft.WindowsAzure.StorageClient; using System.IO; namespace ConsoleApplication2 { class Program { static void Main(string[] args) { // Diagnostic Monitor のログデータ一括転送 // 開発環境の場合(運用環境の場合には適宜コードを修正) CloudStorageAccount storageAccount = CloudStorageAccount.DevelopmentStorageAccount; // 転送先となるローカルパス string localRootPath = @"C:temp" + DateTime.UtcNow.ToString("yyyyMMdd_HHmmss"); bool willFileDelete = true; // 転送したファイルを消すか否か // ① Blob データのダウンロード CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient(); foreach (string containerName in new string[] { "wad-control-container", "wad-iis-failedreqlogfiles", "wad-iis-logfiles", "wad-crash-dumps" }) { CloudBlobContainer blobContainer = blobClient.GetContainerReference(containerName); var blobs = blobContainer.ListBlobs(new BlobRequestOptions() { UseFlatBlobListing = true }); foreach (var blob in blobs) { CloudBlob cb = blobContainer.GetBlobReference(blob.Uri.AbsoluteUri); string localFilePath = localRootPath + @"Blob" + blob.Uri.PathAndQuery.Replace(/, ); Console.WriteLine(blob.Uri.AbsoluteUri + " → " + localFilePath); Directory.CreateDirectory(localFilePath.Substring(0, localFilePath.LastIndexOf())); cb.DownloadToFile(localFilePath); if (willFileDelete) cb.Delete(); } } } } } このコンソールアプリケーションを実行すると、Azure ストレージに蓄積された IIS ログを、ローカルマシンにダウンロードすることができるようになります。ダウンロードしたログを、Excel や各種のログ解析ツールなどに読み込ませると、分析することができます。 p.35 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  35. 35. ここまでコンピュートサービスの監視方法について解説してきました。これらの説明からわかるように、現時点では、コンピュートサービスの監視 API は、比較的剥き出しのような状態で、残念ながら、使いやすいツール類が充実しているとは言い難い状況です。3rd party 製ツールとしては Cerebrata 社の Azure Diagnostics Managerなどのツールが出てきていますが、コンピュートサービスの監視については、今しばらくは手作業で行う必要があります。ただ、Diagnostic Monitor ランタイムの基本動作やその考え方については、今のうちにきっちり理解しておいた方がいいため、一度触ってみることを推奨します。 p.36 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  36. 36. 第3章 Windows Azure 運用環境への展開 いよいよ本章では、作成した Web アプリケーションを Azure 上へ展開していきます。 まず、展開作業に入る前の Azure を使用するための準備として以下 2 つを行います。 ・ Windows Azure サービスの購入(3.1) ・ 各種サービスの初期化(3.2) Azure を使用する準備が整ったら、次にデータベース、ストレージ、アプリケーションの順番で Azure 上(Staging環境)へ移行していきます。 ・ SQL Azure データベースサービスへの移行(3.3) ・ Windows Azure ストレージサービスへの移行(3.4) ・ Windows Azure コンピュートサービスへの移行(3.5) そしてアプリケーションの移行が完了したら、最後に本番(Production)環境に展開します(3.6)。 それでは、Windows Azure サービスの購入手順から説明していきます。3.1 Windows Azure の購入 2010 年 6 月 25 日現在 、Windows Azure Platform サービスでは、初期特別提供プランとして、Azure の 25時間分の無償使用を含む「Windows Azure Platform 導入特別プラン」が提供されています。今回はこちらを利用して検証作業を行います。なお、このプランは範囲内での試用は無償ですが、無償枠を超えてサービスを利用すると従量課金のレートで課金が発生しますのでご注意ください。 Windows Azure Platform 導入特別プラン http://www.microsoft.com/japan/windowsazure/offers/popup.aspx?lang=ja&locale=ja-JP&offer=MS-AZR-0001P 下記手順では、クレジットカード払いによる購入手順を説明します。 ・ Step 1 - Microsoft Online Services カスタマー ポータル プロファイル登録 ・ Step 2 - Microsoft Online Services カスタマー ポータルから Azure の購買 ・ Step 3 - Azure のアクティブ化 3.1.1 Step 1 - Microsoft Online Services カスタマー ポータル プロファイル登録 実際の Windows Azure の購入は、Microsoft Online Services カスタマーポータルサイト(略称:MOCP)か ら行います。最初の Step では、Microsoft Online Services カスタマー ポータルを使用するためのプロファイル 登録を行います。 p.37 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  37. 37. A. Microsoft Online Services カスタマーポータルへのログイン ・ Internet Explorer で下記 Microsoft Online Services カスタマーポータルにアクセスします。 Microsoft Online Services カスタマーポータル https://mocp.microsoftonline.com/site/default.aspx ・ [サインイン] をクリックすると、Windows Live ID でのログイン画面が表示されますので、Windows Live ID アカウント名 (メール アドレス) とパスワードを入力し、 [Sign in] ボタンをクリックしてくださ い。B. プロファイルの登録 ・ ログインに成功すると 新規プロファイル登録開始画面が表示されるので、必要な情報を入力します。  既にプロファイル登録済みの場合は、Step 2 にお進みください。 ・ 下記の確認画面が表示されたら、プロファイル情報入力は完了です。 [閉じる] ボタンをクリックしま す。 p.38 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  38. 38. 最初のプロファイル登録が終わると、カスタマーポータルの画面が表示されます。3.1.2 Step 2 - Microsoft Online Services カスタマー ポータルから Azure の購買 A. 初期特別提供プランの選択 ・ 画面中央の利用可能なサービスから [Windows Azure Platform] の利用可能なサービスの表示リン クをクリックします。  すると、現在利用可能な Azure の購買メニューが表示されます。 p.39 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  39. 39. ・ ここでは [初期特別提供プラン] を選択し、 [今すぐ購入] をクリックします。・ 購入の同意事項を確認してチェックボックスを入れ、 [購入手続きへ進む] ボタンをクリックします。 p.40 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  40. 40. B. クレジットカードの登録と注文の確定 ・ 支払い方法の入力画面からクレジットカードの情報を登録します12。 ・ 新しいクレジット カードが選択されていることを確認して [次へ] ボタンをクリックします。12 このプランは、無償範囲の利用であれば課金が発生しません。しかし、無償範囲枠を超えて利用すると、登録したクレジットカードに課 金が発生します。このため、無償範囲に注意しながら検証作業を進めてください。 p.41 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  41. 41. ・ 必要事項を入力したら、 [次へ] ボタンをクリックします。  すると、オンライン サブスクリプション契約が表示されます。・ オンラインサブスクリプション契約をご確認いただき、問題がなければ [次へ] ボタンをクリックします。 以下の 2 点に注意してください。  氏名の署名欄には、上に記載されている文字列の通り入力してください  姓と名の間に半角スペースが必要となりますので注意してください・ 注文の確認および確定画面が表示されます。内容を確認して [注文の確定] ボタンをクリックします。 p.42 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  42. 42. 確認画面が表示されれば支払い情報の登録は完了です。この画面から引き続き Azure のアクティブ化を 行います。3.1.3 Step 3 - Azure のアクティブ化 続いて、購入した権利で Azure を利用するための手続きであるアクティブ化を行います。 A. Azure のアクティブ化 ・ 注文完了画面でアクティブ化ボタンをクリックして、サブスクリプション操作画面を表示します。 p.43 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  43. 43. ・ [アクション] のリストから [今すぐアクティブ化] を選択し、[移動] ボタンをクリックします。・ サービスのサブスクリプション名を入力し、[次へ] ボタンをクリックします。  サブスクリプション名は Azure で最初のプロジェクトの名称にも使用されます。 p.44 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  44. 44. ・ 続いてサービス管理者の情報を入力します。  すでに入力しているサービス購買の連絡先情報をコピーすることも可能です。  前述のサービス購買者と、ここで解説するサービス管理者との違いは以下の通りです。  企業で利用する場合は、購入手続きを行う部門と、実際にプロジェクトで利用する部門や 担当者が異なる場合がよくあります。  このような場合に備えて、それぞれ個別に指定ができるようになっています。  なお、Azure では、サービス購買者として登録した ユーザーを「アカウントオーナー (Account Owner)」、サービス管理者として登録したユーザーを「サービスアドミニストレ ーター(Service Administrator)」と呼んで区別しています。  アカウントオーナーとサービスアドミニストレータは、後で示す Windows Azure のポータル画面 上では区別して表示されます。 p.45 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。
  45. 45. ・ 概要画面で入力情報を確認したら、[完了] ボタンをクリックします。 確認完了画面が表示されたら手続きは終了です。B. 作成されたプロジェクトの確認 完了手続きを終えると、登録に利用した Windows Live ID のアカウント宛に完了メールが届きます。これで Windows Azure デベロッパー ポータルにアクセスできるようになります。 ・ メールに記載されたデベロッパー ポータルのリンクから [Windows Azure] をクリックして、Windows Azure デベロッパー ポータルにアクセスします(または、https://windows.azure.com/ にアクセスし p.46 © 2010 Microsoft Corporation. All rights reserved. / Microsoft Consulting Services Japan 本書の全部または一部の無断複製・転載及び商用利用等を禁じます。

×