Azure VPN GatewayのSKU選び方ガイド|VpnGw1〜5の帯域幅と性能比較
生徒
「会社からAzure(アジュール)を使って、自宅やオフィスからクラウドへ安全につなぐように言われました。VPN Gateway(ブイピーエヌ ゲートウェイ)というものを使うらしいのですが、種類が多すぎてどれを選べばいいか分かりません。」
先生
「それはAzure VPN GatewayのSKU(エスケーユー)選びですね。SKUとは『保存在庫単位』の略ですが、ITの世界では『製品の等級やプラン』を指します。VpnGw1やVpnGw2といった名前で、それぞれ通信の速度やパワーが違うんですよ。」
生徒
「なるほど、プランのようなものですね。数字が大きければ性能が良いのは分かりますが、具体的に何が違うんですか?」
先生
「主な違いは、データの通り道の広さである『帯域幅(たいいきはば)』と、同時に接続できる人数や拠点数です。今回は初心者の方でも迷わずに選べるように、それぞれの性能を詳しく比較してみましょう!」
1. Azure VPN Gatewayとは何か?
Azure VPN Gateway(アジュール ブイピーエヌ ゲートウェイ)とは、Microsoftが提供するクラウドサービス「Azure」において、インターネットを通じて暗号化された安全な通信経路を確保するための仮想ネットワーク専用の窓口です。通常、インターネット上の通信は第三者に盗み見られるリスクがありますが、VPN(Virtual Private Network:仮想専用線)を使うことで、トンネルの中を通るように安全にデータをやり取りできます。
このサービスを利用する主なシーンは、会社のオフィスとAzureを接続する「サイト間(S2S)接続」や、個人のパソコンから直接Azureへ接続する「ポイント対サイト(P2S)接続」などがあります。歴史的には、物理的な専用線を引くよりもコストが安く、設定が柔軟であることから、多くの企業で導入されてきました。現在はテレワークの普及により、外出先から安全に社内システムへアクセスするための基盤としても非常に重要視されています。
2. SKUとは?種類と読み方の基本
Azureを利用していると必ず出てくる「SKU(Stock Keeping Unit)」という言葉ですが、これは簡単に言うと「コース料理のプラン」のようなものです。Azure VPN Gatewayには、大きく分けて「Basic(ベーシック)」「VpnGw1」「VpnGw2」「VpnGw3」「VpnGw4」「VpnGw5」といった種類があります。
末尾の数字が大きくなるほど、処理能力が高くなり、より多くの通信データを一度に処理できるようになります。また、最近では「Generation1(第1世代)」と「Generation2(第2世代)」という区分けも登場しました。基本的には、これから新しく構築する場合は、より高いパフォーマンスと拡張性を持っている第2世代(Generation2)のSKUを選択するのが一般的です。Basic SKUについては、非常に安価ですが性能が低く、サポートされる機能も限定的なため、本番環境ではなく学習用やテスト用として使われることが多いです。
3. 帯域幅と性能の比較表
各SKUがどれくらいの通信量(スループット)に対応しているのかを比較してみましょう。スループットとは、一定時間に送受信できるデータ量のことで、「Gbps(ギガビット毎秒)」や「Mbps(メガビット毎秒)」という単位で表されます。道路の車線の多さをイメージすると分かりやすいでしょう。
| SKU名 | 世代 | 最大帯域幅(スループット) | S2S トンネル数 | P2S 接続数 |
|---|---|---|---|---|
| Basic | 第1世代 | 100 Mbps | 最大10個 | 最大128個 |
| VpnGw1 | 第1/2世代 | 650 Mbps | 最大30個 | 最大128個 |
| VpnGw2 | 第1/2世代 | 1 Gbps (1,000 Mbps) | 最大30個 | 最大128個 |
| VpnGw3 | 第1/2世代 | 1.25 Gbps | 最大30個 | 最大128個 |
| VpnGw4 | 第2世代 | 5 Gbps | 最大100個 | 最大10,000個 |
| VpnGw5 | 第2世代 | 10 Gbps | 最大100個 | 最大10,000個 |
※数値はMicrosoftの公式ドキュメントに基づいた目安であり、実際の環境やネットワークの状況によって変動する場合があります。
4. 接続拠点数とユーザー数の上限を知る
SKU選びで帯域幅と同じくらい重要なのが、接続できる「拠点の数」と「ユーザーの数」です。会社で使う場合、複数の支店(サイト)と接続したいのか、それとも社員一人一人の端末(ポイント)と接続したいのかによって、選ぶべきSKUが変わります。
例えば、VpnGw1からVpnGw3までは、最大30個のサイト間(S2S)トンネルを張ることができます。しかし、全社員がテレワークを行うような大規模な環境で、数千人規模の同時接続が必要な場合は、VpnGw4以上のSKUが必要になります。VpnGw4やVpnGw5では、最大10,000個のポイント対サイト(P2S)接続をサポートしているため、大規模なエンタープライズ用途に適しています。このように、将来的にどれくらい接続が増えるかを予測して選定することが大切です。
5. PowerShellを使ってゲートウェイ情報を確認する方法
Azureポータル画面だけでなく、コマンドを使って現在のVPN Gatewayの状態を確認することもできます。ITエンジニアの現場では、作業の自動化や効率化のためにPowerShell(パワーシェル)がよく使われます。まずは、現在作成されているVPN Gatewayの一覧と、そのSKUを表示する簡単なコマンドを見てみましょう。
# 現在のサブスクリプション内のVPN Gatewayを取得して表示する
$gateways = Get-AzVirtualNetworkGateway
foreach ($gw in $gateways) {
Write-Host "名前: " $gw.Name
Write-Host "SKU: " $gw.Sku.Name
Write-Host "世代: " $gw.Sku.Tier
Write-Host "--------------------"
}
このコマンドを実行すると、以下のような結果が得られます。自分が管理している環境で、どの性能のゲートウェイが動いているかを一目で把握できます。
名前: MyCorpVPNGateway
SKU: VpnGw1
世代: VpnGw1
--------------------
名前: TestLabGateway
SKU: Basic
世代: Basic
--------------------
6. SKUの変更方法と注意点
「最初は安いプランで始めて、後からアップグレードしたい」という要望は多いです。Azureでは、VpnGw1、VpnGw2、VpnGw3の間であれば、データを消さずにサイズ変更(リサイズ)することが可能です。しかし、注意が必要なのは「Basic SKU」からの変更です。BasicからVpnGw1などへ変更する場合は、一度古いゲートウェイを削除して作り直す必要があるため、一時的に通信が切れてしまいます。
また、異なる世代(Generation1からGeneration2など)への変更も同様に再作成が必要です。本番環境で運用を開始した後にゲートウェイを削除するのは非常にリスクが高いため、最初の設計段階で「将来的に拡張性が必要かどうか」を慎重に判断することが、運用の手間を減らすコツとなります。以下のコードは、既存のゲートウェイのSKUをVpnGw1からVpnGw2にアップグレードする例です。
# ゲートウェイのオブジェクトを取得
$gateway = Get-AzVirtualNetworkGateway -Name "MyVPNGateway" -ResourceGroupName "MyResourceGroup"
# SKUをVpnGw2へ更新する設定
Set-AzVirtualNetworkGateway -VirtualNetworkGateway $gateway -GatewaySku VpnGw2
実行結果の例を確認してみましょう。成功するとプロビジョニング状態が「Succeeded」になります。
Name : MyVPNGateway
ResourceGroupName : MyResourceGroup
Location : japaneast
ProvisioningState : Succeeded
GatewayType : Vpn
VpnType : RouteBased
Sku : {Name: VpnGw2, Tier: VpnGw2, Capacity: 2}
7. 料金体系とコストパフォーマンスの考え方
Azure VPN Gatewayの料金は、主に「ゲートウェイが稼働している時間」と「インターネットへ出ていくデータの量(データ転送量)」の2つで決まります。高機能なSKU(VpnGw5など)を選べば、時間あたりの単価は高くなりますが、その分高速で安定した通信が提供されます。
初心者が陥りやすいミスとして、「とりあえず一番高いものを選んでおけば安心」と考えてしまうことがあります。しかし、実際には100人程度のアクセスであればVpnGw1でも十分なケースが多いです。無駄なコストを抑えるためには、まずは最小限の要件を満たすSKUを選び、パフォーマンス監視ツール(Azure Monitorなど)を使って負荷状況を確認しながら、必要に応じてアップグレードを検討するのが、クラウドらしい賢い使い方と言えるでしょう。
8. 接続の種類によるSKUの制限(BGPなど)
より高度なネットワーク設定を行う場合、BGP(Border Gateway Protocol:ボーダー ゲートウェイ プロトコル)という技術を使うことがあります。これは、ネットワーク経路情報を自動的に交換するための仕組みです。企業間を接続するような複雑なネットワークでは必須となる機能ですが、実はこれにもSKUによる制限があります。
例えば、安価なBasic SKUではBGPを使用することができません。また、サイト間接続でのアクティブ/アクティブ構成(2つのトンネルを同時に使って冗長性を高める設定)を利用したい場合も、特定のSKU以上を選択する必要があります。単に「速さ」だけでなく、このように「やりたい機能がそのSKUでサポートされているか」という点も、チェックリストに入れておくべき重要なポイントです。
# BGPが有効になっているかを確認するコード
$gw = Get-AzVirtualNetworkGateway -Name "MyVPNGateway" -ResourceGroupName "MyRG"
if ($gw.EnableBgp) {
Write-Host "このゲートウェイはBGPが有効です。"
} else {
Write-Host "BGPは無効、またはサポートされていないSKUです。"
}
実行した結果、以下のような応答が得られます。
このゲートウェイはBGPが有効です。
9. VPN Gatewayの選び方フローチャート
最後に、どのようにSKUを絞り込めばよいのか、簡単な判断基準を紹介します。まずは、用途が「テスト用」か「本番用」かを考えます。テスト用であれば迷わずBasic(ただし制限あり)で問題ありません。本番用であれば、次に必要な通信速度を確認します。1Gbps以下であればVpnGw1からVpnGw3の範囲で十分ですが、1Gbpsを超える超高速な通信や、数千台のPCからの同時接続が必要な場合はVpnGw4やVpnGw5が必須となります。
また、Azure以外のクラウド(AWSなど)やオンプレミスのルーターとの相性もあります。多くの場合は標準的なプロトコルを使用するため問題ありませんが、特定の機能が必要な場合は、Microsoftの公式比較表を横に置いて、一つずつ要件を消し込んでいくのが確実な方法です。焦らずに、自社のネットワーク要件を紙に書き出してからSKUを選びましょう。
まとめ
この記事では、Azure(アジュール)ネットワークの要となる「Azure VPN Gateway(アジュール ブイピーエヌ ゲートウェイ)」のSKU(エスケーユー)選びについて詳しく解説しました。VPN Gatewayは、オンプレミスの拠点とAzureを結ぶ「サイト間接続(S2S)」や、個人の端末とAzureを結ぶ「ポイント対サイト接続(P2S)」を実現するための非常に重要な仮想アプライアンスです。
適切なSKU選びの重要性
SKU(保存在庫単位)の選択は、単にコストの問題だけではなく、通信の安定性や将来の拡張性に直結します。Basic(ベーシック)プランはコストを抑えられますが、SLA(サービス品質保証)が提供されず、BGP(ボーダー ゲートウェイ プロトコル)などの高度なルーティング機能が使えません。そのため、本番環境の構築では、VpnGw1からVpnGw5のいずれかを選択することが推奨されます。特に最近では、高いスループット(帯域幅)と機能を備えた「Generation2(第2世代)」の採用が主流となっています。
世代と性能のポイント
第1世代(Generation1)と第2世代(Generation2)では、対応する最大帯域幅が大きく異なります。VpnGw1が650Mbpsであるのに対し、最上位のVpnGw5では10Gbps(ギガビット毎秒)という圧倒的な処理能力を発揮します。また、接続できるクライアント数(P2S接続数)も、上位SKUでは最大10,000台までサポートされており、大規模なリモートワーク環境にも対応可能です。
運用管理とPowerShellの活用
Azureポータルによる視覚的な操作も便利ですが、システムエンジニアとしてはPowerShell(パワーシェル)を用いた自動化や一括管理のスキルも欠かせません。例えば、現在のゲートウェイがどのSKUを使用しているかを把握し、必要に応じてリサイズ(アップグレード)を行う作業は、コマンド一つで実行できます。ただし、Basic SKUからの変更や世代をまたぐ変更には再作成が必要になるため、初期設計の段階で将来のトラフィック増を予測しておくことが賢明です。
最後に、クラウド運用の真髄は「必要最小限から始めて、需要に合わせて拡張する」ことにあります。Azure Monitor(アジュール モニター)などでトラフィックを監視し、コストパフォーマンスを最大化できるSKU運用を心がけましょう。
生徒
「先生、Azure VPN GatewayのSKUについて深く理解できました。最初はどれも同じに見えましたが、実は帯域幅だけでなく、BGPの有無や接続数まで細かく決まっているんですね。」
先生
「その通りです。特にBGP(ボーダー ゲートウェイ プロトコル)のようなルーティングプロトコルは、拠点が複数ある場合に非常に便利です。ただ、Basic SKUを選んでしまうと後からBGPを有効にできず、作り直しになってしまうので注意が必要ですね。」
生徒
「作り直しは大変ですよね。そういえば、今の設定をコマンドで確認する方法も教わりました。実際にPowerShellでSKUを確認するプログラムを書いて復習してみます。ええと、たしかこんな感じでしたよね?」
using System;
// 仮想的なVPN GatewayのSKU情報を管理するクラス
public class VpnGatewayInfo
{
public string Name { get; set; }
public string SkuName { get; set; }
public int BandwidthMbps { get; set; }
public void DisplayInfo()
{
Console.WriteLine($"[ゲートウェイ名]: {Name}");
Console.WriteLine($"[SKUタイプ]: {SkuName}");
Console.WriteLine($"[最大帯域幅]: {BandwidthMbps} Mbps");
if (SkuName == "Basic")
{
Console.WriteLine("警告: 本番環境での利用は推奨されません。");
}
else
{
Console.WriteLine("本番環境での利用が可能です。");
}
Console.WriteLine("----------------------------------");
}
}
class Program
{
static void Main()
{
VpnGatewayInfo myGw = new VpnGatewayInfo();
myGw.Name = "Corp-VPN-Gateway";
myGw.SkuName = "VpnGw2";
myGw.BandwidthMbps = 1000;
myGw.DisplayInfo();
}
}
先生
「素晴らしいですね。C#でオブジェクトとして情報を整理すると、管理システムのイメージが湧きやすいでしょう。実行結果はどうなりますか?」
生徒
「はい、実行するとこのように表示されるはずです!」
[ゲートウェイ名]: Corp-VPN-Gateway
[SKUタイプ]: VpnGw2
[最大帯域幅]: 1000 Mbps
本番環境での利用が可能です。
----------------------------------
先生
「完璧です。ちなみに、データベースでゲートウェイの在庫や価格プランを管理している状況をイメージしてみましょう。SQLを使って現在のSKU情報を抽出する練習もしてみましょうか。」
生徒
「面白そうですね。まず、今のテーブルの中身がどうなっているか確認します。」
id | gateway_name | sku_tier | bandwidth_gbps | monthly_cost
---+-------------------+----------+----------------+--------------
1 | MainOffice-VPN | VpnGw1 | 0.65 | 20000
2 | Branch01-VPN | Basic | 0.1 | 4000
3 | RemoteUsers-VPN | VpnGw4 | 5.0 | 150000
4 | Backup-VPN | VpnGw1 | 0.65 | 20000
5 | DevTest-Gateway | Basic | 0.1 | 4000
生徒
「ここから、本番用として使えるVpnGwシリーズだけを抽出してみます。」
SELECT gateway_name, sku_tier, bandwidth_gbps
FROM vpn_gateways
WHERE sku_tier != 'Basic'
ORDER BY bandwidth_gbps DESC;
先生
「いいですね。そのクエリを実行した結果はどのようになりますか?」
gateway_name | sku_tier | bandwidth_gbps
------------------+----------+---------------
RemoteUsers-VPN | VpnGw4 | 5.0
MainOffice-VPN | VpnGw1 | 0.65
Backup-VPN | VpnGw1 | 0.65
生徒
「はい!これで本番環境に耐えられるゲートウェイだけがリストアップされました。帯域幅が広い順に並んでいるので、どこにコストがかかっているかも一目瞭然です。」
先生
「その調子です。最後にLinuxサーバーからAzureのゲートウェイに対して接続テストをする際のコマンドも覚えておくと、現場でトラブルが起きた時に役立ちますよ。例えば『ping』や『mtr』といったコマンドですね。」
生徒
「あ、それ知っています。ネットワークの疎通確認ですね。実際にやってみた時のイメージはこんな感じでしょうか。」
ping -c 4 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=10.2 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=64 time=11.5 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=64 time=10.8 ms
64 bytes from 10.0.0.4: icmp_seq=4 ttl=64 time=12.1 ms
--- 10.0.0.4 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
先生
「素晴らしい!パケットロスがゼロで、安定して応答が返ってきていますね。これで、選んだSKUのゲートウェイが正しく機能し、トンネルが確立されていることが証明されました。理論だけでなく、こうしてコードやコマンドで確認する癖をつけると、一人前のエンジニアになれますよ。」
生徒
「ありがとうございます!SKU選びから実際の運用確認まで、流れがしっかり見えました。明日、会社で早速現在の設定を見直してみようと思います。」