カテゴリ: Azure 更新日: 2026/04/30

Azure ExpressRoute接続ガイド!PrivateとMicrosoftピアリングの違いと使い分け

Azure ExpressRouteピアリング設定|PrivateとMicrosoft接続の適切な使い分け
Azure ExpressRouteピアリング設定|PrivateとMicrosoft接続の適切な使い分け

先生と生徒の会話形式で理解しよう

生徒

「Azure(アジュール)と自社のネットワークを専用線でつなぐExpressRoute(エクスプレスルート)について調べているのですが、ピアリング設定の種類が多くて混乱しています。」

先生

「それは大切なポイントですね。ExpressRouteには主にPrivate(プライベート)ピアリングとMicrosoft(マイクロソフト)ピアリングの2種類があり、接続先のサービスによって使い分ける必要があります。」

生徒

「プライベートとマイクロソフト、名前からして全然違いそうですね。どのように選べばいいのでしょうか?」

先生

「一言でいうと、自分の仮想ネットワークにつなぐか、Microsoftの公開サービスにつなぐかの違いです。詳しく解説していきましょう!」

1. Azure ExpressRouteとは何か?

1. Azure ExpressRouteとは何か?
1. Azure ExpressRouteとは何か?

Azure ExpressRoute(アジュール・エクスプレスルート)とは、インターネットを経由せずに、オンプレミス(自社所有の設備)のネットワークとMicrosoftのクラウドサービスを専用の回線で直接接続するサービスのことです。インターネットを通らないため、通信の品質が安定し、セキュリティも非常に高いのが特徴です。

通常、インターネットを使ってクラウドにアクセスすると、他のユーザーの通信の影響を受けて速度が遅くなったり、情報漏洩(じょうほうろうえい)のリスクを心配したりすることがあります。しかし、ExpressRouteを使えば、まるで自社のLAN(ラン)の延長線のようにAzureを利用できるのです。この接続を確立する際に設定するのが「ピアリング」と呼ばれる接続ルールです。

2. Privateピアリングの役割と特徴

2. Privateピアリングの役割と特徴
2. Privateピアリングの役割と特徴

Private(プライベート)ピアリングは、その名の通り「自分専用の空間」に接続するための設定です。具体的には、Azureの中に作成したVirtual Network(バーチャル・ネットワーク:仮想ネットワーク)に接続します。自社のサーバーから、Azure上の仮想マシン(VM)へプライベートなIPアドレスを使って通信したい場合に利用します。

この接続方式の最大の特徴は、インターネット側からは一切見えない経路で通信が行われる点です。社内の基幹システムをAzureに移行したり、バックアップデータを転送したりする際には、このプライベートピアリングが最も一般的に使われます。AzureのIaaS(アイアース)やPaaS(パース)の多くがこの接続形態をサポートしています。

以下は、プライベートピアリングにおけるルート情報の例です。自社拠点(オンプレミス)とAzure側のネットワークアドレスが互いに見えるようになります。


拠点側ネットワーク | Azure側ネットワーク | 接続状態
-------------------+---------------------+---------
10.0.0.0/24        | 172.16.0.0/16       | 接続済み
10.0.1.0/24        | 172.17.0.0/16       | 接続済み
192.168.1.0/24     | 10.100.0.0/16       | 接続済み

3. Microsoftピアリングの役割と特徴

3. Microsoftピアリングの役割と特徴
3. Microsoftピアリングの役割と特徴

Microsoft(マイクロソフト)ピアリングは、Microsoftがインターネット上に公開しているサービス(SaaSやPaaS)に、専用線経由でアクセスするための設定です。代表的なサービスには、Microsoft 365(旧Office 365)やDynamics 365、AzureのSQL Database(エスキューエル・データベース)などがあります。

これらのサービスは、本来インターネット経由で誰でもアクセスできる場所にありますが、Microsoftピアリングを設定することで、専用線の安全な経路を通ってアクセスできるようになります。ただし、Microsoft 365を利用する場合は、Microsoftによる審査や承認が必要になるケースがあるため、導入のハードルはプライベートピアリングよりも少し高いと言えます。

設定時には、パブリックIPアドレス(インターネットで使われる住所)が必要になるのが、プライベートピアリングとの大きな違いです。

4. プライベートとマイクロソフト接続の使い分け基準

4. プライベートとマイクロソフト接続の使い分け基準
4. プライベートとマイクロソフト接続の使い分け基準

どちらのピアリングを使うべきかは、「何にアクセスしたいか」で決まります。非常にシンプルな判断基準を以下にまとめました。

  • 自分たちが作ったAzure上の仮想マシン(VM)に接続したい → Privateピアリング
  • Azure上のデータベース(PaaS)に内部的に接続したい → Privateピアリング(Private Endpoint併用)
  • OutlookやTeams(Microsoft 365)を専用線で使いたい → Microsoftピアリング
  • Azureのポータルサイトや公開APIにアクセスしたい → Microsoftピアリング

