「Microsoft Azureの学習を始めたけれど、Azure Virtual Networkの解説が公式ドキュメントを読んでも分からない」「実際にAzure Virtual Networkを使いたいけれど、作成方法が分からない」
この記事ではこのような悩みを解決するために、Azure Virtual Networkの概要や作成方法、作成するときの注意点を解説します。Azure Virtual Networkを詳しく知りたいという方はぜひご覧ください。
Microsoft Azure Virtual Networkとは?
Microsoft Azure Virtual Networkは、Azure上で作成する仮想マシンやアプリケーションなどのリソースを、相互接続するための仮想的なネットワークです。
ここでは、Azure Virtual Networkでできることと基本用語について詳しく解説します。
Azureについては、以下の記事でも詳しく解説しています。併せてご覧ください。
Microsoft Azureとは|何ができる?入門内容からわかりやすく解説
Azure Virtual Networkでできること
従来は、Wi-FiとPC、サーバーとサーバーなど物理的なケーブルを使って多くの時間をかけて、ネットワークを構築していました。Azure Virtual Networkを利用すると、クラウド上で素早く簡単にネットワークを構築できるようになります。
Azure Virtual Networkを利用することで、具体的に以下のことができるようになります。これらの通信を行うためのサービスが、Azure Virtual Networkです。
- 仮想マシン(VM)やAzureリソースとの相互通信
- インターネット上のユーザーとの通信
- オンプレミス環境との通信
Microsoft Azure Virtual Networkを操作する上で押さえておきたい基本用語
Azure Virtual Networkを効果的に操作するために、サブネット、アドレス空間、IPアドレス、パブリックIPアドレス、プライベートIPアドレスなどの基本用語を理解することが不可欠です。これらの用語を把握することで、ネットワーク設計と管理がスムーズに行えます。それぞれの用語について1つずつ見ていきましょう。
IPアドレス(IPv4、IPv6)
IPアドレスはネットワーク上のデバイスを識別するための番号です。Azure Virtual Networkでは、IPv4とIPv6の両方をサポートしています。
- IPv4:10進数で192.168.1.1のように4分割(オクテット)であらわされます。Azure Virtual Network内では、基本的にIPv4のIPアドレスが利用されます。
- IPv6:IPv4のIPアドレスの枯渇問題が発生し、新たにつくられたIPアドレスです。16進数で「2001:0db8:0000:abcd:3456:0000:12ef:0000」のように、数字とアルファベットの組み合わせで表されます。
さらに、IPv4とIPv6のIPアドレスにはパブリックIPアドレスとプライベートIPアドレスの2つの主要なタイプがあります。
- パブリックIPアドレス:インターネットからアクセス可能なリソースに割り当てられる
- プライベートIPアドレス:内部ネットワークで使用する
仮想ネットワーク
仮想ネットワークとは、Azure Virtual Networkを日本語訳したものと認識するとよいでしょう。「vnet」という表記も用いることもあります。
Azure Virtual Networkで、アドレス空間やサブネットを作成する際は、Azure上で「仮想ネットワーク」と検索して作成します。
アドレス空間
アドレス空間は、Azure Virtual Network内で使用されるIPアドレスの範囲を指します。この範囲内でIPアドレスを割り当て、ネットワーク上のリソースを一意に識別します。アドレス空間の適切な設計は、IPアドレスの効率的な利用とネットワークの柔軟性に影響を与えます。
下の画像のように、「ここからここまでのIPアドレスを使います」という宣言をすることで、仮想ネットワークやサブネットを作成できます。サブネットを作成するときのIPアドレス範囲は、アドレス空間で設定したIPアドレスの範囲内で設定する必要があるため注意しましょう。
例)アドレス空間を172.0.0.0/20で設定した場合、サブネットのIPアドレス範囲は、172.0.0.0~172.0.15.255の中でしか設定が出来ません。10.0.0.0/24のような設定は不可となります。
サブネット
サブネットとは、Azure Virtual Network内で使用するIPアドレスを論理的に細分化したもののことです。1つのネットワークを2つ以上のネットワークに分割することを「サブネット化」といいます。
1つのAzure Virtual Network(仮想ネットワーク)に対して、必ず1つ以上のサブネットを作成する必要があります。
1つのAzure Virtual Networkで、サブネットを2つ以上作成しアドレス範囲を指定する際も、それぞれのサブネットでアドレス範囲が被らないように設定する必要があるため注意が必要です。
ピアリング
Azure Virtual Networkのピアリング接続は、2つの仮想ネットワーク同士で通信ができるようにするための機能です。
「100.0.0」という仮想ネットワークと「172.0.0.0」という仮想ネットワークを作成するとします。この2つの仮想ネットワーク上に1つずつ仮想マシンを作成したとしても、何も設定しなければ仮想マシン同士で通信することはできません。このように、異なる仮想ネットワークにあるリソースを接続するための1つの方法がピアリング接続です。
VPN
VPN(Virtual Private Network)は、Azure Virtual NetworkをオンプレミスネットワークやAzure以外のネットワークと安全に接続するための技術です。VPNを使用することで、データのセキュアな転送が実現し、リモートワークや他企業との連携が簡単に行えます。
AzureのVPN接続には、オンプレミスLAN環境とAzureリソースを接続する「サイト間VPN」と、オンプレミスにあるクライアントPCとAzureリソースを接続する「ポイント to サイトVPN」の2種類が用意されています。
利用可能なIPアドレスについて
Azure Virtual Networkでアドレス空間の設定やサブネットの作成時に、IPアドレスの範囲(個数)の設定を行います。/28のようにスラッシュと数字で表します。この数字が小さくなるほど、多くのIPアドレスが使用できます。
下の画像では、16個のアドレスが使用できると記載されていますが、実際に利用できるアドレス数は以下のアドレスを除く11個になります。
- ネットワークアドレス:指定した範囲の先頭にあるアドレス(10.0.0.0)
- Azure サービスが予約したアドレス:通常はネットワークアドレスに続く3つ(10.0.0.1、10.0.0.2、10.0.0.3の3つ)
- ブロードキャストアドレス:範囲の最後のアドレス(10.0.0.255)
実際に利用可能なIPアドレスの数は、サイズに記載されているものから5個引いた数と覚えておきましょう。
Azure Virtual Networkにデプロイできるサービス一覧
Azure Virtual Networkは、Azureサービスの基礎ともいえるサービスで、Azure Virtual Networkを作成しなければ利用できないサービスも多く存在します。そこで、Azure Virtual Networkにデプロイ(配置)して利用する主なサービスについて表にまとめます。
コンピューティングリソース |
Azure Virtual Machines |
Azure Virtual Machine Scale Sets |
|
Azure Batch |
|
ネットワーク関連のサービス |
Application Gateway - WAF |
Azure Bastion |
|
Azure Firewall |
|
VPN Gateway |
|
データベース |
RedisCache |
Azure SQL Managed Instance |
|
Azure Database for MySQL |
|
Azure Database for PostgreSQL |
|
コンテナサービス |
Azure Kubernetes Service (AKS) |
Azure Container Instances (ACI) |
|
その他サービス |
Web Apps |
App Service 環境 |
|
Azure Logic Apps |
|
Azure Active Directory Domain Services |
表の中に記載したデータベースサービス、Web Apps、Azure Bastion、Application Gateway - WAFを利用する際には、専用のサブネットが必要となります。例えば、Azure Virtual MachinesとAzure Kubernetes Service (AKS)といった専用のサブネットを必要としないサービスは、1つのサブネット内に別サービスのリソースを構築することが可能です。しかし、Azure Virtual MachinesとAzure Firewallを組み合わせて利用するときは、Azure Firewallが専用のサブネットを必要とするため、サブネットを2つ用意する必要があるということです。
これらのサービスを利用する際は、Azure Virtual Networkの知識も必要になります。それぞれのリソースの特徴や概要については、Microsoftの公式ページで確認してください。
Azure Virtual Networkの作成上限
Azure Virtual Networkの作成には上限が設けられています。
- 仮想ネットワークの作成上限:1,000
- サブネット数の上限:3,000
- ピアリング接続数上限:500
- プライベート IPアドレス数の上限:65,536
パブリックIPアドレスの使用数にも上限があります。無料試用版や従量課金制などプランやカテゴリによって異なりますが、通常のBASICプランでは10個までとなっています。
大企業や大規模システムを扱う場合でない限り、作成上限を気にする必要はありません。仮に、Azure Virtual Networkの作成上限の緩和をしたいという場合は、Azureポータルのヘルプとサポートから上限緩和申請を行うことも可能です。
Azure Virtual Networkの料金
Azure Virtual Networkの料金は、構築自体は無料ですが、通信に関連して料金が発生します。データ転送や外部との通信トラフィックにかかる料金があります。料金詳細についてはAzureの公式ウェブサイトを確認し、使用状況に合わせて適切なプランを選択しましょう。
Azure Virtual Networkの構築は無料
Azure Virtual Networkは、各サブスクリプションで最大50個まで無料で作成可能です。Azureでは、日本を含む60以上のすべてのリージョンで作成できます。また、Azure Virtual Networkにサブネットを追加することも無料です。
外部と通信したときに料金が発生する
Azure Virtual Network を使用して外部と通信する場合は、料金が発生します。外部と通信する方法には、次のようなものがあります。
- Azure Virtual Network 内の VM (Virtual Machine)からインターネットへの接続
- オンプレミスネットワークと接続する場合、VPN ゲートウェイの料金が発生
- 別の Azure Azure Virtual Network に接続する場合、ピアリングの料金が発生
インターネット接続の料金は、データ転送量に基づいて課金されます。オンプレミスネットワーク接続の料金は、VPN ゲートウェイの帯域幅と接続時間に基づいて課金されます。Azure Virtual Network ピアリングの料金は、データ転送量に基づいて課金されます。
Azure Virtual Networkで外部ネットワークと通信するには?
Azure Virtual Networkから外部ネットワークとの通信を確立するには、さまざまな方法があります。以下では、主要な通信方法について解説します。
インターネットとの通信方法
Azure Virtual Network内のリソース(仮想マシンなど)とインターネットを通信する方法は、リソースにパブリックIPアドレスを付与する方法と、パブリックロードバランサーを使用する方法の2種類あります。
まず、Azure Virtual Network内に配置されたリソースにパブリックIPアドレスを付与する方法です。この方法では、通常NSG(ネットワークセキュリティグループ)やファイアウォールでセキュリティを高めます。そのため、NSGやファイアウォール側でもインターネットへの通信ができるように設定をする必要があります。
2つ目は、ロードバランサー(外部からの通信を複数のサーバーに分散する装置)を使ったインターネットとの接続です。仮想ネットワーク内のサーバーとロードバランサーは、プライベートIPアドレスで通信をします。そして、ロードバランサーがパブリックIPアドレスを使ってインターネットと通信をします。例えば、外部ネットワークからロードバランサーが持つパブリックIPアドレス宛にアクセスすると、仮想ネットワーク内のリソースにアクセス可能です。
クライアントPCとの接続方法
クライアントPCからAzure Virtual Networkへの接続も、いくつかの方法がありますが、最も一般的なのは、Azure VPN Gatewayを使用する方法です。これにより、VPN接続を介してクライアントPCが仮想ネットワークに接続でき、セキュリティ対策をしながら通信が確立されます。
また、Azure Bastionを利用することも可能です。RDP(リモートデスクトップ)やSSHといった専用のプロトコルを使用してクライアントPCから仮想マシンにアクセスもできます。
仮想ネットワークゲートウェイを使ったオンプレミス環境との接続方法
Azure仮想ネットワークゲートウェイを使用してオンプレミス環境と接続するには、まずAzureポータルで仮想ネットワークゲートウェイを設定します。
次に、オンプレミス側にも同様のゲートウェイデバイスを用意し、VPN接続またはExpressRoute接続を確立します。双方のゲートウェイで認証情報やIP構成を設定し、BGPプロトコルを使用するかどうかを決定します。
接続が確立されたら、オンプレミスネットワークとAzure仮想ネットワーク間でトラフィックが安全かつ効率的に転送されます。これにより、ハイブリッドクラウド環境を構築し、オンプレミスリソースとAzureのリソースを連携させることが可能です。
その他Azure Virtual Networkに関連するサービス・機能
Azure Virtual Networkには他にもさまざまな関連サービス・機能があります。ここでは、関連するサービス・機能を4つ紹介します。
Azure Virtual Network Manager
Azure Virtual Network Managerは、Azureネットワークリソースを簡単に管理するためのツールです。このサービスは、仮想ネットワーク、サブネット、セキュリティグループ、ネットワークルーティングなどの機能を集中管理し、可視性と効率性を向上させます。
ユーザーはAzureポータルやCLI(キーボードからの文字列入力により処理を進める方法)を介して、仮想ネットワークの設定、監視、トラブルシューティングを行え、リソースのスケーリングやセキュリティポリシーの適用も容易に実行できます。Azure Virtual Network Managerは、クラウドネットワークの管理を簡素化し、運用の複雑さを軽減するのに役立ちます。
Azure Virtual Network のNAT機能
Azure Virtual NetworkのNAT(Network Address Translation)機能は、プライベートIPアドレスをパブリックIPアドレスに変換するための機能です。
Azure Virtual Network内部の仮想マシンがインターネットに通信をするときに、NATデバイスが、プライベートIPアドレスからパブリックIPアドレスに変換します。Azure Virtual Network内部の仮想マシンが持つプライベートアドレスを隠すことができるため、セキュリティを強固にしたサーバーの運用が可能になります。
NAT機能を用いると仮想マシンからインターネットなど外部への通信が可能になります。プライベートアドレスが外部に伝わらないため、社内の機密情報を扱う際などに使用されます。
Azure Virtual Network のTAP機能
Azure Virtual NetworkのTAP(Terminal Access Point)機能は、ネットワークトラフィックの監視と診断のための機能です。
TAPを使用すると、仮想ネットワーク内でのトラフィックパターンや問題を把握し、セキュリティ、パフォーマンス、コンプライアンスの観点からネットワークを最適化できます。Azure Virtual Networkを作成して、通信を行うときに異常がなかったか、異常があった場合にどこに異常があったのか、何回その異常が発生したのかなどを分析することも可能になります。
Azureのサービスを使って、仮想マシンを構築したり、アプリを開発して通信をするときに、異常の早期発見や分析のために利用する企業が多いです。
ネットワークセキュリティグループ(NSG)
ネットワークセキュリティグループ(NSG)は、Azureクラウドネットワークのセキュリティを強化する重要なサービスです。NSGはファイアウォールのような役割を果たし、ネットワークトラフィックの制御と監視を可能にします。
NSGを使用すると、ポートやプロトコルに基づいたセキュリティルールを定義し、仮想マシンやサブネットに適用できます。これにより、不正アクセスや不要なトラフィックをブロックし、セキュリティポリシーを厳格に遵守できます。
また、NSGはアプリケーションゲートウェイやAzure Firewallと組み合わせて使用することで、包括的なセキュリティ対策が可能です。NSGは柔軟性と可視性を提供し、クラウドネットワークのセキュリティを強化するための不可欠なツールとして役立っています。
Azure Virtual Networkの構築手順
Azure Virtual Networkを構築する際の基本的な手順を以下に示します。
1. AzureアカウントでAzureポータルにサインインします。
2. Azureポータルから「仮想ネットワーク」を検索し、仮想ネットワークのページで「+作成」をクリックします。
3. 仮想ネットワークの作成画面で、サブスクリプション、リソースグループ、仮想ネットワーク名、地域の基本情報を入力し「次へ」を選択します。
4. セキュリティタブに移動したら、Azure Bastion、Azure Firewall、Azure DDoS ネットワーク保護を使用するかしないか選択できます。今回は、テストで作成するだけなので、全てチェックを外します。
5. IPアドレスタブに移動し、アドレス空間とサブネットを作成しましょう。
今回は、アドレス空間を「172.16.0.0/24」、サブネットを2つ「172.16.0.0/28」と「172.16.0.16/28」で作成します。
6. 「確認及び作成」を選択して、問題がなければそのまま「作成」をクリックします。
これでAzure Virtual Networkの作成は完了です。
Azure Virtual Network ピアリングの実装手順
Azure Virtual Network ピアリングは、異なるAzure仮想ネットワーク間での通信を設定します。実装手順は以下の通りです。
1. 2つの仮想ネットワークを作成します。
2. どちらかの仮想ネットワークを選択し、画像を参照しながら、ピアリングを探しクリックします。「+追加」を選択します。
3. ピアリングの詳細設定を設定します。許可ルールや転送設定などを指定します。下にスクロールすると、接続先の仮想ネットワークを選択する項目があります。ここで、接続したい相手の仮想ネットワークを選択しましょう。
4. ピアリングが確立されたら、仮想ネットワーク間で通信が可能になります。
Azure VMの仮想ネットワーク変更方法
Azure VMに接続している仮想ネットワークを変更するには、次のステップで実行できます。
- VMの停止: まず、変更を加える前に対象のAzure VMを停止します。VMが実行中の状態では、ネットワーク構成の変更ができません。
- VMのネットワークインターフェースカード(NIC)を一時的にデタッチします。これにより、VMと仮想ネットワークの関連付けを解除します。
- 仮想ネットワークに設定しているアドレス空間やサブネットを変更
- ネットワークインターフェイスカードの再関連付け
- VMの再開: 仮想マシンを起動して正常に動作することを確認しましょう。
Azure Virtual Networkを構築する際の注意点
Azure Virtual Networkを構築する際、いくつかの重要な注意点があります。注意点を知らずに作成すると、エラーが起きる原因にもなり、エラー解決に時間がかかることもあります。ここでは、注意点を2つ解説します。
Azure Virtual Networkはリージョンをまたいでの作成ができない
Azure Virtual Networkを構築する際の重要な注意点の1つは、Azure Virtual Networkはリージョンをまたいで作成できないことです。同じAzure Virtual Networkに2つのサブネットを作成して、1つは日本のリージョン、もう1つはアメリカのリージョンで使いたいという構成はできないため注意しましょう。
もし、この構成を取りたい場合は、Azure Virtual Network自体を日本のリージョンとアメリカのリージョンのもので2つ作成し、それぞれにサブネットを作成する方法があります。接続時には、各リージョンのAzure Virtual Network同士をピアリングさせましょう。
すでにAzure Virtual Network内にリソースがあるときはアドレス空間を変更できない
Azure Virtual Networkを構築する際の重要な注意点のもう1つは、既存のAzure Virtual Network内にリソースが配置されている場合、アドレス空間の変更ができないことです。
「Azure VMの仮想ネットワーク変更方法」にて、一度仮想マシンを停止して、ネットワークインターフェイスをデタッチ(関連付けを解除)しました。このように、リソースに対してIPアドレスを割り当てており、そのIPアドレスを変更したい場合は、変更前にデタッチ(関連付けの解除)を行う必要があります。デタッチをするまでは、そのAzure Virtual Networkのアドレス空間やサブネットの変更ができません。
まとめ
Azure Virtual Networkは、Azureを利用するのであれば、ほとんどの人が理解すべきものです。企業や家庭で利用しているネットワークをAzure上で簡単に構築できます。そのため、これまでネットワークに詳しくない人でも理解しやすいでしょう。
しかし、専門的な知識がなくても利用できるのがクラウドのよさでもあります。この記事で紹介したようにマウスとキーボード操作だけで仮想ネットワークの構築ができます。企業システムをIT化・クラウド化したいと考えている企業は、ぜひAzureの利用を検討してみてください。