広告

Azure Monitor – Private Link Scope (AMPLS)

Azure

Azure Monitor Private Link Scope (AMPLS)

Azure Monitor Private Link は、監視ネットワークの境界を定義して、プライベート エンドポイントを Azure Monitor リソースのセットに接続します。 このセットは、Azure Monitor Private Link スコープ (AMPLS) と呼ばれています。

Azure Monitor が利用できる private link が AMPLS ですが、他のサービスへの Private link とは違う構造になっています。

※注意:プライベート リンクを設定すると、すべての Azure Monitor リソースへのトラフィックに影響します。特に、Application Insights リソースに当てはまります。

一般仕組みのイメージ図:

関連する Azure リソース一覧:

  • 仮想ネットワーク
  • AMPLS
  • プライベート エンドポイント
  • Azure Monitor リソース
    • Log Analytics
    • Application insights
    • etc.

Azure Monitor Private link Scope の特徴:

  • AMPLS は Azure Monitor リソースのセット(複数の Azure モニターのリソース)を対象とした設定になる
    • Azure Monitor リソースのセット:Log Analytics ワークスペース、Application Insights リソース
  • 1つの VNET に、1つの AMPLS しか作成できない
  • Azure Monitor は、リソース固有のエンドポイント共有グローバル/リージョン エンドポイントが存在する
    • リソース固有のエンドポイント:リソースごとに AMPLS 設定が適用される
    • AMPLS のアクセスモードで通信を制御不可
    • 例:Log Analytics ワークスペースのデータ インジェスト
    • 共有グローバル/リージョン エンドポイント:AMPLS 作成すると、グローバル/対象リージョン レベルで適用される
    • すべて適用されるのは、DNS の設定が変わったから
    • AMPLS のアクセスモードで通信を制御可能
    • 同じグローバル/リージョン エンドポイントで複数 AMPLS 作成すると、Azure Monitor DNS ゾーンが互いにオーバーライドされ、既存の環境が破壊される
    • 例:Log Analytics ワークスペースのデータ クエリ
  • 同一の DNS を共有するすべてのネットワークに対して、1 つの AMPLS リソースのみを作成する必要がある
    • 例えば、カスタムな DNS サーバーを使う場合
  • AMPLS はアクセスモードを指定可能:
    • アクセスモードは、プライベート リンクを有効にした VNet の outbound 制御みたいなもの
    • Private Only Mode:接続されている VNet (PE と繋いだ 同じ DNS を共有しているすべてのネットワーク) が Private Link スコープにあるリソースにのみ到達できる
    • Open Mode: 接続されている VNet が、AMPLS に含まれるリソースも AMPLS にないリソースも到達できる
    • データ インジェスト/クエリそれぞれに対して、アクセスモードの指定が可能
    • リソース固有のエンドポイントはアクセスモードの制御対象外

共有グローバル エンドポイント

  • Application Insights エンドポイント
    • Application Insights エンドポイントへのインジェスト
    • ライブ メトリック
    • プロファイラー
    • デバッガーなどを処理するエンドポイント
  • クエリ エンドポイント
    • Application Insights がリソースに対するクエリを処理するエンドポイント
    • Log Analytics がリソースに対するクエリを処理するエンドポイント

共有エンドポイントは DNS による影響を受けるため、アクセスモードが「プライベートのみ」の場合、プライベート DNS ゾーンを VNET に関連付けしないと、アクセスが拒否されます。
また、カスタムDNSサーバを利用する場合も同じく、DNS の設定がされていないと、上記のエンドポイントへのアクセスができなくなります。

リソース固有のエンドポイント

  • Log Analytics ワークスペース インジェスト エンドポイント
  • データ収集エンドポイント(DCE):VM のゲスト OS テレメトリ データを収集するために、固有のインジェスト設定を構成することが可能
    • Azure Monitor エージェントでの収集
    • カスタム ログ

AMPLS に特定の Log Analytics ワークスペースを追加すると、Private Link を通じてこのワークスペースにインジェスト要求が送信されます。
一方、他のワークスペースへのインジェストでは引き続きパブリック エンドポイントが使用されます。
リソース固有のエンドポイントは AMPLS のアクセスモードには制御されません。
そのため、ログのインジェストはアクセスモードでの制御はできません。
パブリックからのインジェストの制御は、Log analytics ワークスペースの「ネットワーク分離」項目で制御できます。

インジェストは private dns zone が VM の VNET に紐付けしなくても、データの収集はできていました。(クエリは private dns zone がないと、NG でした)アクセスモードは DNS 名前解決で制御している?

設計

  • 最もシンプルで最も安全なアプローチ:
    1. 単一のプライベート エンドポイントと単一の AMPLS を指定して、単一の Private Link 接続を作成します。 ネットワークがピアリングされている場合は、共有 (またはハブ) VNet 上に Private Link 接続を作成します。
    2. "すべての" Azure Monitor リソース (Application Insights コンポーネント、Log Analytics ワークスペース、データ収集エンドポイント) をその AMPLS に追加します。
    3. ネットワーク エグレス トラフィックを可能な限りブロックします。

基本原則:単一の AMPLS を使用して DNS のオーバーライドを回避する

  • 複数のネットワークで同じ DNS を共有している場合は、これらのいずれかで Private Link を設定すると、DNS が更新され、すべてのネットワークのトラフィックに影響します。
    • 対象エンドポイント:グローバル/リージョナル エンドポイント
  • 競合を回避するには、DNS ごとに AMPLS オブジェクトを 1 つだけ作成します。

