Azure Monitor Log でカスタマー マネージド ストレージ アカウントを使用する

Azure Monitor ログは、さまざまなシナリオで Azure Storage に依存しています。 通常、Azure Monitor はこの種類のストレージを自動的に管理しますが、場合によっては、独自のストレージ アカウント (カスタマー マネージド ストレージ アカウントとも呼ばれます) を提供して管理する必要があります。 この記事では、Azure Monitor ログ用にカスタマー マネージド ストレージを設定するためのユース ケースと要件について説明し、ストレージ アカウントを Log Analytics ワークスペースにリンクする方法について説明します。

注意

書式と内容が変更される可能性があるため、Azure Monitor Logs によってカスタマー マネージド ストレージにアップロードされたコンテンツには依存しないことをお勧めします。

Azure Monitor リソースへの接続にプライベート リンクが使われている場合は、カスタム ログを取り込むためにカスタマー マネージド ストレージ アカウントが使われます。 これらのデータ型のインジェスト プロセスでは、最初に中間 Azure ストレージ アカウントにログをアップロードし、その後でのみ、ワークスペースに取り込みます。

ワークスペースの要件

プライベート リンクを介して Azure Monitor に接続する場合、Azure Monitor Agent からは、プライベート リンクを介してアクセスできるワークスペースにのみログを送信できます。 この要件は、次の作業を行う必要があることを意味します。

  • Azure Monitor Private Link Scope (AMPLS) オブジェクトを構成します。
  • お使いのワークスペースに接続します。
  • プライベート リンクを介して、AMPLS をネットワークに接続する。

AMPLS の構成手順の詳細については、「Azure Private Link を使用して、ネットワークを Azure Monitor に安全に接続する」を参照してください。

ストレージ アカウントの要件

ストレージ アカウントがプライベート リンクに正常に接続するには、次のようになっている必要があります:

  • 仮想ネットワークまたはピアリングされたネットワーク上に存在し、プライベート リンクを介して仮想ネットワークに接続されていること。

  • リンク先のワークスペースと同じリージョンに存在していること。

  • Azure Monitor によるストレージ アカウントへのアクセスが許可されていること。 選択したネットワークのみにストレージ アカウントへのアクセスを許可することにした場合は、例外 [信頼された Microsoft サービスによるこのストレージ アカウントに対するアクセスを許可] を選択します。

    ストレージ アカウントによって信頼される Microsoft サービスを示すスクリーンショット。

ワークスペースで他のネットワークからのトラフィックを処理する場合は、関連するネットワークまたはインターネットからの受信トラフィックを許可するように、ストレージ アカウントを構成します。

エージェントとストレージ アカウントの間で TLS バージョンを調整します。 TLS 1.2 以降を使用して Azure Monitor Logs にデータを送信することをお勧めします。 プラットフォーム固有のガイダンスを確認してください。 必要に応じて、TLS を使用するようにエージェントを構成します。 できない場合は、TLS 1.0 を受け入れるようにストレージ アカウントを構成します。

カスタマー マネージド キーのデータ暗号化

ストレージ アカウント内の保存データはすべて、Azure Storage によって暗号化されます。 既定では、Microsoft マネージド キー (MMK) を使用してデータは暗号化されます。 ただし、Azure Storage では、Azure Key Vault から取得した カスタマー管理キー (CMK) を使用してストレージ データを暗号化することもできます。 独自のキーを Key Vault にインポートするか、または Key Vault API を使用してキーを生成することができます。

カスタマー マネージド ストレージ アカウントを必要とする CMK のシナリオ

次の場合は、カスタマー マネージド ストレージ アカウントが必要です。

  • CMK によるログアラート クエリの暗号化。
  • CMK による保存されたクエリの暗号化。

カスタマー マネージド ストレージ アカウントに CMK を適用する

このガイダンスに従って、カスタマー マネージド ストレージ アカウントに CMK を適用します。

ストレージ アカウントの要件

ストレージ アカウントとキー コンテナーは同じリージョンに存在している必要がありますが、異なるサブスクリプション内に存在することもできます。 Azure Storage ストレージの暗号化およびキー管理の詳細については、「保存データに対する Azure Storage 暗号化」を参照してください。

ストレージ アカウントに CMK を適用する

Key Vault で CMK を使用するように Azure ストレージ アカウントを構成するには、Azure portalPowerShell、または Azure CLI を使用します。

