完全なIIS(Full IIS)
Webロールに実装されたIISが完全なIISとなりました。従来は、Hosted Web Core(HWC)と呼ばれる機構を用いて実装されていたために多くの制限がありました。Windows Azure SDK 1.3からは、完全なIISが実装されたことと、権限昇格の機能によって、より柔軟なIISを構成することができます。
その一例として以下が実施できます。
- 複数サイトの構成
- 仮想ディレクトリ、仮想アプリケーションの構成
- 管理者特権との組み合わせによるIISの構成変更
以下の定義例では、1つのWebロールに2つのWebサイトを定義しています。また、Web1に仮想アプリケーションを定義しています。
<WebRole name="WebRole1">
<Sites>
<!-- Webサイト1の定義 -->
<Site name="Web1">
<!-- 仮想アプリケーションの定義 -->
<VirtualApplication name="VirtualApp"
physicalDirectory="../VirtualApp">
<!-- 仮想アプリケーションをネストすることが出来ます。-->
<VirtualApplication name="NestedVirtualApp"
physicalDirectory="../NestedVirtualApp"/>
</VirtualApplication>
<Bindings>
<Binding name="Endpoint1" endpointName="Endpoint1" />
</Bindings>
</Site>
<!-- Webサイト2の定義 -->
<Site name="Web2" physicalDirectory="..\ManagementApp">
<Bindings>
<Binding name="Endpoint2" endpointName="Endpoint2"/>
</Bindings>
</Site>
</Sites>
<Endpoints>
<InputEndpoint name="Endpoint1" protocol="http" port="80" />
<InputEndpoint name="Endpoint2" protocol="http" port="8080" />
</Endpoints>
...
</WebRole>
前述した権限昇格機能と組み合わせることによって、ServerManagerクラスでIISを構成することも可能です(リスト4)。また、スタートアップタスクとIISのコマンドラインツールであるAppcmd.exeを組み合わせることによっても、同様のIISの構成変更が可能です。
public override bool OnStart()
{
using (var sv = new Microsoft.Web.Administration.ServerManager())
{
var config = sv.GetApplicationHostConfiguration();
....
}
}
Windows Server 2008 R2ロール
Windows Server 2008 R2をベースとしたゲストOS 2.xが利用可能となりました。従来通り、Windows Server 2008 SP2をベースとしたゲストOS 1.xも利用可能です。
ゲストOS 1.xから自動でゲストOS 2.xにはアップグレードされません。
ゲストOSのバージョン指定は、サービス構成ファイル(ServiceConfiguration.cscfg)のServiceConfiguration要素のosFamily属性を2に設定することで利用可能です(リスト5)。
<!-- osFamily属性に2を指定します。 -->
<ServiceConfiguration serviceName="WindowsAzureProject1"
xmlns="....."
osFamily="2" osVersion="*">
<Role name="WebRole1">
...
</Role>
</ServiceConfiguration>
管理ポータルのConfigure OSからもOSの選択が可能です(図11)。

Windows Azure Virtual Network
今後、Windows Azure Virtual Networkとしていくつかの機能がリリースされる予定です。最初は、開発コード名Sydneyとして知られていたWindows Azure Connectが提供されます。
Windows Azure Connectとは、オンプレミスとWindows Azureのロールインスタンス間をIPsecで暗号化接続する機能です。当初はエージェントによるP2P接続のみの提供となりますが、次版以降ではサブネット単位のVPN接続も可能となる予定です。
これらにより、Windows Azure上から、オンプレミスのリソースを利用できるようになります。例えば、以下の利用方法が考えられます。
- Windows Azure上から、ローカルのSQL Serverへのアクセス
- Windows Azure上から、オンプレミスのActive Directoryに参加
- Windows Azure上から、オンプレミスのプリンタに印刷
Windows Azure Connectを利用するためには、大きく3つの作業が必要です(図12)。
- Windows Azure ConnectのエージェントをクライアントPCにインストール(※注意)
- Windows Azure Connectを有効にしたロールをデプロイ
- 管理ポータルでWindows Azure Connectのグループ設定
本稿執筆時点Windows Azure Connectのエージェントソフトウェアは、日本語版Windowsにはインストールできず、英語版Windowsに限定されています。

エージェントをインストールしたクライアントPCは、管理ポータルに表示されるため、接続したいロールとグループ設定をします(図13)。
タスクバーに常駐しているWindows Azure Connectエージェントのアイコンが接続マークとなり、メッセージボックスに「This endpoint is configured to connect, ...」と表示されれば接続完了です(図14)。

クライアントPCからWindows Azure上へのインスタンスへ、TracertとPingを実行した結果です(図15)。IPv6で接続されていることが確認できます。実際にTracertやPingを通すためには、ファイアーウォールの設定変更が必要です。
Windows Azure Connectの利用には、ベータプログラムへの申し込みが必要です。また、Windows Azure Connect自体の利用は無償ですが、ネットワークの送受信については課金されます。