ピアリングされたネットワーク

仮想ネットワーク ピアリングの場合、多くの場合は同一の DNS を共有しています。
この場合、 複数のプライベート エンドポイントや AMPLS オブジェクトを作成することは避けてください。

  • ハブ スポーク環境の場合、ハブ仮想ネットワークに PE を作るのが一般的な構成です。
    • 各スポークから、PE へアクセスできるようにするため
  • プライベート DNS ゾーンをアクセス元の仮想ネットワークに関連付ける必要があります。
    • 名前解決するため
  • カスタム DNS サーバを使う場合、その DNS を参照するすべてのネットワークに影響する

分離ネットワーク

ネットワークがピアリングされていない場合は、プライベート リンクを使用するために DNS も分離する必要があります。
ネットワークごとに個別のプライベート エンドポイントと、個別の AMPLS オブジェクトを作成します。

Log analytics のネットワーク分離

Log analytics ワークスペースの「ネットワーク分離」項目で、以下の設定が可能です。

  • プライベート リンク スコープを通じて接続されていないパブリック ネットワークからのデータ インジェストを受け入れる (Y/N)
  • プライベート リンク スコープを通じて接続されていないパブリック ネットワークからのクエリを受け入れる (Y/N)

この設定によって、Log analytics ワークスペースがパブリックからのアクセスをブロックすることができます。

ローカルでのテスト: DNS ではなくマシンのホスト ファイルを編集する

DNS を更新すると、大きいな影響が与えてしまう可能性があるので、テストの場合 hosts ファイルで名前解決することをお勧めします。

  • Private Link を設定しますが、プライベート エンドポイントに接続する際は、DNS と自動統合しないことを選択します
  • マシンのホスト ファイルで関連するエンドポイントを構成します。

※ hosts ファイルのアプローチは運用環境での使用は推奨しません。

アクセスモード

(2021 年 9 月に導入された) Azure Private Link アクセスモードを使用すると、プライベート リンクがネットワーク トラフィックに与える影響を制御できます。
※ プライベート リンクをネットワークに適用する方法を制御

  • アクセスモードは、インジェストクエリに対して個別に設定されます。
    • 例:インジェストには "プライベートのみ" モードを設定しつつ、クエリには "オープン" モードを設定することができます。
  • アクセスモードは慎重に選択してください。
  • リソース固有のエンドポイントは AMPLS アクセスモードに準拠しません
  • エンドポイントごとに個別設定 (除外設定) も可能

Private Only アクセスモードを使用すると、サブスクリプションまたはテナントに関係なく、同じ DNS を共有しているすべてのネットワークで AMPLS 内ではないリソースへのトラフィックがブロックされます (以下で説明する Log Analytics インジェスト要求を除く)。
すべての Azure Monitor リソースを AMPLS に追加できない場合、まず、一部のリソースを追加し、オープン アクセスモードを適用します。 "すべて" の Azure Monitor リソースを AMPLS に追加した後で "プライベートのみ" モードに切り替えると、最大のセキュリティを確保できます。

プライベートのみ (Private Only)

  • VNet は、Private Link リソース (AMPLS 内のリソース) のみに到達できます。
  • 最も安全な作業モードであり、データ流出を防ぎます。
  • AMPLS の外部にある Azure Monitor リソースへのトラフィックはブロックされます。
  • すべての Azure Monitor リソースを AMPLS に追加した後に設定してください。
    • そうしないと、アクセスできなくなる期間が生まれます

イメージ:

※ VNET から Component 3 へのアクセスはできない (Component 3 は AMPLS に含まれていない)

オープン (Open)

  • VNet は、Private Link リソースと、AMPLS にないリソースの両方に到達できます。
  • データ流出を防ぐことはできません。
  • Private Link リソースへのトラフィックは、プライベート エンドポイントを介して送信され、検証され、Microsoft バックボーン経由で送信されます。

イメージ:

両方同時利用

AMPLS の制限

  • 1 つの VNet は、1 つの AMPLS オブジェクトにのみ接続できます。
    • これは、その AMPLS オブジェクトで、VNet でアクセスできる必要のあるすべての Azure Monitor リソースへのアクセスを提供する必要があることを意味します。
  • AMPLS オブジェクトは、300 のLog Analytics ワークスペースと 1000 の Visual Studio Online Application Insights コンポーネントに接続できます。
  • 1 つの Azure Monitor リソース (ワークスペース、Application Insights コンポーネント、またはデータ収集エンドポイント) を最大 5 つの AMPLS に接続できます。
  • 1 つの AMPLS オブジェクトは、最大 10 個のプライベート エンドポイントに接続できます。

useage 制限例:

例外

診断ログ

診断設定を使用してワークスペースにアップロードされたログとメトリックは、セキュリティで保護されたプライベート Microsoft チャネルを経由するため、これらの設定によって制御されることはありません。

"カスタム メトリック" または Azure Monitor ゲスト メトリック

Azure Monitor エージェントを使用して収集およびアップロードされたカスタム メトリック (プレビュー) は、データ収集エンドポイントによって制御されず、プライベート リンク経由で構成することもできません。

参考

コメント

タイトルとURLをコピーしました