パブリック IP アドレスの監視

Azure リソースに依存するクリティカルなアプリケーションとビジネス プロセスがある場合は、それらのリソースの可用性、パフォーマンス、操作を監視する必要があります。

この記事では、パブリック IP アドレスによって生成される監視データについて説明します。 パブリック IP アドレスは Azure Monitor を使用します。 Azure Monitor を使用するすべての Azure サービスにとって共通する機能に詳しくない場合は、「Azure Monitor を使用した Azure リソースの監視」を参照してください。

"パブリック IP アドレス" の分析情報

Azure の一部のサービスには、サービスを監視する開始点を提供する Azure portal の特別な事前構築済みの監視ダッシュボードがあります。 これらの特別なダッシュボードは、"分析情報" と呼ばれます。

パブリック IP アドレスの分析情報では、次の情報が提供されます。

  • トラフィック データ

  • DDoS 情報

データの監視

パブリック IP アドレスは、他の Azure リソースと同じ種類の監視データを収集します。これについては、「Azure リソースからのデータの監視」をご覧ください。

パブリック IP アドレスによって作成されるメトリックとログ メトリックの詳細については、「"パブリック IP アドレス" 監視データのリファレンス」を参照してください。

収集とルーティング

プラットフォーム メトリックとアクティビティ ログは自動的に収集および格納されますが、診断設定を使用して他の場所にルーティングすることもできます。

リソース ログは、診断設定を作成して 1 つ以上の場所にルーティングするまでは収集および格納されません。

一般的なガイダンスについては、Azure portal、CLI、または PowerShell を使用して診断設定を作成するプロセスについて、Azure でプラットフォームのログとメトリックを収集するための診断設定を作成するに関する記事を参照してください。 診断設定を作成するときは、収集するログのカテゴリを指定します。 "パブリック IP アドレス" のカテゴリは、「"パブリック IP アドレス" 監視データのリファレンス」に記載されています。

診断設定の作成

診断設定は、Azure portal、PowerShell、または Azure CLI を使用して作成できます。

ポータル

  1. Azure portal にサインインします。

  2. ポータルの上部にある検索ボックスに、「パブリック IP アドレス」と入力します。 検索結果から [パブリック IP アドレス] を選択します。

  3. 設定を有効にするパブリック IP アドレスを選択します。 この例では、myPublicIP が使用されます。

  4. パブリック IP アドレスの [監視] セクションで、[診断設定] を選択します。

  5. [+ 診断設定の追加] を選択します。

  6. [診断設定] に次の情報を入力するか、選択します。

    設定
    診断設定の名前 診断設定の名前を入力します。
    ログ
    Categories DDoSProtectionNotificationsDDoSMitigationFlowLogsDDoSMitigationReports を選択します。
    Metrics
    [AllMetrics] を選択します。
  7. [宛先の詳細] を選択します。 宛先オプションのいくつかは次のとおりです。

    • Log Analytics ワークスペースに送信する

      • サブスクリプションLog Analytics ワークスペースを選択します。
    • ストレージ アカウントへのアーカイブ

      • [サブスクリプション][ストレージ アカウント] を選択します。
    • イベント ハブへのストリーム

      • [サブスクリプション][イベント ハブの名前空間][イベント ハブ名 (オプション)][イベント ハブ ポリシー名] を選択します。
    • パートナー ソリューションに送信する

      • [サブスクリプション][宛先] を選択します。
  8. [保存] を選択します。

PowerShell

Azure PowerShell にサインインします。

Connect-AzAccount 

Log Analytics ワークスペース

リソース ログを Log Analytics ワークスペースに送信するには、次のコマンドを入力します。 この例では、myResourceGroupmyLogAnalyticsWorkspace、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

## Place the public IP in a variable. ##
$ippara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'myPublicIP'
}
$ip = Get-AzPublicIPAddress @ippara
    
## Place the workspace in a variable. ##
$wspara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'myLogAnalyticsWorkspace'
}
$ws = Get-AzOperationalInsightsWorkspace @wspara
    
