Microsoft Azure上の IIS で、物理パスを 共有ドライブ(Azure Files)のUNCパスに設定する方法

昨年、自宅サーバーで運営していたサイトを、Microsoft Azureへ移行した。
予算は月額1万円程度なので、低スペック(CPU数1、メモリ2GB)のサーバーしか選択できなかった。
でも、軽いWEBサイトを動かすくらいなら、特に問題ない。
Microsoft Azureは、月額1万円程度でも、
グローバルIPアドレスを固定で(設定が必要だが)5個まで使えて、
1TBくらいのディスクを「Azure Files」にしてNAS同様に使えるので、
活用次第では、十分にモトがとれるかもしれない。
操作は、リモートデスクトップ接続で普通に使えるし、
ファイルのアップロードも、エクスプローラのコピー&ペーストで
普通にできるので、自宅サーバーの時と比べても、全く違和感がない。
Azure Files」にしたストレージにドライブ番号(Dドライブ等)を割り当てれば、
自宅サーバーの時と同じように、robocopyコマンド等を使って
自動的にファイルをアップロードすることも可能なので、これも遜色ない。
さて、唯一、工夫が必要だったのが、
自動でアップロードするファイル、つまり定期更新する情報を
IIS上のウェブサイトへ即時に反映させる方法、である。
自宅サーバーの時は、
IISに設定しているドキュメントの物理パスが、
ローカルディスク内( D:\Inetpub\wwwroot\ 等)に存在していたけど、
Azure Files」だと、Dドライブに割り当てたとしても、
その実体は ネットワーク上の共有ドライブになるので、
そのまま D:\Inetpub\wwwroot\ と割り当てたとしても、
エラーが出て、うまくいかない。
「Azure Files」に限らず、IISのドキュメントの物理パスを
別マシンにある共有フォルダに設定したい場合は、
そのままではうまくいかないので、次のようにやる必要がある。
・共有フォルダにアクセス権のある「ローカルユーザー」を作成しておく。
 Administrator ではなく、専用のユーザーにした方がよい。
 「Azure Files」の場合は必ず、接続に使用するストレージアカウントの情報(80文字くらいのパスワード)を登録する。
20180303-00.png
・IISマネージャーから「規定のドキュメント」の設定で、右クリックして、「基本設定」を選択する。
20180303-01.png
・「物理パス」欄を、UNCパス形式(\\share\inetpub\wwwroot\ 等)で指定して「接続」ボタンを押す。
20180303-02a.png
・「パススルー接続」ではなく、「特定ユーザー」を選択して、「設定」ボタンを押す。
20180303-03.jpg
・「ローカルユーザー名」と、Azure Files接続用の長いパスワード(80字?) を指定して「OK」を押す。
20180303-04.png
・テスト接続を行って、認証が有効であることを確認する。
20180303-02b.png
20180303-05.png
表示するコンテンツ内のスクリプト(ASPやPHP等)側で、
絶対パスを指定している場合は、正しく修正する必要がある。
ちなみに、「Azure Files」を使わずに、
ローカルドライブ上に共有フォルダを設けて、直接、
VPN接続で更新すれば、上記のような余計な手順は必要ないけど、
月額1万円程度、という予算のなかで、
このVPN接続に関わる「ゲートウェイ使用料」が意外に高価なので、
つなぎっぱなしにしてしまうと、たくさん課金されてしまうで
VPN接続は使わないことに決めている
Microsoft Azureも今後、価格競争が進んで、料金が安くなれば、
VPN接続に変えてもよいかもしれない。


My Company Links

合資会社ユースマネージメント
ドメインサービス
ユースマネージモール umall.jp

My Website Links

細野俊一のトレーディング日記
大安心と大冒険を求めて
「生命の科学」学習メモ
細野俊一の雑記ブログ
インターネット活用の入り口

Facebook Pages

ポイント&フィギュア活用研究会
合資会社ユースマネージメント
ユースマネージモール
アダムスキー「生命の科学」活用研究会
細野俊一 (宇宙哲学研究家)