【実践入門】AzureVMで学ぶネットワーク入門~IISを使って接続確認を行おう~

はじめに

ネットワークっていまいちどこがどう通っているか、理解しづらいですよね。

そこで、今回はAzureのVMを立ち上げ、その中の一台にIISをいれ、VM間通信、外部通信について、検証を踏まえ、視覚的に理解できるように記載していきたいと思います。

全体像

それでは、まず今回行いたいことの全体像を共有させていただきます。

検証の為、VMを2台作成し、

①Azure内のVM間接続

②インターネット経由のVM間接続

③Azure環境外からのVMへの接続

の3点を試していきたいと思います。

そのため、まとめると

・VM間の疎通を確認すること(①、②)

・Azure外→VM1 の疎通を確認すること(③)

の大きく2点を行っていき、疎通の確認の仕方なども共に学んでいければと思います。

検証用AzureVMの作成

それでは検証用のVMを作成していきましょう。

VMのリージョンは東日本、VM自体は最低限のスペックがあれば十分なので、

サイズはB2ms、IISを使用したいので、イメージはWindowsServer系を選択してください。

管理者アカウントのユーザー名、パスワードは使うので、メモに残しておいてください。

また、今回はRDPで接続するので、RDPの接続は既定のまま許可してください。

ディスクはHDDでも大丈夫ですが、インターネットはVM同士で同じVnet、サブネットとするようにしてください。

VMが作成出来たら、VM1からRDPファイルをダウンロードし、VM1に入っていきます。

この際求められるパスワードは先ほどのVM作成時の管理者アカウントのパスワードとなります。

VMに入ると、早速サーバーマネージャーが起動しています。

この時点で気になる人は日本語設定にしておくといいかもしれません。

それではIISの構築手順に入っていきます。

まず、コントロールパネルを開き、「プログラム」を押下します。

すると、「プログラム」が開くので、「プログラムと機能」を開きます。

「プログラムの機能」が開くと、左に「Windowsの機能の有効化または無効化」という箇所があるので、押下します。

押下すると、「役割と機能の追加ウィザード」が起動します。

このまま「次へ」を押下し、インストールの種類では既定の「役割ベースまたは機能ベースのインストール」を選択し、

「サーバの選択」では「サーバープールからサーバを選択」を選んだ後、作成したVMを選択し、次へを押下します。

「サーバーの役割の選択」の画面に進むと、インストールする機能を選択する画面となります。

ここで「Web Server(IIS)」にチェックを入れます。

チェックを入れると、マネージメントツールも入れるか聞いてきますので、「機能の追加」で入れましょう。

すると、「機能」以下の選択に入れます。

今回はIISの画面表示をしたいだけなので、これ以降の設定は全て既定のまま「次へ」を押せばいいです。

インストール完了まで行ったら、IISをインストールしたサーバ上のブラウザを開き、

「http://localhost/」へアクセスします。

以下画面が表示されれれば、IISのインストール完了です。

これで事前の準備が整ったので、早速次からVM同士の接続をしてみましょう。

VM間接続

Vnet内接続

それではVM1にIISをインストールできたところで、VM2からVM1につないでみようと思います。

想定としては、VM2のブラウザでVM1のプライベートIPを打つと、IISの画面が表示される予定です。

プライベートIPとは内部で割り当てられるIPアドレスで、あくまでこのVnet内でしか機能しません。

ではVM2でもRDPファイルをダウンロードし、接続していきます。

接続が完了したら、ブラウザを開き、VM1のプライベートIPアドレスをそのまま入力してください。

今回のVM1の場合は、「172.17.0.4」となります。

VM2のブラウザを開き、「172.17.0.4」と入力すると以下の通り、VM1のIISの画像が表示され、

VM1と通信ができたとわかります。

これが全体図の①になります。

インターネット越しの接続

それでは続いて②のインターネット越しの通信も試してみましょう。

インターネット越しにはどうやるのかというと、先ほどはプライベートIPアドレスを使用しましたが、今回はパブリックIPアドレスを使用します。

内部でだけ使用されるプライベートIPアドレスとは違い、パブリックIPアドレスは世界に一つだけのIPアドレスで、インターネット上で唯一のアドレスとなります。

それでは先ほどと同じ要領で通信が通るか試してみましょう。

はい、通りませんでした。

これはNSGに何も設定を行っていないのが原因です。

先ほどのプライベートIPの場合、Azureの内部の通信となるため、特に設定は必要ありませんでしたが、

今回はパブリックIPを使用していることで、インターネットを介した通信となっています。

これはVM2から出た線は直接VM1に行くのではなく、まずインターネットに該当のパブリックIPアドレスがあるかを探し、インターネット上で見つけ、インターネットから線が伸びる、というイメージです。