## Enable the diagnostic setting. ##
$diag = @{
	ResourceId = $ip.id
	Name = 'myDiagnosticSetting'
	Enabled = $true
	WorkspaceId = $ws.ResourceId
}
Set-AzDiagnosticSetting @diag

ストレージ アカウント

リソース ログをストレージ アカウントに送信するには、次のコマンドを入力します。 この例では、myResourceGroupmystorageaccount8675、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

## Place the public IP in a variable. ##
$ippara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'myPublicIP'
}
$lb = Get-AzPublicIPAddress @ippara
    
## Place the storage account in a variable. ##
$storpara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'mystorageaccount8675'
}
$storage = Get-AzStorageAccount @storpara
    
## Enable the diagnostic setting. ##
$diag = @{
	ResourceId = $ip.id
	Name = 'myDiagnosticSetting'
	StorageAccountId = $storage.id
  Enabled = $true
}
Set-AzDiagnosticSetting @diag

イベント ハブ

イベント ハブの名前空間にリソース ログを送信するには、次のコマンドを入力します。 この例では、myResourceGroupmyeventhub8675、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

## Place the public IP in a variable. ##
$ippara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'myPublicIP'
}
$lb = Get-AzPublicIPAddress @ippara
    
## Place the event hub in a variable. ##
$hubpara = @{
    ResourceGroupName = 'myResourceGroup'
    Name = 'myeventhub8675'
}
$eventhub = Get-AzEventHubNamespace @hubpara

## Place the event hub authorization rule in a variable. ##    
$hubrule = @{
    ResourceGroupName = 'myResourceGroup'
    Namespace = 'myeventhub8675'
}
$eventhubrule = Get-AzEventHubAuthorizationRule @hubrule

## Enable the diagnostic setting. ##
$diag = @{
	ResourceId = $ip.id
	Name = 'myDiagnosticSetting'
	EventHubName = $eventhub.Name
  EventHubAuthorizationRuleId = $eventhubrule.Id
  Enabled = $true
}
Set-AzDiagnosticSetting @diag

Azure CLI

Azure CLI にサインインします。

az login

Log Analytics ワークスペース

リソース ログを Log Analytics ワークスペースに送信するには、次のコマンドを入力します。 この例では、myResourceGroupmyLogAnalyticsWorkspace、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

ipid=$(az network public-ip show \
    --name myPublicIP \
    --resource-group myResourceGroup \
    --query id \
    --output tsv)

wsid=$(az monitor log-analytics workspace show \
    --resource-group myResourceGroup \
    --workspace-name myLogAnalyticsWorkspace \
    --query id \
    --output tsv)
    
az monitor diagnostic-settings create \
    --name myDiagnosticSetting \
    --resource $ipid \
    --logs '[{"category": "DDoSProtectionNotifications","enabled": true},{"category": "DDoSMitigationFlowLogs","enabled": true},{"category": "DDoSMitigationReports","enabled": true}]' \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --workspace $wsid

ストレージ アカウント

リソース ログをストレージ アカウントに送信するには、次のコマンドを入力します。 この例では、myResourceGroupmystorageaccount8675、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

ipid=$(az network public-ip show \
    --name myPublicIP \
    --resource-group myResourceGroup \
    --query id \
    --output tsv)

storid=$(az storage account show \
        --name mystorageaccount8675 \
        --resource-group myResourceGroup \
        --query id \
        --output tsv)
    
az monitor diagnostic-settings create \
    --name myDiagnosticSetting \
    --resource $ipid \
    --logs '[{"category": "DDoSProtectionNotifications","enabled": true},{"category": "DDoSMitigationFlowLogs","enabled": true},{"category": "DDoSMitigationReports","enabled": true}]' \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --storage-account $storid

イベント ハブ

イベント ハブの名前空間にリソース ログを送信するには、次のコマンドを入力します。 この例では、myResourceGroupmyeventhub8675、および myPublicIP がリソース値に使用されます。 これらの値は、実際の値に置き換えてください。