以前は「パブリックピアリング」という設定もありましたが、現在はMicrosoftピアリングに統合されています。初心者の皆さんは、まず自分の会社のネットワークをAzureに広げたいなら「Private」を選択すると覚えておけば間違いありません。

5. PowerShellを使ったExpressRoute情報の確認

5. PowerShellを使ったExpressRoute情報の確認
5. PowerShellを使ったExpressRoute情報の確認

Azureの操作はブラウザ(Azure Portal)だけでなく、PowerShell(パワーシェル)というコマンド入力画面からも行えます。管理者がExpressRouteの状態を確認する際によく使うコマンドを紹介します。コマンドを覚える必要はありませんが、こうしたツールで管理されていることを知っておくと役立ちます。

まずは、現在のExpressRouteサーキットの情報を取得する基本的なコマンドです。これにより、ピアリングが有効かどうかをチェックできます。


# ExpressRouteサーキットの情報を取得する
$circuit = Get-AzExpressRouteCircuit -Name "MyExpressRoute" -ResourceGroupName "MyResourceGroup"

# サーキットの状態を表示する
$circuit.ServiceProviderProvisioningState

Provisioned

出力結果が「Provisioned(プロビジョンド)」となっていれば、回線の準備ができていることを示しています。このように、システムの状態をプログラム的に確認できるのがクラウドの便利な点です。

6. Azure CLIを用いたピアリング設定の取得

6. Azure CLIを用いたピアリング設定の取得
6. Azure CLIを用いたピアリング設定の取得

Linux(リナックス)環境やMac、またはWindowsのコマンドプロンプトでよく使われるのがAzure CLI(アジュール・シーエルアイ)です。これもPowerShellと同様に、コマンド一つでExpressRouteの設定内容を確認できます。ピアリングの種類(PrivateかMicrosoftか)を確認するコマンドを見てみましょう。


az network express-route peering list --circuit-name MyCircuit --resource-group MyRG
[
  {
    "name": "AzurePrivatePeering",
    "peeringType": "AzurePrivatePeering",
    "state": "Enabled"
  },
  {
    "name": "MicrosoftPeering",
    "peeringType": "MicrosoftPeering",
    "state": "Disabled"
  }
]

この結果を見ると、この回線では「AzurePrivatePeering(プライベート)」は有効(Enabled)ですが、「MicrosoftPeering」は無効(Disabled)であることが分かります。初心者のエンジニアも、こうしたコマンド結果が読めるようになると、トラブルの際に原因を特定しやすくなります。

7. ピアリング設定時の注意点:BGPとIPアドレス

7. ピアリング設定時の注意点:BGPとIPアドレス
7. ピアリング設定時の注意点:BGPとIPアドレス

ExpressRouteの設定には、BGP(Border Gateway Protocol:ボーダー・ゲートウェイ・プロトコル)という技術が使われます。これは、インターネット上のルーター同士が「どの道を通れば目的地に着くか」を教え合うための言葉のようなものです。

設定時には「自社のIPアドレス」と「Azure側のIPアドレス」が重ならないように注意しなければなりません。例えば、自社で「192.168.1.0/24」という住所を使っているのに、Azure側でも同じ「192.168.1.0/24」を使ってしまうと、データがどちらに行けばいいのか迷子になってしまいます。これを「アドレスの重複」と呼び、通信ができなくなる原因の第一位です。

以下は、正しく設計されたネットワークアドレスの割り当てリストです。


場所           | 使用するネットワーク範囲 | 用途
---------------+--------------------------+---------------------
本社オフィス   | 10.1.0.0/16             | PC・プリンタ等
大阪支店       | 10.2.0.0/16             | 支店用サーバー
Azure VNet     | 10.10.0.0/16            | 業務アプリケーション
共有セグメント | 192.168.100.0/30        | 接続用(BGP用)

8. 冗長構成と信頼性の確保

8. 冗長構成と信頼性の確保
8. 冗長構成と信頼性の確保

ExpressRouteを導入する最大の理由は「信頼性」です。そのため、ExpressRouteは標準で2本の接続(プライマリとセカンダリ)がセットになっています。万が一、1本の回線が物理的に切れてしまっても、もう1本の回線が自動的に通信を引き継ぐ仕組みになっています。これを「冗長化(じょうちょうか)」と言います。

Privateピアリングを設定すると、Azure側にある2台のルーター(MSEEと呼ばれます)と、自社側のルーターがそれぞれ2本の道でつながります。このおかげで、メンテナンス中であっても業務を止めることなくAzureを使い続けることができるのです。専用線だからこそ、こうした「壊れにくさ」もセットで提供されているわけですね。