そのため、NSGにインターネットからの接続を許可する設定を入れましょう。

VM1の概要画面からネットワーク>ネットワーク設定に飛ぶと、下の方にNSGのルール項目があります。

VM1はVM2からの接続を受ける側のため、「受信ポート」の規則に追加を行います。

NSGの設定は以下となります。

ソース:IP Addresses(許可する送信元をVM2のIPアドレスのみとするため)

ソースIP:VM2のパブリックIPアドレス(インターネットからみたIPアドレスの為、パブリックIPアドレスとする)

宛先ポート範囲:80(Web通信が通ればいいため)

これでVM1側のNSGは完了です。

一度これでVM2からVM1のパブリックIPアドレスをブラウザに打って接続してみましょう。

はい、なんと接続できてしまいました。

これでインターネット越しのVM間接続についても確認できました。

いやいやちょっと待ってよ、この流れだと、以下図のようにVM2側でもNSGの送信ルールの設定が必要なんじゃないの?と思われる方もいると思います。

ではVM2側のNSGの送信ルールを見てみましょう。

結論から言うと、VM2側でも勿論送信ルールが必要ですが、登録する必要はありません。

以下見て分かる通り、既定で登録されているからです。

これはVnetから出る全ての通信については、許可をする、というルールとなっています。

いやいや、これVM1側のNSGの受信規則「AllowVnetInBound」でも既定で入っているじゃん!と思いますよね。

ただ、考えてほしいのが、今回は受信の場合、パブリックIPアドレスで接続したため、インターネットからの外部からの通信、という扱いになります。

「AllowVnetInBound」で許可されているのはあくまで「Vnetからのインバウンドの接続」なのであって、他のソースからの接続は「DenyAllInbound」で拒否されているんです。

だから、VM間接続の場合はどちらもVnetから出ている接続だったので、許可されていて、特に設定は必要なかったのですが、

インターネット経由の場合は、外部からの通信という扱いなので、受信の許可ルールを入れないと、接続できないんです。

上記NSGをまとめると以下となります。

 

Azure環境外からのVM接続

VM間の通信ができたところで、次はAzure外の環境からの接続を試していきましょう。

ここまで行ってきた皆さんであれば、外部環境から接続する際、何が必要かはすでにお分かりかと思います。

そう、NSGの設定です。

でも前回VM間接続の、インターネットからの接続でNSG設定したじゃん、と思いますよね。

思い出してほしいのですが、その際、あくまでVM2のパブリックIPアドレスをソースとして登録したと思います。

そのため、今回は自身のIPアドレスを調べ、それをソースとしてNSGを設定する必要があります。

まず、ご自身のブラウザを開き、「確認くん」と調べてください。

すると、以下のサイトが出ると思いますので、そちらで自身の現在のIPアドレスを確認してください。

IPアドレスが登録出来たら、NSGの設定に移りましょう。

今回NSGを設定するのは、受信するVM1のほうです。

それでは受信セキュリティ規則の追加をしていきます。

ソースは「IP Addresses」で先ほど調べたIPアドレスを「ソースIPアドレス」に入れましょう。

また、ソースは「My IP address」とすることで自身のIPアドレスが勝手に入力されるため、そちらで設定しても構いません。

あとはVM2のインターネット経由の接続を許可したルールと変わりません。

ルール設定が完了したら、早速今お使いのブラウザにVM1のIPアドレスを打ってみましょう。

はい、接続できました。

これで、「③Azure環境外からのVMへの接続」も確認ができました。

おわりに

いかがだったでしょうか。

ネットワークは目に見えず、イメージがしづらいですが、今回はそのわかりづらさをIISを使用することで、少しわかりやすくできないかと考え、本ブログを記載させていただきました。

pingのコマンドで確認するよりも、「つながった!」という実感を持っていただけたら幸いです。

当記事が少しでも皆さんの理解の一助となる事を祈っております。

いいね (←参考になった場合はハートマークを押して評価お願いします)
読み込み中...

注意事項・免責事項

※技術情報につきましては投稿日時点の情報となります。投稿日以降に仕様等が変更されていることがありますのでご了承ください。

※公式な技術情報の紹介の他、当社による検証結果および経験に基づく独自の見解が含まれている場合がございます。

※これらの技術情報によって被ったいかなる損害についても、当社は一切責任を負わないものといたします。十分な確認・検証の上、ご活用お願いたします。

※当サイトはマイクロソフト社によるサポートページではございません。パーソルクロステクノロジー株式会社が運営しているサイトのため、マイクロソフト社によるサポートを希望される方は適切な問い合わせ先にご確認ください。
 【重要】マイクロソフト社のサポートをお求めの方は、問い合わせ窓口をご確認ください