Note

  • クエリ用のストレージ アカウントをリンクすると、ワークスペースに保存されている既存のクエリは、プライバシー保護のために完全に削除されます。 PowerShell を使用して、ストレージをリンクする前に既存の保存済みクエリをコピーできます。
  • クエリ パックに保存されたクエリは、カスタマー マネージド キーを使って暗号化されていません。 クエリを保存する場合は、代わりに [レガシ クエリとして保存] を選び、カスタマー マネージド キーを使って保護します。
  • 保存されたクエリはテーブル ストレージに保存され、ストレージ アカウントの作成時に暗号化が構成されている場合は、カスタマー マネージド キーで暗号化されます。
  • ログ検索アラートは BLOB ストレージに保存されます。そこで、ストレージ アカウントの作成時またはそれ以降に、カスタマー マネージド キーの暗号化の構成を行うことができます。
  • 1 つのストレージ アカウントをすべての目的、つまりクエリ、アラート、カスタム ログ、IIS ログに使用できます。 カスタム ログと IIS ログのストレージをリンクすると、インジェス率とストレージの制限に応じて、スケールのためにより多くのストレージ アカウントが必要になる場合があります。 ワークスペースには、最大 5 つのストレージ アカウントをリンクできます。

Azure ポータルの使用

Azure portal で、ワークスペースのメニューを開き、[リンクされたストレージ アカウント] を選択します。 前述のユース ケース (Private Link 経由で取り込み、保存されたクエリまたはアラートに CMK を適用) でリンクされたストレージ アカウントがペインに表示されます。

[リンクされたストレージ アカウント] ペインを示すスクリーンショット。

表の項目を選択すると、そのストレージ アカウントの詳細が示されます。ここでは、この種類のリンクされたストレージ アカウントを設定または更新できます。

[ストレージ アカウントのリンク] ペインを示すスクリーンショット。必要に応じて、異なるユース ケースに同じアカウントを使用できます。

Azure CLI または REST API を使用する

Azure CLI または REST API を使用して、ストレージ アカウントをワークスペースにリンクすることもできます。

指定できる dataSourceType 値は次のとおりです。

  • CustomLogs: カスタム ログと IIS ログの取り込みにストレージ アカウントを使用します。
  • Query: ストレージ アカウントを使用して保存されたクエリを格納します (CMK 暗号化に必要)。
  • Alerts: ストレージ アカウントを使用してログベースのアラートを格納します (CMK 暗号化に必要)。

リンクされたストレージ アカウントを管理する

このガイダンスに従って、リンクされたストレージ アカウントを管理します。

ストレージ アカウントをワークスペースにリンクすると、Azure Monitor Logs ではサービスによって所有されているストレージ アカウントの代わりにそのアカウントが使用されるようになります。 次のようにすることができます。

  • 複数のストレージ アカウントを登録して、ログ間で負荷を分散します。
  • 複数のワークスペースに同じストレージ アカウントを再利用します。

ストレージ アカウントの使用を停止するには、ワークスペースからストレージのリンクを解除します。 ワークスペースからすべてのストレージ アカウントのリンクを解除すると、Azure Monitor ログではサービスマネージド ストレージ アカウントが使用されます。 ネットワークでインターネットへのアクセスが制限されている場合、これらのストレージ アカウントが使用できない可能性があり、ストレージに依存するシナリオはすべて失敗します。

ストレージ アカウントを置換する

インジェストに使用されるストレージ アカウントを置き換えるには、次の手順を実施します。

  1. 新しいストレージ アカウントへのリンクを作成します。 ログ エージェントによって更新された構成が取得され、新しいストレージへのデータの送信を開始します。 このプロセスには数分かかることがあります。
  2. 古いストレージ アカウントのリンクを解除して、エージェントから削除されたアカウントへの書き込みを停止します。 データがこのアカウントからすべて取り込まれるまで、取り込みプロセスでデータを読み取り続けます。 すべてのログが取り込まれるまでは、ストレージ アカウントを削除しないでください。

ストレージ アカウントを維持する

このガイダンスに従って、ストレージ アカウントを維持します。

ログの保持期間を管理する

独自のストレージ アカウントを使用する場合、保持期間はユーザーが設定します。 Azure Monitor ログでは、プライベート ストレージに格納されているログは削除されません。 代わりに、ユーザー設定に従って負荷を処理するポリシーを設定する必要があります。

負荷を考慮する

ストレージ アカウントでは、要求の調整が開始されるまでに、特定の量の読み取り要求と書き込み要求の負荷を処理できます。 詳細については、Azure Blob Storage のスケーラビリティとパフォーマンスのターゲットに関する記事を参照してください。

調整が行われると、ログの取り込みに要する時間に影響します。 ストレージ アカウントが過負荷になっている場合は、別のストレージ アカウントを登録し、負荷を分散します。 ストレージ アカウントの容量とパフォーマンスを監視するには、Azure portal での分析情報に関する記事を確認します。

ストレージ アカウントには、格納されているデータの量、ストレージの種類、冗長性の種類に基づいて課金されます。 詳細については、ブロック BLOB の価格に関するページと Azure Table Storage の価格に関するページを参照してください。

次のステップ