【Azure初心者向け】仮想マシンを作ったときに何ができるのか?リソースの関係性を徹底解説
この記事の内容
- Azure仮想マシンを作成すると、VMだけでなく複数のリソースが自動的に作成されます
- ネットワークインターフェース(NIC)が仮想マシンとネットワーク関連リソースをつなぐ中核の役割を担います
- 仮想ネットワーク(VNet)・サブネット・パブリックIPアドレス・ネットワークセキュリティグループ(NSG)の関係性を図解します
- NSGのインバウンド規則を使って、RDP接続を特定のIPアドレスのみに制限する設定方法を紹介します
- 仮想マシンOS側からのネットワーク構成の見え方についても解説します
仮想マシンを作成すると何ができるのか
Azure仮想マシンを作成すると、VMそのものだけでなく、リソースグループの中に多くのリソースが一緒に作成されます。「なぜこんなにいっぱいあるの?」と思われる方も多いかと思いますが、それぞれには明確な役割があり、互いに紐付いています。
主に作成されるリソースは以下のとおりです。
- 仮想マシン(VM)
- ネットワークインターフェース(NIC)
- 仮想ネットワーク(VNet)
- サブネット
- パブリックIPアドレス
- ネットワークセキュリティグループ(NSG)
- OSディスク・データディスク
- ストレージアカウント(診断設定用)
それぞれの関係性を順番に見ていきましょう。
仮想マシンとネットワークインターフェース(NIC)
仮想マシンは、ネットワークインターフェース(NIC) と直接紐付いています。NICはパソコンに刺さるネットワークインターフェースカードと同じ概念で、Azureでは独立したリソースとして管理されています。
仮想マシンの概要ページを見ると、「ネットワーク」の欄にNICの名前が表示されており、クリックするとNICのリソース画面に遷移できます。
NICはいわば「ネットワーク接続の中核」であり、以下のものと紐付いています。
- プライベートIPアドレス(仮想ネットワーク内のアドレス)
- パブリックIPアドレス(インターネット側のアドレス)
- ネットワークセキュリティグループ(NSG)
仮想ネットワーク(VNet)とサブネット
仮想ネットワークは、Azure上にプライベートなネットワーク空間を構成するリソースです。VNetにはアドレス空間が設定されており、例えば 10.1.0.0/16 というように定義されています。
VNetの中にはサブネットが定義されます。デフォルトでは「default」という名前のサブネットが1つ作成され、例えば 10.1.0.0/24 のようなアドレス範囲を持っています。
NICはこのサブネットに接続しており、VMが持つプライベートIPアドレス(例: 10.1.0.4)は、このサブネットの範囲内のアドレスが割り当てられます。
関係性をまとめると次のようになります。
VMが直接VNetの中にいるのではなく、NICを経由してサブネットに足を出しているというイメージです。
パブリックIPアドレス
パブリックIPアドレスも独立したリソースとして作成されます。これはAzureが管理するグローバルIPアドレスの中から1つ割り当てられたものです。
パブリックIPアドレスはNICに紐付いており、インターネットからのアクセスはこのIPアドレスを経由してNICへ届きます。
ここで重要なのは、VNet内のプライベートIPとパブリックIPの変換(NAT)はAzureのネットワーク基盤が自動的に行っているという点です。仮想マシン(OS)側から見えるのはプライベートIPアドレス(例: 10.1.0.4)だけであり、パブリックIPアドレスはOS側からは直接認識されていません。
ネットワークセキュリティグループ(NSG)
NSGはファイアウォールに相当するリソースです。受信(インバウンド)と送信(アウトバウンド)のセキュリティ規則を定義でき、NICまたはサブネットに紐付けることができます。
デフォルトで設定されている受信規則
| 規則名 | 説明 |
|---|---|
| AllowVnetInBound | VNet内からの通信をすべて許可 |
| AllowAzureLoadBalancerInBound | Azureロードバランサーからの通信を許可 |
| DenyAllInBound | 上記以外のすべての受信トラフィックを拒否 |
デフォルトで設定されている送信規則
| 規則名 | 説明 |
|---|---|
| AllowVnetOutBound | VNet内への送信をすべて許可 |
| AllowInternetOutBound | インターネットへの送信をすべて許可 |
| DenyAllOutBound | 上記以外のすべての送信トラフィックを拒否 |
VM作成時に追加したRDPの規則は、TCPポート3389番の受信をソース「Any(任意)」で許可するものです。
RDP接続の仕組み
RDP接続のしくみをネットワーク構成に照らし合わせると、次の流れになります。
- クライアントPCからパブリックIPアドレス(例:
13.80.150.141)へ接続要求を送信 - AzureのNATによってプライベートIPアドレス(
10.1.0.4)に変換 - NICに紐付いたNSGがインバウンド規則をチェック
- RDPルール(ポート3389)が許可されていればVMへ接続
Azureポータルから「接続」→「RDP」を選ぶと、.rdp ファイルをダウンロードできます。このファイルはテキスト形式で、接続先のパブリックIPアドレスとポート番号が記載されています。
NSGルールで接続元IPを制限する
セキュリティ上、RDP接続を特定のIPアドレスのみに制限することが推奨されます。設定手順は以下のとおりです。
手順
- NSGの「受信セキュリティ規則」を開く(VMの「ネットワーク」画面からも設定可能)
- 既存のRDPルールをクリックして編集画面を開く
- 「ソース」を
Any(任意)からMy IP addressに変更する - 「保存」をクリックする
「My IP address」を選択すると、現在使用しているPCのパブリックIPアドレスが自動的に入力されます。
設定後は、登録したIPアドレス以外からのRDP接続が拒否されます。なお、既存の接続セッションはすぐには切断されません。NSGのルール変更は新規の接続に対して適用されるため、既存のセッションは手動で切断するまで維持されます。
OSディスクとデータディスク
仮想マシンにはOSディスクとデータディスクが紐付いています。どちらも独立したディスクリソースとして管理されており、仮想マシンの「ディスク」メニューから確認できます。
VMの概要画面からリンクで各ディスクリソースへ遷移でき、逆にディスクリソース側からもどのVMに接続されているかを確認できます。
ストレージアカウント(診断設定用)
VM作成時に診断設定を有効にした場合、スクリーンショットやログを保存するためのストレージアカウントが作成されます。
このストレージアカウントは仮想マシンの診断情報格納専用であり、作成直後はコンテナやファイル共有が空の状態です。診断設定やアラートが動作しはじめると、データが格納されていきます。
仮想マシン(OS)側から見えるネットワーク構成
仮想マシンにRDP接続してOSの視点からネットワーク構成を確認すると、VMはAzure上で動いているという意識なく、ごく普通のWindowsとして動作しています。
ipconfig コマンドを実行すると、次のような情報が確認できます。
DHCPサーバーからIPアドレスを取得しており、OS側の設定はDHCPのまま変更しなくて問題ありません。Azureのネットワーク基盤がDHCP経由で適切なIPアドレスを配布する仕組みになっているためです。
これにより、WindowsはAzure上でもHyper-V上でも他のクラウドでも、OS側の特別な変更なしに動作できるようになっています。
作成されたリソース全体の関係図
各リソースの関係を整理すると、次のような構成になります。
まとめ
Azure仮想マシンを作成すると、VMだけでなく複数のリソースが自動的に作成されます。それぞれのリソースの役割と関係性を理解することが、Azureネットワークを正しく扱うための基礎となります。
- NICは仮想マシンとネットワーク系リソースをつなぐ中核
- VNet・サブネットはプライベートなネットワーク空間を定義
- パブリックIPアドレスはインターネットからのエントリーポイント
- NSGはファイアウォールに相当し、NICまたはサブネットに紐付けて通信制御を行う
- ディスクはOSディスクとデータディスクが独立したリソースとして管理される
特にNSGのインバウンド規則でRDP接続元を自分のIPアドレスに限定することは、セキュリティ上の基本的な対策として早めに設定しておくことをおすすめします。