ipid=$(az network public-ip show \
    --name myPublicIP \
    --resource-group myResourceGroup \
    --query id \
    --output tsv)

az monitor diagnostic-settings create \
    --name myDiagnosticSetting \
    --resource $ipid \
    --event-hub myeventhub8675 \
    --event-hub-rule RootManageSharedAccessKey \
    --logs '[{"category": "DDoSProtectionNotifications","enabled": true},{"category": "DDoSMitigationFlowLogs","enabled": true},{"category": "DDoSMitigationReports","enabled": true}]' \
    --metrics '[{"category": "AllMetrics","enabled": true}]'

収集できるメトリックとログについては、次のセクションで説明します。

メトリックの分析

Azure Monitor のメニューから [メトリック] を開き、メトリックス エクスプローラーを使用して、"パブリック IP アドレス" のメトリックを、他の Azure サービスからのメトリックと一緒に分析することができます。 このツールの使用方法の詳細については、「Azure Monitor メトリックス エクスプローラーでメトリックスを分析する」を参照してください。

パブリック IP アドレスのために収集されるプラットフォーム メトリックの一覧については、「"パブリック IP アドレス" 監視データのリファレンス」を参照してください。

参考のために、Azure Monitor でサポートされているすべてのリソース メトリックの一覧を確認できます。

ログの分析

Azure Monitor ログのデータはテーブルに格納され、各テーブルには独自の一意のプロパティ セットがあります。

Azure Monitor 内のすべてのリソース ログには、同じフィールドの後にサービス固有のフィールドがあります。 共通のスキーマの概要については、Azure Monitor リソース ログのスキーマに関する記事をご覧ください。

アクティビティ ログは、サブスクリプションレベルのイベントに関する分析情報を提供する Azure のプラットフォーム ログの一種です。 個別に表示できるほか、Azure Monitor ログにルーティングして、Log Analytics を使用してより複雑なクエリを実行することもできます。

パブリック IP アドレス用に収集されるリソース ログの種類の一覧については、「"パブリック IP アドレス" 監視データのリファレンス」を参照してください。

Azure Monitor ログによって使用され、Log Analytics によってクエリ可能なテーブルの一覧については、「"パブリック IP アドレス" 監視データのリファレンス」を参照してください。

サンプル Kusto クエリ

重要

[パブリック IP] メニューから [ログ] を選択すると、クエリのスコープが現在のパブリック IP アドレスに設定された状態で Log Analytics が開きます。 つまり、ログ クエリには、そのリソースからのデータのみが含まれます。 他のリソースのデータや他の Azure サービスのデータを含むクエリを実行する場合は、Azure Monitor のメニューから [ログ] を選択します。 詳細については、「Azure Monitor Log Analytics のログ クエリのスコープと時間範囲」を参照してください。

パブリック IP アドレスの一般的なクエリの一覧については、Log Analytics クエリ インターフェイスに関する記事を参照してください。

Azure portal の Long Analytics クエリ インターフェイス内にあるパブリック IP アドレスに対する組み込みクエリの例は次のとおりです。

Screenshot of the built in queries for Public IP addresses.

警告

Azure Monitor のアラートは、監視データで重要な状態が見つかると事前に通知します。 これにより、ユーザーが気付く前に、管理者が問題を識別して対処できます。 アラートはメトリックログアクティビティ ログに対して設定できます。 アラートの種類に応じて、さまざまな利点と欠点があります。

次の表に、パブリック IP アドレスの一般的および推奨されるアラートのルールを示します。

アラートの種類 条件 説明
DDoS 攻撃中かどうか 0 より大きい
1 は、現在攻撃を受けています。
0 は、通常のアクティビティを示します
Azure のエッジ保護の一環として、パブリック IP アドレスで DDoS 攻撃が監視されます。 アラートを使用すると、パブリック IP アドレスが影響を受けた場合に通知を受け取ります。

次の手順