9. 実践的な活用シーン:ハイブリッドクラウド

9. 実践的な活用シーン:ハイブリッドクラウド
9. 実践的な活用シーン:ハイブリッドクラウド

最近の企業では、すべてのサーバーをクラウドに持っていくのではなく、重要なデータは社内に残し、計算処理などはクラウドで行う「ハイブリッドクラウド」という形が増えています。この架け橋となるのがPrivateピアリングです。

例えば、Python(パイソン)で作ったAIプログラムをAzure上で動かし、その結果を社内のデータベースに保存するといった連携がスムーズに行えます。このとき、Pythonから自社サーバーへのアクセスは、インターネットを通らないPrivateピアリングの経路を通るため、まるで隣の部屋にあるサーバーを操作しているような感覚で開発ができます。以下は、簡単なPythonのコードでAzure上の環境を想定したイメージです。


# Azure上のVMから社内DB(10.1.0.50)へ接続するイメージ
import socket

def check_onprem_connection(target_ip):
    try:
        # プライベートIPを使って社内サーバーに挨拶
        print(f"{target_ip} に専用線経由で接続を試みます...")
        # 通信処理(例)
        return "接続成功!"
    except Exception as e:
        return f"エラーが発生しました: {e}"

print(check_onprem_connection("10.1.0.50"))

10.1.0.50 に専用線経由で接続を試みます...
接続成功!

10. コストと導入のタイミング

10. コストと導入のタイミング
10. コストと導入のタイミング

ExpressRouteは、VPN(ブイピーエヌ)というインターネットを使った接続方法に比べると、月額の費用が高くなります。そのため、最初からExpressRouteを導入するのではなく、まずは安価なVPNで接続してみて、通信量が増えたり、より高い安定性が求められたりする段階でExpressRouteに切り替えるのが賢い選択です。

その際も、今回学んだPrivateピアリングとMicrosoftピアリングの違いを理解していれば、「仮想マシンへのアクセスを安定させたいからPrivateを導入しよう」といった正しい意思決定ができるようになります。Azureのネットワークの世界は奥が深いですが、まずはこの2つのピアリングの使い分けからスタートしてみましょう。

まとめ

まとめ
まとめ

Azure ExpressRoute(アジュール・エクスプレスルート)の接続における、Private(プライベート)ピアリングMicrosoft(マイクロソフト)ピアリングの違い、そして具体的な使い分けについて詳しく解説してきました。専用線を利用することで、インターネットの混雑やセキュリティリスクを回避し、オンプレミスとクラウドをシームレスにつなぐことが可能になります。

ExpressRoute接続の要点整理

今回の内容を振り返る上で、特に重要なポイントは以下の通りです。

  • Privateピアリング: Azure仮想ネットワーク(VNet)内の仮想マシンや内部ロードバランサーへ、プライベートIPアドレスを用いて直接接続します。基幹システムのクラウド移行に不可欠です。
  • Microsoftピアリング: Microsoft 365(Teams、Outlook)やAzureのパブリックサービス(SQL Database、Storage等)に、専用線経由でパブリックIPアドレスを用いてアクセスします。
  • セキュリティと安定性: BGP(ボーダー・ゲートウェイ・プロトコル)による動的ルート制御と、冗長化された物理構成により、ミッションクリティカルな業務に耐えうる信頼性を確保します。
  • IPアドレス設計: オンプレミスとAzure側でネットワークアドレスが重複しないよう、事前の厳密なプランニングが成功の鍵となります。

C#によるネットワーク状態の監視例

ExpressRoute経由での接続性をアプリケーション側から確認する場合、C#(シーシャープ)を用いて特定のプライベートエンドポイントへの疎通をチェックするロジックを組むことがあります。以下は、接続先のIPアドレスに対してネットワーク接続が可能かどうかを判定するシンプルなサンプルプログラムです。


using System;
using System.Net.NetworkInformation;

class AzureConnectionChecker
{
    static void Main()
    {
        // Azure上の仮想マシンのプライベートIPアドレスを想定
        string targetIp = "10.10.0.5";
        Ping pingSender = new Ping();

        try
        {
            Console.WriteLine($"ExpressRoute経由で {targetIp} への接続を確認中...");
            PingReply reply = pingSender.Send(targetIp, 2000);

            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine("接続ステータス: 成功");
                Console.WriteLine($"応答時間: {reply.RoundtripTime} ms");
            }
            else
            {
                Console.WriteLine($"接続ステータス: 失敗 ({reply.Status})");
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"エラーが発生しました: {ex.Message}");
        }
    }
}

このプログラムを実行した際の出力結果は以下のようになります。専用線が正常に稼働していれば、低遅延での応答が確認できます。


