この記事のポイント
- VNetからAzure PaaSへインターネットを経由せず直接アクセス可能
- ルートテーブルの自動更新でAzure PaaSのIP変更にも迅速対応
- Azure Portalで簡単にVNetとストレージアカウント間の接続を設定
- パブリックインターネットからの攻撃リスクを低減し、ネットワークセキュリティを向上
- プライベートエンドポイントとの違いを理解し、用途に応じて適切に選択することが重要
監修者プロフィール
坂本 将磨
Microsoft AIパートナー、LinkX Japan代表。東京工業大学大学院で技術経営修士取得、研究領域:自然言語処理、金融工学。NHK放送技術研究所でAI、ブロックチェーン研究に従事。学会発表、国際ジャーナル投稿、経営情報学会全国研究発表大会にて優秀賞受賞。シンガポールでのIT、Web3事業の創業と経営を経て、LinkX Japan株式会社を創業。
Azureサービスエンドポイントとは、企業が仮想ネットワークからAzureのPaaSサービスに対する直接かつ安全なアクセスを実現するための重要な機能です。
インターネットを介さないため、セキュリティが向上し、通信の効率化も図れます。
本記事では、このサービスエンドポイントの概要や仕組み、設定方法、そしてメリットや注意点について詳しく解説します。 また、サービスエンドポイントと類似のプライベートエンドポイントとの違いも明らかにし、各社のセキュリティとパフォーマンスの最適化、管理の手間を省くうえでの利用シーンを提案します。
Azureを利用する企業のネットワーク環境をより充実させたい方に向けて、活用のポイントを解説する内容となっています。
目次
サブネットのルートテーブルの書き換えによるトラフィックのショートカット
ステップ2:サブネットの選択とサービスエンドポイントの有効化
Azureサービスエンドポイントとは
Azure サービスエンドポイントとは、仮想ネットワーク(VNet)からAzureのサービスに直接、安全にアクセスできるようにする機能です。この機能を用いることで、VNet内のリソースが、インターネットを通さずに直接AzureのPaaSサービス(Azure StorageやAzure SQL Databaseなど)にアクセスできるようになります。
サービスエンドポイントイメージ
参考:Azure
企業のAzure PaaS サービスへのアクセスをより安全・効率的にしてくれる、そんなサービスエンドポイントについて以下解説します。
Azureサービスエンドポイントの仕組み
では、ここでAzureサービスエンドポイントが仮想ネットワークとPaaSを接続する仕組みを説明します。
サブネットのルートテーブルの書き換えによるトラフィックのショートカット
サービスエンドポイントが有効化されると、次のような変更が行われます。
-
ルートテーブルの更新:
サービスエンドポイントが有効化されると、関連するクラウドサービスへのトラフィックはサブネット内の既存のルートテーブルを更新します。具体的に言うと、特定のIPアドレス範囲(サービスのエンドポイント)に対するトラフィックが直接サービスに向かうように、パブリックインターネットを経由せず、内部ルートが優先されるようになります。
-
トラフィックのショートカット:
インターネットゲートウェイを使わずに、最短ルート(ショートカット)でAzureのサービスに接続できるので、通信が速くなり、外部にデータが出ないため、セキュリティも強化されます。
例えば、
・【ルートテーブル変更前】
Azure Storageにアクセスするために、一度インターネットに出てアクセス(インターネット経由)していました
(「0.0.0.0/0」という全てのIPアドレス宛の通信がインターネットゲートウェイを経由するという設定)。
`0.0.0.0/0 → インターネットゲートウェイ`
↓
・【変更後】
Azure Storageサービスに向けたトラフィックは、インターネットを経由せず、Azure内の専用ネットワークを通るルートに変更。
`Azure Storage IP範囲 → Azure バックボーンネットワーク`
つまり、サービスエンドポイントを使うと、通信が短くなり、インターネットを使わないで済むのです。
各サービスのファイアウォール機能と連動
サービスエンドポイントは、Azureサービスのファイアウォール機能とも連動して、セキュリティをさらに強化してくれます。
-
ネットワークルールの追加
サービスエンドポイントを使うと、自動で「このVNet(仮想ネットワーク)からはアクセスOK」というルールが追加されます。そのため、許可されたネットワークからだけ、Azureのサービスにアクセスできるようになります。 -
IPベースのフィルタリング
ファイアウォールでは、特定の仮想ネットワーク(VNet)やサブネットからのアクセスのみを許可し、他の場所からのアクセスをブロックすることができます。例えば、自分のネットワークだけがAzure Storageにアクセスできるようにして、他のアクセスは拒否することができます。
ルートテーブルの自動更新
Azureのルートテーブルの自動更新は、サービスエンドポイントを使用する際に、Azureがネットワークの通信経路を自動的に管理してくれる便利な機能です。
-
サービスIP範囲の変更
Azureのサービス(例:Azure Storage)のIPアドレス範囲が変更された場合、ルートテーブル(通信経路の設定)をAzureが自動で更新します。ユーザーが手動で変更する必要がなく、常に最新の状態で接続が維持されます。 -
新しいリージョンの追加
Azureが新しいデータセンター(リージョン)を追加した場合も、Azureが自動でルートを追加してくれるので、どのリージョンでもVNet(仮想ネットワーク)からAzureサービスへスムーズにアクセスすることができます。 -
ユーザー定義ルートとの共存
ユーザーが独自に設定したルート(ユーザー定義ルート)とサービスエンドポイントのルートが共存しますが、サービスエンドポイントのルートが優先されます。つまり、AzureのPaaSサービス(例:Azure Storage)への接続は常に最適な状態で行われることになります。
Azureサービスエンドポイントの設定方法
さて、ここからはAzureサービスエンドポイントを使用して、仮想ネットワーク(VNet)内のリソースからAzureのPaaSサービスに安全にアクセスするための設定方法を具体的に解説します。
以下の流れで進めていきます。
ステップ1:Azure Portalでの設定
ステップ2:サブネットの選択とサービスエンドポイントの有効化
ステップ3:ストレージアカウントのファイアウォール設定
ステップ1:Azure Portalでの設定手順
-
Azureポータルにサインイン
まず、Azure Portal にサインインします。
Azureポータル画面- ※前提準備として、Azureアカウントの作成を行ってください。
【関連記事】
➡️ Azure Portalとは?操作方法やメリットをわかりやすく解説! -
仮想ネットワークの選択
サインイン後、「仮想ネットワーク」をクリックし、設定したいVNetを選択します。
ここでは、すでに作成済みのvnet-1を選択しました。
VNet選択- 仮想ネットワークの作成方法は、以下の記事を参照してください。
【関連記事】
➡️ Azure仮想ネットワークのルーティングテーブル確認方法を解説!
ステップ2:サブネットの選択とサービスエンドポイントの有効化
-
サブネットの設定
仮想ネットワークのページで、「サブネット」をクリックし、サービスエンドポイントを有効化したいサブネットを選択します。ここでは、subnet-1を選びました。
サブネット選択画面 -
サービスエンドポイントの有効化
サブネットの編集画面の中に「サービスエンドポイント」というセクションがあります。ここで、Azureがサポートするサービス(例:Azure Storage、SQL Databaseなど)からサービスを選び、「保存」ボタンをクリックします。- ここでは、Microsoft Storage(ストレージアカウント)を選択します。
サブネット編集画面- Azure Storage(ストレージアカウント)についての詳細は、以下の記事も参照してください。
【関連記事】
➡️ Azureストレージアカウントとは?料金や作成方法をわかりやすく解説!
これにより、仮想ネットワーク内のリソースが、Azureのバックボーンネットワークを通じて、インターネットを経由せずにPaaSサービスに直接アクセスできるようになります。
ステップ3:ストレージアカウントのファイアウォール設定
-
ストレージアカウントにアクセス
左側メニューから「ストレージアカウント」を選択します。
ストレージアカウント選択 -
設定したいストレージアカウントをクリック
設定したいストレージアカウントをクリックします。(ここでは「Linkxstorage」というアカウントを選びます。)
アカウント選択画面 -
ファイアウォールと仮想ネットワークの設定
ストレージアカウントの設定ページで、左側メニューから「ネットワーク」をクリックします。すると、「ファイアーウォールと仮想ネットワーク」タブが表示されます。
ネットワーク画面 -
「選択した仮想ネットワークとIPアドレスから有効」をクリックし、「既存の仮想ネットワークを追加する」を選択します。
選択した仮想ネットワークとIPアドレスから有効選択画面 -
ネットワークを追加
右側に「ネットワークを追加する」画面が表示されるので、アクセスを許可するVNetとサブネットを選択し、下の「追加」を押します。
ネットワーク追加画面 -
保存して設定を完了
最後に、画面中央にある「保存」をクリックして設定を完了します。
保存ボタン
これにより、選択した仮想ネットワークやサブネットからのアクセスが許可され、セキュリティが強化されます。
Azureサービスエンドポイントのメリット
ここで、Azureサービスエンドポイントのメリットについてご紹介します。セキュリティ・ルーティング・管理の観点から大きなメリットがあります。
Azureサービスリソースのセキュリティ強化
Azureサービスのリソースセキュリティ強化は、次のように、主にネットワークアクセスをコントロールすることで、リソースを保護します。
-
ネットワークアクセス制御
自分が設定したネットワークからのみ、Azureリソースにアクセスできるように制御します。 -
パブリックインターネットからのリスク低減
インターネットを使わずにデータをやり取りするので、外部からの不正なアクセスやデータ漏洩のリスクが減ります。
Azureトラフィックのルーティング最適化
Azure トラフィックのルーティング最適化は、VNet(仮想ネットワーク)とAzureサービス間の通信を最短経路で行い、ネットワークの効率を向上させる仕組みです。
-
直接ルーティング
通常、Azure内のサービスにアクセスする際、トラフィックはインターネットを経由して外部ルートを通りますが、直接ルーティングを使うことで、インターネットを経由せず、Azureの内部ネットワークを利用して通信を行います。 -
帯域幅の効率的利用
インターネット向けの通信と、Azureサービス向けの通信を分けることで、インターネット経由の通信の負担を減らし、Azureへの通信がより効率的になり、ネットワーク全体のパフォーマンスが向上します。
管理の手間が少ない
次のような理由から、管理の手間も省くことができます。
-
自動設定
サービスエンドポイントを有効にすると必要なネットワークルートの設定が自動的に行われるので、手動でルート設定やファイアウォール設定を管理する必要がなくなります。 -
簡単な設定
Azure Portal、CLI、PowerShellなど、さまざまなツールから簡単に設定できます。特に複雑なネットワークの知識がなくても、サービスエンドポイントをすぐに利用できるので、技術的なハードルが低くなります。 -
自動更新
AzureサービスのIP範囲が変更された場合も、ルート設定が自動で更新されるため、手動での管理が不要です。そのため最新の設定が常に維持され、ネットワークの管理が楽になります。
Azureサービスエンドポイントの注意点
このように便利なAzureサービスエンドポイントですが、使用に当たっていくつか注意すべき点があります。
PaaSからVNETへの接続には利用不可
サービスエンドポイントは、仮想ネットワーク(VNet)からAzureのPaaSサービス(例:Azure StorageやAzure SQL Database)に安全に接続するためのものです。しかし、PaaSからVNetへのトラフィック(例えば、Azure SQLがVNet内のリソースにアクセスする場合)には、サービスエンドポイントは使えません。
PaaSからVNetへの接続が必要なら、プライベートエンドポイントを使う必要があります。
プライベートエンドポイントは、VNet内にPaaSの専用IPアドレスを作成し、双方向の接続を可能にしてくれます。
プライベートエンドポイントイメージ図
参考:Azure
通常、PaaSサービスはパブリックIPアドレスを持っていて、インターネット経由でアクセスされます。しかし、プライベートエンドポイントを使うと、PaaSサービスがVNetの内部にいるかのように動作します。
つまり、VNet内のリソース(仮想マシンなど)から直接、安全にPaaSにアクセスできるようになるのです。
同一リージョン内での構成が基本
リージョンに関しては、次のことを念頭に置く必要があります。
-
リージョンの制約
サービスエンドポイントは、基本的に同じリージョン(地域)内でのみ機能します。
例えば、VNetが「East US」にある場合、 サービスエンドポイントを使って接続するAzureサービス(例:Azure Storage)も同じ「East US」にある必要があります。
つまり、別のリージョン間(クロスリージョン)での接続には制限があります。
-
グローバルサービスの例外
Azure StorageやAzure SQL Databaseのようなグローバルサービスでは、リージョンを跨いだ接続が可能な場合もありますが、通常は同じリージョン内で使用するのが望ましいでしょう。 -
パフォーマンスの考慮
同じリージョン内でサービスエンドポイントを使用すると、最適なパフォーマンスを発揮しますが、異なるリージョン間で通信すると、遅延が発生しやすくなります。
Azureサービスエンドポイントとプライベートエンドポイントの違い
では、ここでAzureサービスエンドポイントと似た機能であるプライベートエンドポイントとの違いを詳細に説明します。
接続の粒度
-
サービスエンドポイントは、Azureサービス全体に対して接続します。
例えば、
Azure Storage全体にアクセスする場合、どのストレージアカウントでも接続が可能です。
-
プライベートエンドポイントは、特定のリソースインスタンスに対して接続します。
例えば、
特定のストレージアカウント(mystorageaccount)にのみアクセスできるように設定します。
サービス全体ではなく、特定のアカウントやデータベースに接続するのです。
IP アドレスの割り当て
- サービスエンドポイントでは、AzureのサービスのパブリックIPアドレスを使用します。つまり、インターネット経由で接続する形になります。
- プライベートエンドポイントは、VNet内のプライベートIPアドレスを割り当てます。こうすることで、インターネットを経由せずに完全にVNet内での通信が可能になります。
リージョン
- サービスエンドポイントは、基本的には同じリージョン内でしか使えません。
例えば、
East USにあるVNetからAzureのサービスに接続する場合、AzureのサービスもEast USにある必要があります。
- プライベートエンドポイントは、異なるリージョン間でも接続が可能です。
East USにあるVNetから、West USにあるストレージアカウントなど、別のリージョンのリソースに安全に接続できます。
そのため、グローバルに分散しているリソースを効率的に管理できます。
料金
サービスエンドポイントとプライベートエンドポイントの料金の比較は次のとおりです。
-
サービスエンドポイント
- 料金: 基本的に無料で使用可能。
- データ転送料金: 通常のデータ転送料金が適用され、追加の料金は発生しません。
-
プライベートエンドポイント
- 料金: 約¥1.446/時間/エンドポイント(約$0.01/時間)。
- データ転送料金:
- 同一リージョン内のデータ転送は無料。
- 異なるリージョン間のデータ転送は追加の料金が発生します。
詳細は、以下を参照してください。
まとめ
本記事では、Azure サービスエンドポイントについて、その概要、仕組み、設定方法、メリット、注意点、およびプライベートエンドポイントとの違いを解説しました。
Azure サービスエンドポイントは、仮想ネットワーク(VNet)内のリソースと Azure の PaaS サービスを直接かつ安全に接続する機能です。この機能を用いることで、企業のAzure PaaS サービスへのアクセスをより安全・効率的になります。ぜひ、Azure サービスエンドポイントを利用して、職場のセキュリティの向上・パフォーマンスの最適化・管理の簡素化に役立ててください。
この記事が、皆様のお役に立てたら幸いです。