Azure 活用シナリオ SQL Azure を利用したアンケート 1
1. アンケート集計サンプルについて ここでは Windows Azure と SQL Azure を使ってアンケートを実施し アンケート結果を Excel で集計するサンプルについて説明します アンケートは Windows Azure で運用し アンケート結果は SQL Azure に格納されます SQL Azure に格納されたアンケート結果は Excel と連携し Excel 上で集計されます 2
1. アンケート集計サンプルについて i. アンケートページ アンケート入力ページはアンケート 4 項目を選択する簡単な Web ページです 送信 ボタンをクリックすると SQL Azure にアンケート結果が格納されます アンケート結果確認ページはアンケート入力ページの 結果 をクリックすると表示されます SQL Azure に格納されたアンケート結果が表示されます アンケート入力ページ アンケート結果確認ページ 3 アンケート入力には締切があります 締切直前にはアクセスが殺到することはアンケートの常ですが Windows Azure ではアプリケーションの動作インスタンス数を増やし 容易にスケールアウトが可能です ピークとオフピークがはっきりとしているアプリケーションは Windows Azure を利用すれば適切なコストでアプリケーションサービスを提供することができます
1. アンケート集計サンプルについて ii. Excelによる集計 データ接続して SQL Azure のアンケート結果を一覧に表示します 一覧表示されたアンケート結果からピボットテーブルを作成し 集計します SQL Azure のアンケート結果が更新された場合は集計データも更新します アンケート結果を一覧表示します ピボットテーブルでアンケート結果を集計します 4
2. アンケート集計サンプルの為の 開発環境の構築 ここでは Windows Azure でアンケート集計サンプルホームページを作成するための開発環境を以下の手順で準備します 表に記載してあるソフトウェア ツールをインストールします 表 1 開発環境 種類 OS 製品 Windows Vista SP1 以降 Windows 7 Windows Server 2008 Windows Server 2008 R2 開発ツール Visual Web Developer 2010 Express その他 Windows Azure Tools For Microsoft Visual Studio 2010 Windows Azure SDK 5
2. アンケート集計サンプルの為の 開発環境の構築 i. IIS7.0 以上の準備 コントロールパネルの プログラムと機能 を開き左側のペインから Windows 機能の有効化または無効化 を選択します ツリービューの インターネットインフォメーションサービス を展開し ASP.NET をチェックしてください また Microsoft.Net Framework 3.5.1 を展開し Windows Communication Foundation HTTP Activation をチェックしてください インターネットインフォメーションサービスの ASP.NET を有効化します Microsoft.Net Framework 3.5.1 を有効化します [ 表 1] の開発環境では IIS7.0 以上が標準でインストールされています その他の OS で本サンプルを使用する場合は IIS7.0 以上を別途インストールする必要があります 6
2. アンケート集計サンプルの為の 開発環境の構築 ii. Visual Web Developer 2010 Express のインストール 以下のダウンロードサイトからダウンロードし インストールしてください Microsoft Web Platform Installer をインストールし Visual Web Developer 2010 Express を選択し インストールします ( リストに表示されていない場合は検索します ) Visual Web Developer 2010 Express http://www.microsoft.com/japan/msdn/vstudio/express/ 7
2. アンケート集計サンプルの為の 開発環境の構築 iii. Windows Azure Tools For Microsoft Visual Studio 2010 のインストール Visual Web Developer 2010 Express を準備する際にインストールした Microsoft Web Platform Installer を起動します プログラムメニューに無い場合は プログラムとファイルの検索 を用いて検索します Windows Azure Tools For Microsoft Visual Studio 2010 を選択しインストールします ( リストに表示されていない場合は検索します ) 8 Windows Azure SDK も同時にインストールされます Visual Web Developer 2010 Express をインストールする際に Windows Azure Tools For Visual Studio 2010 も同時に選択し インストールすることができます
3. SQL Azure 環境の構築 ここではアンケート結果を格納するSQL Azure のデータベースを準備します データベースの準備は以下の手順で行います SQL Azure データベースサーバー作成 ファイヤーウォール規則の追加 アンケート用データベース作成 アンケート集計用テーブル作成 サンプルデータ作成 9
3. SQL Azure 環境の構築 i. SQL Azure データベースサーバーの作成 Windows Azure 管理ポータルにログインし メニューから [ データベース ] をクリックします サブスクリプションを選択し [ サーバー ] [ 作成 ] ボタンをクリックします 管理ポータルにログイン サーバーの作成 ダイアログで 地域 管理者ログイン パスワードを入力してサーバーを作成します ここではファイヤーウォール規則は未設定のままで構いません SQL Azure サービスを未購入の場合は [ サブスクリプション ] [ 新規 ] を選択し SQL Azure サービスの購入を行ってください 10
3. SQL Azure 環境の構築 ii. ファイヤーウォール規則の追加 作成した SQL Azure データベースサーバーを選択し [ ファイヤーウォール規則 ] [ 追加 ] をクリックします ファイヤーウォール規則の追加 ダイアログで規則名と IP 設定の開始と終了をそれぞれ入力し [OK] をクリックします 画面には現在の IP アドレスが表示されますので 参考にしてください 11
3. SQL Azure 環境の構築 iii. データベースの作成 SQL Azure データベースサーバーを選択し [ データベース ] [ 作成 ] をクリックします データベース名を入力し [OK] をクリックします ここでは エディション は Web を選択し 最大サイズは 5 GB を選択します Movie データベース作成 12
3. SQL Azure 環境の構築 iv. テーブルの作成 データベースを選択し [ データベース ] [ 管理 ] をクリックします 管理者ログイン パスワードでデータベースにログインます 就職活動分析テーブル [CAREER_PROSPECTS] を作成します テーブルのフィールドを一つ一つフィールドを設定することもできますが 今回はスクリプトを使います Movie テーブル作成 13
3. SQL Azure 環境の構築 v. サンプルデータの作成 続いて 作成した [CAREER_PROSPECTS]] テーブルにサンプルデータを挿入します データを一つずつ挿入することもできますが 今回はスクリプトを使います Movie データ作成 14
4. アンケート Web ページの構築 ここではサンプルファイルを用いてアンケートページを構築する方法を説明します ダウンロードしたサンプルの SQL Azure データベース接続先を変更は必ず行う必要があります 注意 : 開発環境を SQL Azure に接続するには ネットワークのポート番号 1433 が開放されている必要があります 15
4. アンケート Web ページの構築 i. Microsoft Visual Web Developer 2010 Express の起動 Microsoft Visual Web Developer 2010 Express は管理者権限で起動する必要があります メニューを右クリックし 管理者として実行 を選択してください メニューを右クリックして 管理者として実行 を選択します 16
4. アンケート Web ページの構築 ii. ソリューションを開く [ ファイル ] [ プロジェクトを開く ] をクリックし ダウンロードしたサンプルのソリューションファイル (*.sln ファイル ) を指定してください [ ファイル ] [ プロジェクトを開く ] をクリックします 17
4. アンケート Web ページの構築 iii. SQL Azure データベース接続先の変更 以下の 2 ファイルの SQL Azure データベースの接続先を 変更します Default.aspx Result.aspx 接続設定時のサーバーは [ サーバー名 +.database.windows.net] になります Movie データソース設定 18
4. アンケート Web ページの構築 iv. サンプルの編集 ( 参考 ) アンケート内容の変更方法と アンケート項目の追加方法を説明します 項目を追加した場合は 合わせてテーブルの修正 データソースの変更も行う必要があります Movie アンケートカスタマイズ 19
5. 動作確認 ここではアンケート Web ページが開発環境の Windows Azure で動作するかの確認を行います 手順は以下の通り非常にシンプルです [ デバッグ ] [ デバッグ開始 ] をクリックします [F5] キーを押下して実行することもできます [ デバッグ ] [ デバッグ開始 ] をクリックします Internet Explorer で動作を確認することができます 20
5. 動作確認 i. 動作確認 アンケートを入力し 入力結果が SQL Azure データベースに反映されていることを確認します アンケートを入力 結果一覧を確認 Movie アンケート動作確認 21
6. Windows Azure 運用環境への展開 ここでは Windows Azure 化したアプリケーションを Windows Azure へ配置する方法を説明します 配置方法は 2 通りあります 1 Windows Azure 管理ポータルからパッケージを選択して配置する 2 Microsoft Visual Web Developer 2010 Express から Windows Azure 管理ポータルを使わずに配置する Microsoft Visual Web Developer 2010 Express から直接配置する方法は 証明書の登録など若干手順が複雑になるため ここでは Windows Azure 管理ポータルからパッケージを選択して配置する方法を説明します Windows Azure には サービスを実際に運用するための 運用環境 と 最終動作確認を行うための ステージング環境 が用意されています 基本的に アプリケーションを展開する場合には まずステージング環境にアプリケーションを配置して最終動作確認を行ったのち これを運用環境と入れ替えます 22
6. Windows Azure 運用環境への展開 i. インスタンス数の変更 まず サーバへのアップロードを行う前に 一旦仮想マシンのインスタンス数を 1 に減らしておきます Windows Azure では 利用した仮想マシンの台数分だけ課金が発生するため 最終動作確認の段階ではインスタンス数を最小数に設定し 動作確認 が取れてからインスタンス数を増やすのが鉄則です WebRole1 を右クリックし [ プロパティー ] を選択します [Configuration] を選択し [Instance Count] を 1 に設定します サンプルでは 初期値のインスタンス数は 1 になっています 開発中にインスタンス数を変更していない場合は 当手順を実施する必要はありません 23
6. Windows Azure 運用環境への展開 ii. サービスのパッケージング Windows Azure では 開発済のアプリケーションをパッケージ化して展開します パッケージ化すると ******.cspkg というファイルが作成されます [WindowsAzureProject1] を右クリックし [package...] を選択します 作成が完了すると自動的にフォルダが開き 作成されたファイルが表示されます 24
6. Windows Azure 運用環境への展開 iii. ステージング環境にアプリケーションを配置 パッケージ化して作成された ******.cspkg ファイルと 構成ファイルである ServiceConfiguration.Cloud.cscfg というファイルをそれぞれアップロードすることで配置が完了します Movie アンケートサンプル展開 25
6. Windows Azure 運用環境への展開 iv. ステージング環境で最終動作確認 ステージング環境ではダミーの URL が付与されます Windows Azure 管理ポータルの右側のプロパティを開き DNS 名 に表示されている URL をクリックして動作を確認してください アンケート入力ページ アンケート結果ページ 26
6. Windows Azure 運用環境への展開 v. 運用環境へ移行 ステージング環境で最終動作確認を行い 問題がなければ本番運用環境へ移行します 本番運用環境への移行は [VIP のスワップ ] で行います 移行するデプロイを選択し [VIP でスワップ ] をクリックします [VIP でスワップ ] をクリック 環境が ステージング から 運用 に移行 27
6. Windows Azure 運用環境への展開 vi. 本番運用環境で動作確認 本番運用環境の動作確認はステージング環境と同様の手順です ステージング環境ではダミーの URL が付与されていましたが 本場運用環境では正式な URL が付与されますので DNS 名 に表示されている URL をクリックして動作を確認してください アンケート入力ページ アンケート結果ページ 28
6. Windows Azure 運用環境への展開 vii. インスタンス数の変更と再配置 インスタンス数の変更や アプリケーションを修正した際の再配置は [ アップグレード ] によって行います 変更 再配置したいデプロイを選択し [ アップグレード ] をクリックすると ステージング環境に配置した際と同様にパッケージファイル 構成ファイルを選択し 変更 再配置が可能です 29 インスタンス数の変更は [ 構成 ] をクリックして 構成ファイルの内容を書き換えることでも可能です ステージング環境のデプロイに対しても 本番運用環境のデプロイに対してもインスタンス数の変更および再配置が可能です
7. アンケート集計デモ ここでは SQL Azure に格納されたアンケート結果を Excel に読み込んで ピボットテーブルで集計する方法を説明します また SQL Azure のアンケート結果が更新された際に Excel に読み込んだ集計値も合わせて更新する方法を説明します 30
7. アンケート集計デモ i. Excel を SQL Azure に接続 Microsoft Excel 2010 からSQL Azure に接続する設定を行います 設定時のサーバー名は [ サーバー名 +.database.windows.net] になります SQL Azure からアンケート結果情報を取り込み ピボットテーブルで集計します Movie アンケート集計 31
7. アンケート集計デモ ii. 集計データーの更新 Web 画面からアンケートを入力します Excel に取り込んだデータが更新され ピボットテーブルの集計も更新されることを確認します Movie 集計データ更新 32
8. 課金額の目安 Windows Azure の課金額は様々な課金要素から複合的に計算されます ここでは当シナリオのように SQL Azure を利用したアンケートページを Windows Azure 環境で運用する際の一つの目安として 下記の条件で課金月額を計算します 課金項目想定単価 Hosted Service サイズ Small インスタンス数 1 11.76(1 時間あたり ) SQL Azure 最大サイズ / 月 1GB 979.02(1GBあたり ) Data Transfers データ転送量 / 日 1GB 19.60(1GBあたり ) SQL Azure は Web Edition で算出 合計月額 (31 日分 ) 10,337 課金額は変更されることがあります 最新の課金ロジックにつきましては以下の情報を参照してください http://www.microsoft.com/japan/windowsazure/pricing/ 33