以上でIISのインストールは完了ですが、これだけでは外部からアクセスすることはできません。Azure以外のPCからアクセスしようとすると、次のようなエラーになるでしょう。
これはWebの通信に必要なポートがブロックされているからです。Azureの仮想マシンでは、デフォルトではリモートデスクトップのポート(TCPの3389番)しか空いておらず、それ以外は全てブロックされるようになっています。システムを安全にするためには、必要なポート以外は全部塞いでおく、というのは現在のセキュリティ対策では鉄則ですね。
前回、Azureの仮想マシンは、いきなりインターネットに公開されると言いましたが、制御に必要なリモートデスクトップを除けば、Webを含む全ての通信ポートはブロックされています。このため必要なポートは明示的に開ける必要があります。
現在のWindows OSは、不要なポートを自動的に閉じるファイアウォールの機能(「セキュリティが強化されたWindowsファイアウォール」)を持っています。そしてIISをインストールすると、必要なポート(HTTP用のポート80番など)が自動的に開くようになっています。
しかしこれはWindows OS内部の機能であって、Azureのファイアウォールとは連動していません。AzureにはAzure独自のネットワークリソース管理の仕組みがあり、そちらでもポート管理を行っています。この詳細は今後紹介しますが、今回は取りあえず、外部(インターネット)からAzureの仮想マシンのポート80番へアクセスできるようにする方法を紹介しておきます。
まずAzureの管理ポータル画面で仮想マシンを表示させ、そこに登録されている「リソースグループ」の中から「ネットワーク セキュリティ グループ」と名付けられている項目(デフォルトでは末尾が「〜-nsg」となっているはず)をクリックして開きます。トップのダッシュボード画面のリソースグループ一覧から選んでもよいでしょう。
セキュリティグループの画面が表示されたら、「セキュリティ規則の受信」をクリックします。
以上で設定は完了です。外部からIISにアクセスして、Webページの内容が表示されることを確認しておきましょう。
今回は仮想マシンにインストールされたWindows Server 2016を日本語化して、IISをインストールし、さらに外部からアクセスできるようにHTTP用のポートをオープンするための手順を紹介しました。オンプレミスのWindows Server 2016を利用する場合と比べると、インストールした直後は英語版、必要なら日本語化(日本語言語パックの追加インストール)、Azureリソースグループのファイアウォールに対する設定など、いくつか違いがありましたが、それ以外は特に変わりはないです。クラウドでも、今まで培ったオンプレミスのノウハウは活用できる(ことがある)んですね!
Copyright© Digital Advantage Corp. All Rights Reserved.