すべてのプロダクト
Search
ドキュメントセンター

Cloud Firewall:ログのクエリと分析

最終更新日:Aug 08, 2026

ログデータをリアルタイムでクエリおよび分析することで、ネットワークアクティビティを把握し、トラフィックの異常を特定できます。この機能により、セキュリティ監視が強化され、インシデント対応が改善されます。本トピックでは、ログ分析に使用するクエリ文および分析文の記述方法と、その結果の表示および解釈方法について説明します。

文の構文

クエリ文および分析文

ログ分析用の文は、縦棒 (|) で区切られたクエリ文と分析文で構成されます。

query statement|analytic statement
  • クエリ文は Simple Log Service の構文を使用して、指定された条件を満たすログを検索します。単体でも使用可能です。キーワード、数値、値の範囲、スペース、またはアスタリスク (*) を含めることができます。スペースまたはアスタリスク (*) は、フィルター条件を適用しないことを示します。

    インデックスの構成方法に応じて、クエリは全文検索またはフィールド検索に分類されます。詳細については、「クエリ構文および関数」をご参照ください。

    全文検索

    キーワードを二重引用符 ("") で囲むことで、そのキーワードを含むログを検索できます。また、複数のキーワードをスペースまたは and で区切ることで、すべての指定キーワードを含むログを検索できます。

    • 複数キーワード検索

      www.aliyun.com および pass の両方を含むログを検索します。

      www.aliyun.com pass

      または

      www.aliyun.com and pass
    • 条件付き検索

      www.aliyun.com を含み、かつ pass または tcp のいずれかを含むログを検索します。

      www.aliyun.com and (pass or tcp)
    • プレフィックス検索

      www.aliyun.com を含み、かつ tcp_ で始まるログを検索します。

      www.aliyun.com and tcp_*
      説明

      アスタリスク (*) はプレフィックス一致のためにサフィックスとしてのみ使用できます。_not_establish のようにプレフィックスとして使用することはサポートされていません。

    フィールド検索

    フィールド名と値を指定してデータをクエリします。数値フィールドの場合、field:value または field >= value の形式で比較演算子を使用できます。また、andor などの論理演算子を使用して複合クエリを作成したり、フィールド検索と全文検索を組み合わせたりすることも可能です。

    Cloud Firewall のログ分析でインデックス作成がサポートされているフィールドについては、「インデックスフィールド」をご参照ください。

    • 複数フィールドのクエリ

      クライアント 192.XX.XX.22 から宛先アドレス 192.XX.XX.54 へのアクセスログをクエリします。

      src_ip: 192.XX.XX.22 and dst_ip: 192.XX.XX.54
    • フィールドの存在によるクエリ

      • cloud_instance_id フィールドを含むログをクエリします。

        cloud_instance_id: *
      • cloud_instance_id フィールドを含まないログをクエリします。

        not cloud_instance_id: *
  • 分析文は、クエリ結果または完全データセットに基づいて統計情報を計算および生成します。クエリ文と共に使用する必要があります。分析文が空の場合、クエリ結果のみが返され、分析は実行されません。分析文の構文および関数の詳細については、「クエリと分析の概要」をご参照ください。

一般的なクエリ文

本セクションでは、Cloud Firewall ログ向けの一般的なクエリ構文および例を紹介します。

トラフィック量のクエリ

  • インターネットから内部アセット 1.2.*.* へのネットワークアクセスレコードをクエリし、インバウンドトラフィック量およびパケット総数を計算します。

    log_type:internet_log and direction:"in" and dst_ip:1.2.*.* | select sum(in_packet_bytes) as flow, sum(in_packet_count) as packet
  • NAT ファイアウォールのトラフィックをクエリし、ソース IP、宛先 IP、宛先ポートで結果をグループ化したうえで、インバウンドおよびアウトバウンドトラフィック量の合計が上位 10 位のアセットを分析します。

    log_type:nat_firewall_log | select src_ip, dst_ip, dst_port, sum(in_packet_bytes) as in_bytes, sum(out_packet_bytes) as out_bytes, sum(total_packet_bytes) as total_bytes group by src_ip, dst_ip, dst_port order by total_bytes desc limit 10

