はじめに
この記事は、こちらの記事の続きとなりますので、先にそちらを読んでいただく事をお勧めします。
前回は仮想ネットワークの中でも、プライベートIPでの通信に関する部分を説明していましたが、今回は、パブリックIPを使った通信について書きます。
Azure 仮想ネットワークの用語と考え方:パブリックIP関連
パブリック IP アドレス
仮想ネットワークで割り当てられたIPは、同じ仮想ネットワーク内の仮想マシン同士の通信には利用できますが、仮想ネットワークの外の通信では利用できません。別途、グローバルIP(パブリックIP)が必要になります。
これ自体はAzureに特有の話ではなく、ネットワークの一般的な話と同じです。
Azureの場合、仮想マシンが直接グローバルIPを持つことはできません。外部と通信させるためには、「パブリック IP アドレス」という専用のリソースが必要となります。*1
パブリック IP アドレスというリソースに対しては、Azureが外部と通信するために必要なグローバルIPを自動的に割り振ります。*2
また、「パブリック IP アドレス」というAzureのリソースは仮想マシンそのものではなく、ネットワークインターフェースに対して設定されます。
パブリックIPアドレスとNAT
仮想マシンに対してAzureの外からアクセスする場合は、パブリックIPに対してアクセスします。リモートデスクトップで接続する場合や、仮想マシン上でWebサーバーを構成して外部公開するケースなどでは、パブリックIP宛にアクセスします。
この際、特に追加でAzureのリソースやサービスを構成しなくても、自動でNATが構成されています。
また、逆に仮想マシンから外部にアクセスする際も、「パブリックIPアドレス」で設定されているIPアドレスを使用しています。
パブリックIPアドレスを持たない場合の通信
仮想マシンに対してパブリックIPアドレスを設定しない、という事も可能です。
この場合、仮想マシンに対する外からの通信は当然できないので、VPNなどでプライベートIPアドレスで通信する必要があります。
ただし、この場合でも、仮想マシンから外部への通信、例えばWindows Updateで更新プログラムを受け取る、といった通信については可能です。
この場合でも外部との通信なのでパブリックIPアドレスは必要になりますが、その時はAzure側から動的に払い出されるようです。*3
ネットワークセキュリティグループ(NSG)
必ずしもパブリックIPでの通信だけで利用するものはでありませんが、特に外部から仮想マシンへのアクセスを無制限にする事は考えにくく、必要な通信に絞ることがほとんどかと思います。
その際に利用できる一番基本的なサービスがネットワークセキュリティグループ、通称NSGです。
NSGはネットワークインターフェースに設定することも、サブネット単位に設定する事も可能です。
ちょっと図に表すのが難しいのですが、関係としてはこんな感じでしょうか。
例えばリモートデスクトップで管理する場合も、管理端末のパブリックIPを確認し、特定のIPアドレスのRRDPに関する通信だけ許可する、といった設定が可能です。
おわりに
ということで、この記事ではパブリックIPでの通信について基本的なポイントをまとめてみました。
少しでも誰かの参考になれば幸いです。
*1:少々ややこしいのですが、グローバルIPアドレス(パブリックIPアドレス)を持たせるためのAzureリソースの名前もまた「パブリックIPアドレス」なのです。Azureリソースとしての他のプロパティを持つため、単純なIPアドレスではありません
*2:自分で好きな数字を設定する事は出来ません
*3:当然、仮想マシンからのアウトバウンド通信でのみの利用なので、そのパブリックIPで外部からRDPで接続などは出来ません
舟越 匠(日本ビジネスシステムズ株式会社)
人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットでPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。
担当記事一覧