ExpressRoute経由で 10.10.0.5 への接続を確認中...
接続ステータス: 成功
応答時間: 15 ms

SQL Serverへの接続確認

MicrosoftピアリングやPrivate Endpointを利用して、オンプレミスからAzure SQL Databaseへアクセスする際、データベース側で接続元の情報を確認するクエリも役立ちます。接続がプライベートな経路を通っているか、どのIPから来ているかを把握することは運用管理において重要です。


session_id | connect_time          | client_net_address | protocol_type
-----------+-----------------------+--------------------+--------------
54         | 2026-03-27 10:00:01   | 10.1.5.20          | TSQL
58         | 2026-03-27 10:05:12   | 10.1.5.21          | TSQL
62         | 2026-03-27 10:10:45   | 192.168.10.5       | TSQL

SELECT 
    session_id, 
    connect_time, 
    client_net_address, 
    protocol_type
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP';

上記のように、接続元IP(client_net_address)が自社拠点のセグメント内であれば、意図した通りExpressRouteの経路を通ってデータベースにアクセスできていることが確認できます。

運用管理に役立つLinuxコマンド

ネットワークエンジニアがLinuxサーバーからAzureへの経路を確認する際、traceroute(トレースルート)コマンドは非常に強力な武器になります。どのルーターを経由してAzureに到達しているかを可視化できます。


traceroute 10.10.0.5
traceroute to 10.10.0.5 (10.10.0.5), 30 hops max, 60 byte packets
 1  10.1.0.1 (10.1.0.1)  0.521 ms
 2  192.168.100.1 (192.168.100.1)  2.145 ms
 3  10.10.0.5 (10.10.0.5)  14.892 ms

このように、ホップ数が少なく安定したレスポンスが得られるのがExpressRouteの強みです。もしインターネット経由であれば、より多くのプロバイダを経由するため、ホップ数が増加し遅延も不安定になります。

先生と生徒の振り返り会話

生徒

「先生、まとめまで読んでようやく全体像が掴めてきました!自分たちのサーバーをAzureに置くならPrivateピアリング、Microsoft 365とかのクラウドサービスを安全に使うならMicrosoftピアリング、という切り分けでいいんですよね?」

先生

「その通りです!よく理解できましたね。特にPrivateピアリングは、自社のLANをAzureまで延長するような感覚なので、IPアドレスの設計が一番の肝になります。」

生徒

「確かに、さっきのSQLの実行結果やC#のコードを見ても、プライベートなIPアドレス同士でやり取りしているのが分かりました。BGPというプロトコルが裏側で道を教えてくれているおかげで、こんなにシンプルに繋がるんですね。」

先生

「素晴らしい洞察です。実際の現場では、ExpressRouteが切れたときのためにVPNをバックアップとして用意することもあります。ネットワークの信頼性をどう高めるかという視点を持つと、さらにエンジニアとしての深みが増しますよ。」

生徒

「ありがとうございます。まずは小規模なVPNから始めて、トラフィックが増えたらExpressRouteへの切り替えを提案できるよう、今回の知識を役立てたいと思います!」

先生

「応援しています。まずはAzure PortalやPowerShell、Azure CLIを使って、今の回線状態をのぞいてみることから始めてみてくださいね。理論だけでなく実際の動きを見るのが上達の近道ですから。」

カテゴリの一覧へ
新着記事
New1
C#
C#のメソッドのオーバーロードとは?同名メソッドを複数定義する方法
New2
C#
C#の出力と入力の基本をマスター!初心者でもわかるConsole.WriteLine()とConsole.ReadLine()の使い方
New3
C#
C# GUIアプリでファイルダイアログを使う方法!WinFormsとWPFの基本操作を完全解説
New4
Azure
Azure SQL Databaseの認証設定を徹底解説!Entra ID(旧Azure AD)統合でセキュアなデータベース管理を実現する方法
人気記事
No.1
Java&Spring記事人気No1
C#
C#の日付型(DateTime)と基本的な使い方を解説|初心者向け入門ガイド
No.2
Java&Spring記事人気No2
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.3
Java&Spring記事人気No3
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.4
Java&Spring記事人気No4
C#
C# WinForms入門!初心者でも簡単にWindowsアプリを作る方法
No.5
Java&Spring記事人気No5
C#
C#の文字列を数値に変換する方法(int.Parse・TryParse)をわかりやすく解説!
No.6
Java&Spring記事人気No6
C#
C#のログ出力入門!SerilogとNLogの使い方を徹底解説
No.7
Java&Spring記事人気No7
Azure
Azure Bastionの使い方を徹底解説!踏み台サーバー不要で安全にRDP/SSH接続
No.8
Java&Spring記事人気No8
C#
C#のWPFとは?XAMLでGUI開発を基礎から完全解説!初心者向けの入門ガイド