アクセス制御

  • インターネットから内部アセットへのアクセスで、アクセス制御ポリシーに一致するトラフィックログをクエリします。

    log_type:internet_log and direction:"in" and not acl_rule_id:00000000-0000-0000-0000-000000000000

    条件 not acl_rule_id:00000000-0000-0000-0000-000000000000 は、アクセス制御ポリシーに一致したログをフィルターします。acl_rule_id がすべてゼロの場合、ポリシーに一致していないことを示します。

  • 内部アセットからインターネットへのアウトバウンドアクセスで、アクセス制御ポリシーによってブロックされたトラフィックログをクエリし、上位 10 件の宛先 IP アドレスおよび宛先ポートのディストリビューションを分析します。

    log_type:internet_log and direction:out and not acl_rule_id:00000000-0000-0000-0000-000000000000 and rule_result:drop | select dst_ip, dst_port, count(*) as cnt group by dst_ip, dst_port order by cnt desc limit 10
  • 内部アセットからインターネットへのアウトバウンドアクセスで、宛先ポートが 443、パケット数が 3 より大きい(TCP 3 ウェイハンドシェイクが完了していることを示す)、かつドメイン名が識別されていないトラフィックログをクエリします。結果は宛先 IP アドレスセグメントおよびアプリケーションでグループ化され、上位 10 件のソース IP、宛先 IP、アプリケーションを分析します。

    log_type:internet_log and direction:out and dst_port:443 and total_packet_count>3 and domain:""| select array_agg(distinct src_ip) as srcip, array_agg(distinct dst_ip) as dstip, slice(split(dst_ip,'.' ,4),1,3) as dstip_c, app_name, COUNT(1) as cnt GROUP by dstip_c,app_name order by cnt desc limit 10
  • インターネット境界ファイアウォールのインバウンドレイヤー 4 接続について、接続数の降順で上位 10 件のソース IP を一覧表示します。

    log_type:internet_log and direction:"in" | select src_ip, count(*) as cnt group by src_ip order by cnt desc limit 10

攻撃防止

  • インターネットから内部アセットへのアクセスで、攻撃防止ポリシーに一致するトラフィックログをクエリします。

    log_type:internet_log and direction:"in" and not ips_rule_id:00000000-0000-0000-0000-000000000000

    条件 not ips_rule_id:00000000-0000-0000-0000-000000000000 は、攻撃防止ポリシーに一致したログをフィルターします。ips_rule_id がすべてゼロの場合、ポリシーに一致していないことを示します。

  • 内部アセットからインターネットへのアウトバウンドアクセスで、攻撃防止ポリシーに一致するトラフィックログをクエリし、IP アドレス、ポート、アプリケーション、ドメイン、IPS ポリシー結果などの情報を表示します。

    log_type:internet_log and direction:out and not ips_rule_id:00000000-0000-0000-0000-000000000000 | select src_ip, dst_ip, dst_port,app_name, domain,ips_rule_id, ips_rule_name, rule_result

操作手順

  1. Cloud Firewall コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、レスポンス検出 > ログ分析 を選択し、ログクエリ タブをクリックします。

  3. (オプション)デフォルトでは、ログクエリ ページを開いた際に、システムが自動的にクエリを実行して結果を表示します。ページ右上隅の image アイコンをクリックし、クエリ タブでこの機能を無効にするか、クエリ時間を設定します。

  4. 検索ボックスにクエリ文および分析文を入力します。

    • クエリ文 は、ログデータの表示、検索、フィルターに使用します。時間範囲、リクエストタイプ、キーワードなどの特定の条件を指定して、必要なデータをフィルターできます。クエリ文は単体でも使用可能です。構文の詳細については、「クエリ構文および特徴」をご参照ください。

    • 分析文 は、ログデータに対してフィルター、変換、統計分析、集約などの操作を実行するために使用します。たとえば、ある期間におけるデータの平均値を計算したり、前年比や前月比の結果を取得したりできます。分析文は、query statement|analytic statement の形式でクエリ文と共に使用する必要があります。構文の詳細については、「集約関数」をご参照ください。

  5. 次の 3 つの方法のいずれかで、ログの クエリ/分析 の時間範囲を設定します。分析文で時間範囲が設定されている場合、クエリおよび分析結果はその時間範囲に基づきます。

    • ページ上部の時間範囲ピッカーで、15 分 などの時間範囲を選択します。

    • 分析文 で、__time__ フィールドを使用して時間範囲を指定します。例:

      * | SELECT * FROM log WHERE __time__ > 1731297600 AND __time__ < 1731310038
    • 分析文 で、from_unixtime 関数 または to_unixtime 関数 を使用して時間形式を変換します。例:

      • * | SELECT * FROM log WHERE from_unixtime(__time__) > from_unixtime(1731297600) AND from_unixtime(__time__) < now()
      • * | SELECT * FROM log WHERE __time__ > to_unixtime(date_parse('2024-10-19 15:46:05', '%Y-%m-%d %H:%i:%s')) AND __time__ < to_unixtime(now())
  6. Query/Analysis をクリックして、クエリおよび分析結果を表示します。詳細については、「クエリおよび分析結果の表示」をご参照ください。

