Azure VNetを使用してネットワークセグメントを分けよう

公開日:2021年12月10日最終更新日: 2021年12月10日

クラウドが主流となっている現在、ネットワーク設定はコンソール上から非常に簡単に行うことができるようになっています。
ただ、基本的なネットワークの知識がないと、意味のない設定やセキュリティ上問題が残る構成になってしまうことも多々あります。

今回はそんなネットワークの基本的な考え方であるセグメントを分ける意味から、Azure上でネットワークを構成するVNetについてご紹介したいと思います。

ネットワークセグメントの基本

ネットワークには基本的な考え方としてセグメント分けというものがあります。

自社内で信頼できる範囲をLANセグメント、社外で信頼できないインターネット部分をWANセグメント、公開用サーバーやメールサーバー、DNSサーバーなどを配置している緩衝地帯をDMZセグメントなどと呼ぶのが一般的です。
クラウドでネットワークが仮想化されていてもこの基本は変わらないと言えるでしょう。

これらの違いはIPネットワークでサブネットやセグメント境界でルーティングの設計することで構築することができます。192.168.1.0/24がLANセグメントに設定されていたとすると、192.168.2.0/24がDMZセグメント、社外のWANセグメントはグローバルなIP空間であったりとサブネットや境界ルーティングで設計をすることができます。

セグメントは細かく分ければ分けるほど機能的にセキュリティを強化できるため、サーバーセグメントや検疫セグメント、管理セグメントなと様々な構成が世にありますが、その分管理や設定の手間が増えるため、運用も視野に入れたベストプラクティスな設計が必要と言えるでしょう。

Azure VNetとは

Azure VNet(Virtual Network)とはAzure上で構成できる仮想論理ネットワークです。VNet内にVM(仮想マシン)を作ることで他のリソースとの通信が可能となるため、VM構築の際は必須の設定となります。

VNetはそれ自体の中にサブネット分けをすることが可能な他、要件に応じて複数のVNetを作成することもできますが、VNet間を相互に通信するにはVPN接続やピアリングの設定が必要となります。

また、複数のリージョンを跨いで設定をすることはできません。リージョンの冗長性も確保したい場合は設計段階からVPN接続やピアリング設定を考慮する必要があります。

VNetを作成してみよう

もっとも基本的なVNetを構成して概要を理解していきたいと思います。構成はインターネットに公開されているDMZセグメント、データベースや管理サーバーなどがあるサーバーセグメント、クライアントやオンプレが接続されるLANセグメントといった形をサブネット分けで実現します。
また、通信対象となるVMも一緒に作成していきます。

1. VNetの作成

1Azureポータル上から「仮想ネットワーク」を選択します。

「仮想ネットワーク」を選択

2「仮想ネットワークの作成」を選択します。

「仮想ネットワークの作成」を選択

3①既にあるサブスクリプションとリソースグループを選択(なければ作成します)し、名前とリージョンを決めて

②「IPアドレス」をクリックします。

リソースグループを選択(もしくは作成)

4デフォルトのサブネット設定が既にありますが、ここにサブネットを追加していきます。
「サブネットの追加」を選択します。

「サブネットの追加」を選択

5①「サブネット」と
②「IPアドレス」を設定します。
※今回は[Server]と[10.0.1.0/24]とします。

③「追加」をクリックします。

「サブネット」と「IPアドレス」を設定

6追加されました。
同様にDMZのサブネットを作成するため同じ手順を行います。

追加完了

7今度は[DMZ]と[10.0.2.0/24]とします。
追加できたら「Review + create」をクリックします。

[DMZ]と[10.0.2.0/24]を追加

8内容を確認し、「Create」をクリックするとVNetが作成されます。

内容を確認し、「Create」をクリック

2. VMの作成

サブネットに配置するVMを作成していきます。defaultにはクライアント、ServerにはDBサーバー、DMZには公開WEBサーバーを置くイメージで作っていきます。

本稿では具体的な作成方法は省きますがそれぞれサブネットを選択してIPを設定していってください。DMZ以外にパブリックIPは不要です。

defaultサブネット Client 10.0.0.4
Serverサブネット DB-Srv 10.0.1.4
DMZサブネット WEB-Srv 10.0.2.4

※第4オクテットの1~3はAzure設備で予約されています。

NSGでセキュリティ設定

このままだとサブネット間は管理ネットワークを通して通信ができてしまうのでVNet自体にNSGの設定を割り当てていきます。通常VMを作成時に基本のNSGがVMのインターフェース自体に割り当たっていますが、明示的にサブネットでセキュリティを分けましょう。

NSGの詳細は、Network Security GroupでIPやポートを制限してセキュリティ対策を参照ください。

1. NSGのVNetへの割り当て

1作成したVNetを仮想ネットワークから選択します。

VNetを仮想ネットワークから選択

2①「サブネット」から

②NSGを割り当てたいサブネットを選択します。

NSGを割り当てたいサブネットを選択

3①「ネットワークセキュリティグループ」からVM作成時にできた基本のNSGを選択し

②「保存」をクリックします。

同様の操作をすべてのサブネットで行います。

VM作成時にできた基本のNSGを選択

4設定できました。

設定完了

2. NSG設定

1DMZにはWEBサーバー、ServerにはDBサーバー、defaultにはClientとしていますので、必要な通信のみをNSGで設定していきます。送信元IPも必要な物のみ許可します。

DMZ ポート:22,80,443 許可
Server ポート:22,1433(DB想定) 許可
default ポート:22 許可

2設定できました。

※DMZやClientのSSHが任意(any)許可されているのは記事執筆の都合上です。実際はClientからや自端末からのみ許可するなどIP制限などしてください。これら設定によりVNet内にセグメント分けされた機能的なネットワークを作成することができます。

以上で基本的なシステムのセキュリティ設定ができました。以降はVM上でWEBサーバー、DBサーバー、クライアントなど役割の設定をしていく形になります。

まとめ

VNetの設定とNSGの設定を行うことで基本的なシステムのセグメント分けを行うことができました。今回はVMを中心として設定していますが、Azure上の他のリソースにアクセスする際もVNetの設定が必要ですので、押さえておくと良いでしょう。

クラウドの仮想ネットワークはなんとなくで設定でき、通信できてしまうこともありますが、基本を押えたうえでしっかりした設計・設定ができるようにしておくと、セキュリティ事故を未然に防いだりトラブル防止に繋がります。

クラウドの運用代行や導入、開発は23年の実績をもつジードにご相談ください

  • クラウドの運用代行

    クラウドの監視・保守・運用の代行 お客様が運営するクラウドの監視・保守・運用業務を、ジードが代行いたします。

    サービスの詳細はこちら

  • クラウドの設計・構築

    クラウドの設計・構築 お客様のご要望に沿って、適切なクラウド選定から設計・構築までを行います。

    サービスの詳細はこちら

  • クラウド上でのシステム開発

    クラウドの設計・構築 Azure上で、AI + 機械学習、分析、ブロックチェーン、IoTを開発します。

    サービスの詳細はこちら

お問い合わせ・お見積もりのご依頼はお気軽に

Scroll to top