UNIX/Linux目線のWindows Azure入門ガイド 5ページ
使用するポートを登録する
Webロールはロードバランサ経由でインターネットと接続されており、デフォルトでインターネットからアクセスできるのはHTTPの80番ポートのみとなっている。これ以外のポートを利用したい場合、ロールのプロパティで使用するポート(「エンドポイント」と呼ばれる)を追加しておく必要がある(図27)。

今回はFTPで21番ポートおよび5000番ポートを使用するので、それぞれを「FTP」および「FTP-DATA」という名前で追加しておく。「種類」は外部からのアクセスなので「Input」、プロトコルは「tcp」を指定する。「パブリックポート」と「プライベートポート」を異なる値にすることで、たとえば「ロードバランサの21番ポートへの接続をインスタンスの2021番ポートに振り分ける」といった設定も可能だが、ここでは同じ値に設定している。
アプリケーションが利用するリソースを用意する
デスクトップ向けのGUIアプリケーションでは、メンテナンス性を向上させるため、アプリケーションが使用する設定情報や文字列などの情報をリソースファイルといった別ファイルに分けて格納することが一般的だ。Windows Azureでこのような目的に利用できるのが、ロールのプロパティ内にある「設定」項目だ。動的に変更される設定値などを格納することを目的としており、値として利用できるのは文字列と、Windows Azureのクラウドストレージにアクセスするために使用するアカウント名や接続キーなどを指定できる「接続文字列」のみである。
ストレージにアクセスするためのアカウントは変更しやすいよう、ここで登録しておくのが一般的だ。サービス構成ごとに別の設定を登録できるため、ローカルでのデバッグ用と本番環境用とで設定を分けておくことも容易にできる。
今回は「StorageAccount」という名称でこれらの情報を保存しておくことにする(図28)。アカウント名やアクセスキーなどは「値」部分に表示される「…」ボタンをクリックして入力できる。なお、今回はAzure Driveを利用するため、接続にはHTTPSではなくHTTPSを指定しておく。

ストレージアカウントやアカウントキー(接続キー)は管理ポータルの「ストレージアカウント」で確認できる(図29)。

接続キーはそのストレージへのアクセスの際、認証トークンを作成する際に使用する文字列だ。管理ポータルでストレージアカウントを選択し「プライマリアクセスキー」もしくは「セカンダリアクセスキー」の「表示」ボタンをクリックすることで確認できる。
また、ローカル環境でのデバッグ時はエミュレーターを利用するように設定しておく。「サービス構成」で「Local」を選択して先ほど作成した「StorageAccount」を再度選択し、「…」ボタンをクリックして「Windows Azureストレージエミュレーターの使用」を選択すれば良い(図30)。

ローカルストレージの設定
先に説明したとおり、Windows Azureではローカルストレージは永続化こそされないものの、ロールが起動している間は一般的なストレージと同様に利用できる。ローカルストレージを利用する場合、その保存先としてドライブ名(C:など)を直接指定することもできるが、ロールのプロパティ内「ローカルストレージ」であらかじめ使用する領域を確保しておくのが一般的だ(図31)。

今回はAzure Driveのキャッシュとしてローカルストレージを使用するため、「DriveCache01」という名前で1000MBの領域を確保しておく。