前回は、Windows Azure Webサイトの編集・展開方法とデータベースへの接続方法について紹介した。今回は、管理ポータルから行うWebサイトの構成変更やログ出力設定、モードやスケールの変更方法について紹介する。
Webサイトの構成変更
Webサイトでは、IISの設定を直接変更することはできない。その代わり、いくつかの設定については管理ポータルで行うことができる。Webサイトの構成変更は、管理ポータルの対象Webサイトの[構成]ページから行う。
管理ポータルの対象Webサイトの[構成]ページから設定を変更し、[保存]ボタンをクリックすると変更が反映される。
図1:[構成]ページでの設定変更のイメージ
以下に[構成]ページにて変更可能な設定項目を示す。
設定項目 | 説明 |
.NET Frameworkバージョン | Webサイトを動作させる.NET Frameworkのバージョン。現在は「3.5」か「4.5」を選択できる。 |
PHPのバージョン | PHPを有効にするかどうかを設定する。 |
ドメイン名 | 設定されたカスタムドメイン名を確認する。 ※画面下の[ドメインの管理]ボタンで設定するが、無料モードでは変更することはできない。 |
WEBサーバーのログ記録 | W3C拡張形式のアクセスログを出力する。 |
詳細なエラーメッセージ | 詳細なエラーログを出力する。 |
失敗した要求トレース | 失敗したリクエスト毎の詳細ログを出力する。 |
アプリ設定 | .NETではWeb.configのAppSettings要素に該当する設定となる。PHPでは環境変数として設定される。 |
接続文字列 | .NETではWeb.configのConnectionSettings要素に該当する設定となる。PHPでは以下の接頭辞を付与した環境変数として設定される。 ・SQL Server:SQLCONNSTR_ ・MySQL:MYSQLCONNSTR_ ・SQL Azure:SQLAZURECONNSTR_ ・カスタム:CUSTOMCONNSTR_ |
既定のドキュメント | URLの末尾が「/(スラッシュ)」で終わる場合に、自動的にそのフォルダ内の指定されたドキュメントを返す。 |
ハンドラーマッピング | 要求への応答を生成するハンドラーを追加設定する。 |
ログの種類と特徴
[構成]ページでは、3種類のログの出力設定を行うことができることが分かった。それぞれの特徴や出力先について、詳しく確認しておきたい。
ログの種類 | 特徴 | 出力先 |
WEB サーバーのログ記録 | W3C拡張形式のアクセスログが出力される。筆者が試した際にはログがバッファから書き出されるまでに多少時間がかかる場合があった。 | /LogFiles/http/RawLogs |
詳細なエラーメッセージ | 詳細なエラー情報が1件毎にHTMLファイルで出力される。 最大50件で、それを超えると古いものから削除される。 設定後、10時間後に自動的に設定が無効となる。 |
/LogFiles/DetailedErrors |
失敗した要求トレース | 失敗したリクエスト毎にリクエストの処理詳細がXMLファイルに出力される。 最大50件で、それを超えると古いものから削除される。 設定後、1時間後に自動的に設定が無効となる。 同じフォルダに存在するXSLファイルと併せてダウンロードし、IEで参照する。 |
/LogFiles/W3SVC####### |
上記の通り、「詳細なエラーメッセージ」と「失敗した要求トレース」は、一定時間で出力設定が無効となる。そのため継続的なログ出力には利用できない。
また、共通の制限事項としては、[LogFiles]フォルダの容量は一定間隔(現在は30分)でチェックされており、35MBの上限に達するとログ出力が停止する。ログファイルを削除し、次の容量チェックをクリアするまでログ出力は再開されない。
現状ではアクセスログを継続的に収集するためには、定期的に手動でログをクリアするか、自動で別の場所に移動するような仕組みを別途用意する必要がある。
以下のサイトでは、特定のURLへのアクセスやスケジュールによって、自動的にログを取得してクリアする方法を紹介している。
Windows Azure Web Sites Log Cleaner
http://www.bradygaster.com/windows-azure-web-sites-log-cleaner
ログの参照方法
出力されたログファイルは、[ダッシュボード]ページの[診断ログ]のリンクから参照することができる。
図2:出力されたログファイルへのアクセス
ログにアクセスするには、FTPユーザー名とパスワードが必要になるため、これらを設定していない場合は、事前に[展開資格情報のリセット]から設定しておく。
※FTPによる接続については、前回の記事を参考にしていただきたい。
ログファイルの一括取得やクリアを行う場合には、FTPクライアントを利用した方がよいだろう。
モードの変更
新規にWebサイトを作成した状態では「無料モード(Free)」となっているが、「共有モード(Shared)」や「予約済みモード(Reserved)」にも容易に変更することができる。
[拡大/縮小]ページでモードを変更して[保存]ボタンをクリックすると、課金状況に影響する旨のメッセージが表示される。[はい]をクリックするとモードの変更が行われる。変更操作自体は数秒で終了するが、バックグラウンドで処理が完了するまでには数分かかる場合がある。
※「無料モード」以外では、従量課金が適用されるため、実際に変更する際には注意が必要だ。
図3:[拡大/縮小]ページでのモードの変更
スケールの変更
Webサイトでは、インスタンス数の変更やインスタンスサイズの変更がWebサイトを停止することなくシームレスに行える。インスタンス数の増加(スケールアウト)やインスタンスサイズを増大(スケールアップ)させることで、可用性やスループットを向上させることができる
[拡大/縮小]ページで[インスタンス数]のスライダを変更し、[保存]ボタンをクリックするとインスタンス数が変更される。
現在は、最大で3インスタンスまでとなっている。
図4:[拡大/縮小]ページでのインスタンス数の変更
インスタンスサイズの変更は、「予約済みモード」のみで行うことができ、以下の3種類から選択することができる。
・小 (1コア、1.75GBメモリ)
・中 (2コア、3.5GBメモリ)
・大 (4コア、7GBメモリ)
図5:インスタンスサイズの変更(「予約済みモード」のみ)
今回は、Webサイトの構成変更やログ出力設定、モードやスケールの変更方法について紹介した。これまでの3回で、Windows Azure Webサイトの新規作成から編集、展開、構成変更までを一通り確認できたことになる。最後は、「無料モード」のWebサイトが実際にどのくらい活用できるのかを検証する予定だ。
参考
How to Monitor Websites
http://www.windowsazure.com/en-us/manage/services/web-sites/how-to-monitor-websites/
Logging Features limits FAQ
http://social.msdn.microsoft.com/Forums/en-US/windowsazurewebsitespreview/thread/438e5e13-e1e9-49e7-a3a4-deda96fea037