CodeZine(コードジン)

特集ページ一覧

Full IISでWebロールを使いこなそう

Windows Azure新機能チュートリアル(3)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2011/06/09 14:00

ダウンロード sample.zip (1.1 MB)

目次

ホストヘッダーの構成

 ここではホストヘッダーを用いた複数サイトの構成方法を説明します。このようにすることで、1つのIPアドレスとポートを使用して複数サイトをホストすることができます(図6)。

図6 ホストヘッダー概要
図6 ホストヘッダー概要

 サンプルファイルのHostHeaderSampleフォルダにソリューションが格納されています。ソリューションには、WebロールプロジェクトとASP.NET Webアプリケーションプロジェクトが定義されています(図7)。本サンプルでは、WebRole1を、xxx.examle.comとして、WebApplication1をyyy.example.comして定義してみます。

図7 ソリューション構成
図7 ソリューション構成

 ソリューションエクスプローラーからサービス定義ファイル(ServiceDefinition.csdef)を選択して開きます。サービス定義ファイルに、太字部分がサンプルでの追加部分です(リスト5)。

 ホストヘッダーを使用するには、Binding要素のhostHeader属性に定義します。このように定義することで、複数のWebサイトを1つのアドレスに割り当てることができます。

 *1の定義により、xxx.example.comでアクセスした場合はWebRole1に、*2の定義によりyyy.example.orgでアクセスした場合は、WebApplication1にそれぞれ割り振られます。

リスト5 Sites要素(ServiceDefinitison.csdef)
  <WebRole name="WebRole1">
    <Sites>
      <Site name="Web">
        <Bindings>
        <Binding name="Endpoint1" endpointName="Endpoint1" />
          <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="xxx.example.com"/>    *1
        </Bindings>
      </Site>
      <Site name="Web2" physicalDirectory="../WebApplication1">
        <VirtualDirectory name="Image" physicalDirectory="../WebRole1/Image"/>
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" hostHeader="yyy.example.net" />  *2
        </Bindings>
      </Site>
    </Sites>
  ...
  </WebRole>

 各サイトの違いが分かるように、内容の表示を行いますが、前述したサンプルを流用します(リスト4)。

 さて、このサンプルを実行するには、%windir%\System32\drivers\etc フォルダに格納されているhostsファイルの編集が必要です。それぞれのURLを、127.0.0.1へ割り当てます(リスト6)。

リスト6 hostsファイル
127.0.0.1 xxx.example.com
127.0.0.1 yyy.example.net

 本サンプルは、Windows Azureではなく、開発環境上のコンピュートエミュレーターで実行します。それぞれのURLでアクセスすると、表示されるWebサイトが割り振られることが確認できます(図8)。

 Windows Azure環境で実行確認したい場合は、パッケージを配置した後に、管理ポータルから割り当てられたIPアドレスを確認し、hostsファイルを編集してください。

図8 ホストヘッダーサンプルの実行結果
図8 ホストヘッダーサンプルの実行結果

まとめ

 Full IISとは、特別なIISではなく、通常利用しているIISと同じということが理解していただけたでしょうか。逆を返せば、今までWindows Azureに搭載されていたIISは制限されたものであったと言えます。

 今回はサービス構成ファイルを使用した範囲でのカスタマイズでしたが、次回はスタートアップタスクと組みあわせたIIS自体の構成変更方法について紹介します。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Windows Azure新機能チュートリアル

もっと読む

著者プロフィール

  • WINGSプロジェクト statemachine(statemachine)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

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

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5