診断設定ストレージ保持から Azure Storage ライフサイクル管理に移行する
診断設定ストレージの保持機能は非推奨となっています。 Azure Storage アカウントに送信されるログとメトリックの保持を構成するには、Azure Storage のライフサイクル管理を使用します。
このガイドでは、Azure 診断設定ストレージ保持の使用から、Azure Storage ライフサイクル管理を使用した保持に移行する手順について説明します。 Log Analytics ワークスペースに送信されるログの場合、ワークスペースの [テーブル] ページにあるテーブルごとに保持が設定されます。 Log Analytics ワークスペースのデータ保持の詳細については、Log Analytics ワークスペースでのデータ保持の管理に関するページを参照してください。
重要
非推奨のタイムライン。
- 2023 年 3 月 31 日 – 診断設定ストレージの保持機能は、ログ データの新しい保持規則を構成するために使用できなくなります。 これには、ポータル、CLI PowerShell、および ARM と Bicep テンプレートの使用が含まれます。 保持設定を構成した場合でも、ボータルでそれらを表示して変更することができます。
- 2025 年 9 月 30 日 – 診断設定ストレージの保持機能のすべての保持機能は、すべての環境で無効になります。
前提条件
ストレージ アカウントに対する既存の診断設定ログ。
移行手順
Note
- 保持設定を変更すると、その変更後に取り込まれた新しいログにのみ新しい設定が適用されます。 既存のログは、以前の保持設定の対象です。
- 診断設定を削除しても、ストレージ アカウント内のログは削除されません。 保持設定は、診断設定が削除される前に作成されたログに引き続き適用されます。
次の CLI コマンドを使用して、リソースに診断設定があるかどうかを確認します。
az monitor diagnostic-settings list --resource <resource Id>
この出力は、診断設定がストレージ アカウントにデータを送信するかどうかを示します。この例を次に示します。
[
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/rg-001/providers/microsoft.insights/datacollectionrules/dcr-east2/providers/microsoft.insights/diagnosticSettings/dsetting-1",
"logs": [
{
"categoryGroup": "allLogs",
"enabled": true,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"metrics": [
{
"category": "AllMetrics",
"enabled": false,
"retentionPolicy": {
"days": 0,
"enabled": false
}
}
],
"name": "dsetting-1",
"resourceGroup": "rg-001",
"storageAccountId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/rg-DCR/providers/Microsoft.Storage/storageAccounts/logs001",
"type": "Microsoft.Insights/diagnosticSettings"
}
]
診断設定の保持規則を移行するには、次の手順のようにします。
ログ リソースの [診断設定] ページに移動し、移行する診断設定を見つけます
ログされるカテゴリの保持期間を 0 に設定します
ログ先のストレージ アカウントに移動します
[データ管理] で、[ライフサイクル管理] を選んでライフサイクル管理ポリシーを表示または変更します
[規則名] を入力します
[規則の範囲] で、[フィルターを使用して BLOB を制限する] を選びます
[BLOB の種類] で [Append Blobs] (追加 BLOB) を選び、[Blob subtype] (BLOB のサブタイプ) で [基本 BLOB] を選びます。
[フィルター] タブの [BLOB プレフィックス] で、保持規則を適用するコンテナーまたはログへのパスまたはプレフィックスを設定します。 パスまたはプレフィックスはコンテナー内の任意のレベルにすることができ、そのパスまたはプレフィックスの下にあるすべての BLOB に適用されます。 たとえば、"すべての" 分析情報アクティビティ ログの場合は、コンテナー insights-activity-logs を使用して、保持をそのコンテナー内のすべてのログに対して設定します。
特定の webapp アプリのルールを設定するには、"insights-activity-logs/ResourceId=/SUBSCRIPTIONS/<サブスクリプション ID>/RESOURCEGROUPS/<リソース グループ>/PROVIDERS/MICROSOFT.WEB/SITES/<webapp 名>" を使用します。パスまたはプレフィックスを見つけるためにストレージ ブラウザーを使用します。
次の例には、ある Web アプリ *insights-activity-logs/ResourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/rg-001/PROVIDERS/MICROSOFT.WEB/SITES/appfromdocker1 のプレフィックスが表示されています。
このリソース グループ内のすべてのリソースに対するルールを設定するには、insights-activity-logs/ResourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e7/RESOURCEGROUPS/rg-001 を使用します。