クエリおよび分析結果の表示

ヒストグラムおよび生ログモジュールに、クエリおよび分析の結果が表示されます。

説明
  • 分析文で limit パラメーターを設定しない場合、デフォルトで 100 件のエントリが返されます。より多くのエントリを返すには、limit パラメーターを手動で設定してください。

  • 本セクションでは、ヒストグラムおよび生ログに表示されるデータについて説明します。その他の機能については、「ログクエリおよび分析のクイックスタート」をご参照ください。

ヒストグラム

ヒストグラムには、クエリされたログの時間分布が表示されます。

image

  • ポインターを緑色のデータブロックに重ねると、その時間範囲およびログヒット数が表示されます。

  • 緑色のデータブロックをダブルクリックすると、より細かい時間の粒度でログの分布を表示できます。指定された時間範囲のクエリ結果は、Rawデータ タブにも表示されます。

生ログ

Raw Logs タブには、ログのクエリおよび分析結果が表示されます。

No.

説明

ログの表示形式、ソート順、その他の設定を変更します。

image アイコンをクリックして、ログをローカルマシンにダウンロードするか、ダウンロード履歴を表示します。詳細については、「ログのエクスポート」をご参照ください。

  • image アイコンをクリックして JSON Configuration を選択し、JSON の展開タイプおよびレベルを設定します。

  • image アイコンをクリックして Event Configuration を選択します。これにより、生ログに対して視覚的で使いやすいログドリルダウン機能が提供され、より詳細なログ情報を取得できます。詳細については、「イベント構成」をご参照ください。

ログの表示フィールド、インデックスフィールド、システムフィールドを表示します。

  • Indexed Fields セクションで、フィールド横の image アイコンをクリックして表示フィールドに追加します。その後、右側のログ詳細にそのフィールドが表示されます。

  • Display Fields セクションで、フィールド横の image アイコンをクリックして表示フィールドから削除します。その後、右側のログ詳細にそのフィールドは表示されなくなります。

    説明

    Display Fields を追加しない場合、右側のログ詳細にはデフォルトのシステム構成フィールドが表示されます。

  • フィールド横の image アイコンをクリックして、基本的な分布状況統計メトリック などの情報を表示します。詳細については、「フィールドの構成」をご参照ください。

  • Display Fields を構成した後、image アイコンをクリックして表示フィールドの一覧をビューとして保存します。これにより、関心のあるデータを表示するためにビューを素早く切り替えることができます。

  • image アイコンをクリックして Tag Settings を選択し、フィールドをシステムタグとして設定します。その後、そのタグが右側のログ詳細の上部に表示されます。

  • image アイコンをクリックして Alias 機能を有効にし、フィールド名をエイリアスに置き換えます。エイリアスが設定されていないフィールドは、元の名前のまま表示されます。フィールドエイリアスの設定手順については、「インデックスの作成」をご参照ください。

ログの詳細を表示します。ログフィールドの詳細な説明については、「ログフィールド」をご参照ください。

  • image アイコンをクリックしてログ内容をコピーします。

  • image アイコンをクリックして SLS Copilot を使用し、ログ内容に基づいて情報を要約したり、エラーを検出したりします。

  • image アイコンをクリックしてタグの詳細を表示します。

よくある質問

従量課金の Cloud Firewall で、請求書に表示されるログ使用量がコンソールの表示よりも多いのはなぜですか?

この相違は予想されるものであり、課金単位および計算方法の違いによるものです。

  1. : Cloud Firewall ログ分析 コンソールには、ログが実際に使用しているストレージ容量が表示されます。たとえば、1 TB と表示される場合があります。

  2. 課金: 従量課金の Cloud Firewall では、ログ分析の課金単位は TB/時間 です。システムは、実際のストレージ容量に 1 日の時間数(24)を乗算して、課金対象の合計使用量を計算します。


コンソールに実際のログストレージ容量が 1 TB と表示されている場合、1 日あたりの課金対象ストレージ使用量は次のように計算されます:1 TB × 24 時間 = 24 TB。