SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

PDC 2010で明らかになったWindows Azureの新機能

PDC 2010で明らかになったWindows Azureの新機能(前編)

完全なIIS(Full IIS)

 Webロールに実装されたIISが完全なIISとなりました。従来は、Hosted Web Core(HWC)と呼ばれる機構を用いて実装されていたために多くの制限がありました。Windows Azure SDK 1.3からは、完全なIISが実装されたことと、権限昇格の機能によって、より柔軟なIISを構成することができます。

 その一例として以下が実施できます。

  • 複数サイトの構成
  • 仮想ディレクトリ、仮想アプリケーションの構成
  • 管理者特権との組み合わせによるIISの構成変更

 以下の定義例では、1つのWebロールに2つのWebサイトを定義しています。また、Web1に仮想アプリケーションを定義しています。

[リスト3]
<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の構成変更が可能です。

[リスト4]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)。

[リスト5]サービス構成ファイル
<!-- osFamily属性に2を指定します。 -->
<ServiceConfiguration serviceName="WindowsAzureProject1" 
                      xmlns="....."
                      osFamily="2" osVersion="*">
  <Role name="WebRole1">
  ...
  </Role>
</ServiceConfiguration>

 管理ポータルのConfigure OSからもOSの選択が可能です(図11)。

図11:OSの構成変更画面
図11:OSの構成変更画面

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)。

  1. Windows Azure ConnectのエージェントをクライアントPCにインストール(※注意)
  2. Windows Azure Connectを有効にしたロールをデプロイ
  3. 管理ポータルでWindows Azure Connectのグループ設定
※注意

 本稿執筆時点Windows Azure Connectのエージェントソフトウェアは、日本語版Windowsにはインストールできず、英語版Windowsに限定されています。

図12:Windows Azure Connectの接続概要
図12:Windows Azure Connectの接続概要

 エージェントをインストールしたクライアントPCは、管理ポータルに表示されるため、接続したいロールとグループ設定をします(図13)。

図13:Windows Azure Connectグループ設定例
図13:Windows Azure Connectグループ設定例

 タスクバーに常駐しているWindows Azure Connectエージェントのアイコンが接続マークとなり、メッセージボックスに「This endpoint is configured to connect, ...」と表示されれば接続完了です(図14)。

図14:エージエント表示
図14:エージエント表示

 クライアントPCからWindows Azure上へのインスタンスへ、TracertとPingを実行した結果です(図15)。IPv6で接続されていることが確認できます。実際にTracertやPingを通すためには、ファイアーウォールの設定変更が必要です。

図15:Tracert,Pingの実行例
図15:Tracert,Pingの実行例

 Windows Azure Connectの利用には、ベータプログラムへの申し込みが必要です。また、Windows Azure Connect自体の利用は無償ですが、ネットワークの送受信については課金されます。

次のページ
まとめ

この記事は参考になりましたか?

PDC 2010で明らかになったWindows Azureの新機能連載記事一覧
この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト statemachine(statemachine)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/5687 2011/01/27 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー