Azure Web AppsにIISマネージャーで接続して管理する:Tech TIPS
Azure Web Appsで細かい設定を変更する際、いちいちweb.configファイルを編集するのは間違えやすく手間もかかる。そこでWindowsのIISマネージャーでWeb Appsに接続すると、IISのようにGUIでサイト設定を変更できるようになる。
対象サービス:Microsoft Azure、Web Apps、IISマネージャー
Azure Web Apps*1では、Azureポータルを使って各種設定が変更できる。しかし、細かい項目については設定できないことも多い。例えば、ソースIPアドレスによるアクセス制限や要求フィルター、URL Rewriteなどが挙げられる。
*1 LinuxベースのApp Serviceである「Web App On Linux」については、本稿では対象外としている。
Windows OSのIISなら、こうした設定はIISマネージャーを用いることで、GUIで手軽に変更できる。
実はWeb AppsもIISマネージャーで接続して、IISと同様に管理することが可能だ。特にオンプレミスでIISに慣れている管理者には便利だろう。本稿ではその手順や注意点を説明する。
IISマネージャーからAzure Web Appsに接続して管理する
これはIISマネージャーでWeb AppsサイトのURL Rewriteの新たな送信規則を作成しているところ。一見すると、オンプレミスのIISサイトと区別が付かない。しかし下端のステータスバーに注目すると、Azure Web Appsの共有ドメインである*.azurewebsites.netに接続して、そこにあるweb.configの設定を操作していることが分かる。
【準備】Web Appsへの接続用ID/パスワードなどを取得する
まずはIISマネージャーからWeb Appsへの接続に必要な接続パラメータを入手しよう。それには、以下の手順でAzureポータルから「発行プロファイル」をダウンロードする。この作業は1回だけ実施すればよい。
発行プロファイルにはコンテンツ展開時に必要な認証情報や接続先などが記されている。これらはIISマネージャーからの接続にも利用できる。一方で、その内容が漏えいするとコンテンツを不正に書き替えられたり設定を変えられたりする可能性があるので、その取り扱いには細心の注意を払いたい。
Azureポータルから発行プロファイルをダウンロードする
これはAzureポータルで対象のWeb Appsの設定ブレードを開いたところ。上部メニューの[発行プロファイルの取得]をクリックすると、「<サイト名>.PublishSettings」というXML形式の発行プロファイルがダウンロードできる。
発行プロファイルをダウンロードしたらメモ帳などのテキストエディタで開き、以下のようにして必要な情報をメモする。
<publishData><publishProfile (1)profileName="locasmapijw2 - Web Deploy" publishMethod="MSDeploy" (2)publishUrl="locasmapijw2.scm.azurewebsites.net:443" (3)msdeploySite="locasmapijw2" (4)userName="$***************" (5)userPWD="*******************************************************************" destinationAppUrl="http://locasmapijw2.azurewebsites.net" SQLServerDBConnectionString=""
……(後略)……
これはWeb Appsの発行プロファイル(*.PublishSettings)の例。メモ帳などで開くことができる。
(1)複数のプロファイルが記載されているので、profileNameの値に「Web Deploy」が含まれているpublishProfileセクションに注目する。
(2)publishUrlの値を、サーバ名としてメモしておく。
(3)msdeploySiteの値を、サイト名としてメモしておく。
(4)userNameの値を、ユーザー名としてメモしておく。
(5)userPWDの値を、パスワードとしてメモしておく。
【準備】管理用Windows PCにIISマネージャーをインストールする
次に、管理用のWindows PCでIISマネージャーを準備する。この作業は1回だけ実施すればよい。既にIISマネージャーがインストール済みであれば、この手順は飛ばして次へ進んでいただきたい。
また、必要なのはWebサーバとしてのIISではなく、管理ツールとしてのIISマネージャーだけなので、以下の手順で絞り込んでインストールする。
以下、Windows 10を例に挙げているが、Windows 7/8.1でも手順は同じだ。Windows Serverの場合は、サーバマネージャーから[役割と機能の追加]ウィザードを起動して、下記と同じ機能をインストールする。
IISマネージャーをインストールする(1/2)
あらかじめ管理者アカウントでWindowsにサインイン(ログオン)しておくこと。
(1)コントロールパネルの[プログラムと機能]を開く。
(2)左端メニューから[Windows の機能の有効化または無効化]を選ぶ。
IISマネージャーをインストールする(2/2)
「Windows の機能有効化または無効化」ダイアログが表示されたところ。
(3)機能一覧ツリーで[インターネット インフォメーション サービス]以下を展開し、これらにチェックを入れてオンにする。
【準備】接続メニューが表示されなければIISマネージャーを更新する
ここでIISマネージャーを起動してみよう。それには、スタートメニューあるいはCortanaで「IIS」と検索すると表示される[インターネット インフォメーション サービス (IIS) マネージャー]をクリックする。
起動したら[ファイル]メニューを開き、[サーバーに接続][サイトに接続]といった接続関連のメニューが表示されるかどうか確認する。表示された場合は「IISマネージャーからWeb Appsに接続する」に進んでいただきたい。
接続関連のメニューが表示されないIISマネージャー
これはWindows 10での例。通常、[ファイル]メニューには[サーバに接続][サイトに接続]といった接続関連のメニューが表示される。だが、このIISマネージャーでは表示されない。
表示されないのなら、そのIISマネージャーはローカルのIISしか管理できず、リモートのIIS(Web Appsを含む)を管理する機能を持っていないということだ。
そんな場合は、マイクロソフトが別途提供しているリモート管理用のIISマネージャーを追加でインストールする。この作業も1回だけ実施すればよい。
まず、起動したIISマネージャーをいったん終了する。次にリモート管理用IISマネージャーのインストーラ*2をマイクロフト ダウンロードセンターのサイトからダウンロードする。
*2 Web Platform Installerでも「リモート管理用 IIS マネージャー」がリストアップされる。しかし筆者が試した限りでは、エラーが発生してインストールに失敗してしまった。そのため本稿ではダウンロードセンターからインストーラを直接入手している。
リモート管理用IISマネージャーのインストーラをダウンロードする(1/2)
これはマイクロソフトの英語版ダウンロードセンターにある「IIS Manager for Remote Administration 1.2」のページを開いたところ。
(1)[Download]ボタンをクリックする。ここでは日本語版の選択肢は表示されないが、気にせず進めてよい。
リモート管理用IISマネージャーのインストーラをダウンロードする(1/2)
言語とプラットフォームの選択肢が表示されたところ。「ja-JP」と記されているのが日本語版。
(2)64bit(x64)版Windows OSにインストールする場合は、これにチェックを入れてオンにする。
(3)32bit(x86)版Windows OSにインストールする場合は、これにチェックを入れてオンにする。
(4)[Next]ボタンをクリックすると、選択したインストーラのダウンロードが始まる。
次にインストーラを起動して、リモート管理用IISマネージャーを上書きでインストールする。
インストールウィザードでは、特に設定を変更する必要はない。
IISマネージャーからWeb Appsに接続する
接続パラメータとIISマネージャーの準備を完了したら、以下の手順でWeb Appsに接続してみよう。
IISマネージャーからWeb Appsに接続する(1/6)
IISマネージャーを起動して[ファイル]メニューを開いたところ。リモート管理機能が組み込まれていると、このように接続関連のメニューが表示される。
(1)[ファイル]−[サイトに接続]をクリックする。
IISマネージャーからWeb Appsに接続する(2/6)
サイト接続用のウィザードが始まったところ。
(2)発行プロファイルから得たサーバ名を記入する。通常は「<サイト名>. scm.azurewebsites.net:443」のはずだ。
(3)発行プロファイルから得たサイト名を記入して、次へ進む。
IISマネージャーからWeb Appsに接続する(3/6)
(4)発行プロファイルから得たユーザー名(「$」から始まる文字列)を記入する。
(5)発行プロファイルから得たパスワードを記入する。[次へ]ボタンをクリックすると、実際の接続が始まる。
IISマネージャーからWeb Appsに接続する(4/6)
接続に成功すると、このウィンドウが表示される。
(6)このサイトを識別するための名称を記入する。これがIISマネージャーの左ペインのツリーに表示される。[終了]ボタンをクリックする。
IISマネージャーからWeb Appsに接続する(5/6)
Web Appsを管理するためのコンポーネントがIISマネージャー側にない場合、このようなダイアログが表示される。
(7)いずれもチェックを入れてオンにして、ダウンロードを許可する。[OK]ボタンをクリックする。
IISマネージャーからWeb Appsに接続する(6/6)
Web Appsとの接続後のIISマネージャー。残念ながら、主要な設定項目は英語で表示されてしまう。それでも、オンプレミスのIISサイトと同様にGUIで各種設定ができる。
以上でWeb Appsとの接続は完了だ。
接続時にはパスワードの再入力が必要?
上記の接続設定の完了後、IISマネージャーを終了しようとすると、「接続一覧は変更されています。変更内容を保存しますか?」と表示される。ここで[はい]ボタンをクリックすると、以後はサーバ名/サイト名/ユーザー名を入力することなくWeb Appsに接続できる。
ただし、その場合でもパスワードだけは再入力が求められることがある。そのため、パスワードだけは別途控えておいた方がよい。
■関連リンク
- IIS マネージャーによる Windows Azure Web サイトのリモート管理(Microsoft Azure Japan Teamブログ)
- Azure Web Apps に IISマネージャで接続する前に実施する作業について(マイクロソフト)
Copyright© Digital Advantage Corp. All Rights Reserved.