FIXER に入社するまでアプリ一筋だった松枝です。
前職でデータベースの理解が足りず強烈な洗礼を受けましたが、FIXER 入社後はネットワークの理解不足で苦しみました。
そろそろ単純な構成なら設計できるようになった気がするので、同じような境遇の方をターゲットにブログにまとめてみたいと思います。
想定読者
- パソコンのネットワーク設定を使って IP アドレスやサブネットマスクを設定したことはある、程度の知識の方
- Azure VM の作成をやってみたら大量にリソースが作られてびっくりしている方
VNetとは
VNet とは Azure Virtual Network (仮想ネットワーク) の略称です。
主に Virtual Machine (VM) が他のリソースと安全に通信するために使用します。
ちなみに多くの Azure サービスは VNet 無しで使えますが、VM は VNet の指定が必須です。

また、VNet を作っただけでは何もできません。サブスクリプション内で使用するプライベート IP アドレス空間(使用する IP アドレスの範囲)を確保しただけの状態になります。
サブネットとは
サブネットとは簡単に言うと VNet をさらに細かく分割したカタマリです。
VM などの VNet に対応したリソースは、サブネットに所属させることで VNet を使った通信をすることができるようになります。
ちなみに書くまでもないかもしれませんが、 VM は サブネットの指定が必須です。
アドレス空間を適切に設定してあげないと、サブネットに所属させられるリソース数が限られてしまったりするので、特に大規模なシステムでは注意が必要ですね。
パブリック IP アドレスの罠
上記の説明はプライベートアドレスに関するものです。
VNet とサブネットを用意し、そこに VM を所属させれば、プライベート IP アドレスの割り当てが可能になります。
これに対して パブリック IP アドレスを使いたい場合は、パブリック IP アドレスのリソースを作る必要があります。

作成したパブリック IP アドレスを VM 等に設定することで、Azure 外部からの
通信が可能になります。
ただし!プライベート IP しか持ってなくても、Windows Update などの
通信は可能です。ややこしいですね。Azure外部への
「外向きに公開するサービスを稼働させる VM でない限り、基本的にはパブリック IP アドレスは設定しない」くらいに思っておくと良いです。
まとめ
単純に VM を配備する時に必要になってくる本当に基本的な情報は上記だと思っています。
ただ、これだけの知識でリソースを配置していってしまうと、特にパブリック IP アドレスを使った場合に事故が起こりますので注意してください。
具体的に言うと、ネットワーク セキュリティ グループの知識が最低限必要です。
この辺りも別記事で紹介できたら良いなと思っています。