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

Virtual Private Cloud:VPC フローログ

最終更新日:Jun 23, 2026

VPC フローログは、Elastic Network Interface (ENI) のインバウンドおよびアウトバウンドトラフィックをキャプチャし、ネットワークパフォーマンスのモニタリング、ネットワーク問題のトラブルシューティング、トラフィックコストの最適化を可能にします。

仕組み

フローログは、ENI、vSwitch、VPC の 3 つのレベルでトラフィックをキャプチャするように作成できます。VPC または vSwitch のフローログを作成すると、システムは、フローログ作成後に作成されたものを含め、選択した VPC または vSwitch 内の関連するすべての ENI からのトラフィックをキャプチャします。

各キャプチャウィンドウ (デフォルトでは 10 分) の間に、システムはトラフィックをフローログレコードに集約し、Log Service (SLS) に送信します。

各フローログレコードは、キャプチャウィンドウ内の特定の 5 タプルネットワークフローをキャプチャします。レコードには、送信元と宛先の IP アドレスとポート、プロトコルなどの情報が含まれます。例:

eni-id

direction

srcaddr

srcport

protocol

dstaddr

dstport

...

eni-xxx

in

10.0.0.1

53870

6

10.0.0.2

80

...

eni-xxx

out

10.0.0.2

80

6

10.0.0.1

53870

...

すべてのフィールドの説明については、「フローログのフィールド」をご参照ください。

コストを削減するために、次のネットワークパスからのトラフィックのみをキャプチャできます。

  • IPv4 ゲートウェイ経由のインターネットへのトラフィック

  • NAT Gateway 経由のトラフィック

  • VPN ゲートウェイ経由のトラフィック

  • トランジットルーター (TR) 経由のトラフィック

  • ゲートウェイエンドポイント経由のクラウドサービスへのトラフィック

  • 仮想ボーダールーター (VBR) 経由の Express Connect へのトラフィック

  • Express Connect Router (ECR) 経由のトラフィック

  • Gateway Load Balancer エンドポイント経由のトラフィック

  • インターネットへのトラフィック

    パブリックに公開されているクラシックロードバランサー (CLB) からインターネットへのトラフィックのキャプチャはサポートされていません。

フローログのユースケースは次のとおりです。

  • ネットワークモニタリング:VPC のスループットとパフォーマンスを理解し、VPC 内のリソースのトラフィックと傾向を分析し、ネットワークの問題をトラブルシューティングし、セキュリティグループまたはネットワーク ACL ルールが正しく適用されていることを確認します。

  • ネットワークトラフィックコストの最適化:フローログでネットワークトラフィックを分析して、データ転送コストを削減します。たとえば、VPC から他のリージョン、特定のパブリック IP アドレス、オンプレミスデータセンター、または他のクラウドネットワークへのトラフィックを特定できます。また、大量のトラフィックを生成する ECS インスタンスを特定することもできます。

  • ネットワークセキュリティ分析:セキュリティインシデント中に、イングレスおよびエグレストラフィックを分析して、異常な IP アドレスを特定したり、疑わしいソースからのアクセスパターンを調査したりします。

制限事項

  • フローログ機能を初めて使用するには、次の操作が必要です。

    • フローログページで、[今すぐ有効化] をクリックします。パブリックプレビュー期間中にフローログインスタンスを作成した場合は、これらのインスタンスを表示および管理するために [今すぐ有効化] をクリックする必要もあります。

    • フローログページで、権限の付与 をクリックし、次に 権限付与 をクリックします。この操作により、AliyunVPCLogArchiveRole という名前の RAM ロールと AliyunVPCLogArchiveRolePolicy という名前の RAM ポリシーが自動的に作成されます。デフォルトでは、VPC はこのロールとポリシーを使用して Simple Log Service にアクセスし、フローログを書き込みます。

    • Simple Log Service 製品ページで Simple Log Service を有効化します。

  • フローログを有効にした後、新しい ENI からの最初のトラフィックキャプチャが最大 10 分遅れることがあります。

  • フローログはマルチキャストトラフィックをキャプチャしません。

フローログの管理

コンソール

フローログの作成

VPC コンソールの フローログページ に移動し、フローログの作成 をクリックします。フローログの作成 パネルで、次のパラメーターを設定します。

  1. 収集の設定

    1. リージョン:モニターするリソースのリージョンを選択します。

    2. リソースタイプリソースインスタンス:収集の粒度を VPCVSwitch、または ネットワークインターフェイス に設定します。VPC または vSwitch を選択した場合、システムは選択したリソース内のすべての ENI のトラフィックをモニターします。

    3. トラフィックタイプ:キャプチャするトラフィックのタイプを選択します。セキュリティグループやネットワーク ACL ルールなどのアクセス制御ルールによって許可または拒否されるトラフィックです。

    4. IP Version:IPv4 トラフィックのみをキャプチャするには IPv4 を選択し、IPv4 と IPv6 の両方のトラフィックをキャプチャするには デュアルスタック を選択します。次のリージョンが IPv6 をサポートしています:中国 (杭州)中国 (上海)中国 (青島)中国 (北京)中国 (フフホト)中国 (深セン)シンガポール米国 (シリコンバレー)、および 米国 (バージニア)

    5. サンプリング間隔 (分):トラフィック情報を集約するためのキャプチャウィンドウです。間隔は 1、5、または 10 分に設定できます。間隔が短いほどフローログがより頻繁に生成され、問題の特定とトラブルシューティングが迅速になります。間隔が長いほど、データの適時性は低下しますが、ログエントリの数が減り、コストを節約できます。

      たとえば、持続的接続を維持する TCP セッションの場合、1 分のウィンドウでは 1 時間あたり 60 のログエントリが生成されますが、10 分のウィンドウでは 6 つしか生成されません。

      VPC 内の複数のフローログインスタンスが同じ ENI からトラフィックを収集する場合、すべてのインスタンスの中で最も短いサンプリング間隔が実際のキャプチャ期間になります。
    6. サンプリングパス:特定の収集シナリオを選択して、使用コストを削減できます。選択を行う前に、デフォルトの すべて オプションの選択を解除する必要があります。

      IPv4 ゲートウェイ、NAT Gateway、VPN ゲートウェイ、トランジットルーター (TR)、ゲートウェイエンドポイント、仮想ボーダールーター (VBR)、Express Connect Router (ECR)、Gateway Load Balancer (GWLB) エンドポイントを通過するトラフィック、およびインターネットへのトラフィックを選択できます。

  2. 分析と送信の設定:ログを Simple Log Service (SLS) および NIS Traffic Analyzer に配信できます。SLS への配信は、フローログの作成時にのみ設定できます。このオプションは無効にした後、再度有効にすることはできません。

    • SLS に送信

      • プロジェクトと Logstore の選択:初めてフローログを作成する場合、ログデータを分離するために Create プロジェクトCreate ログストア を推奨します。集中分析のために複数のフローログを統合する必要がある場合は、同じ Logstore を選択します。

      • FlowLog レポート分析機能の有効化:このオプションを選択することを推奨します。この機能は、フローログを含む Logstore のインデックスを自動的に作成し、ダッシュボードを作成します。これにより、フローログに対して SQL クエリと視覚的分析を実行できます。この機能を有効にすると、SLS で料金が発生します。

    • NIS トラフィック分析:トラフィック分析を実行するには、NIS アナライザーの選択 します。リストが空の場合は、まず NIS アナライザーの作成 する必要があります。トラフィック分析のサンプリング間隔は、フローログのサンプリング間隔よりも大きくする必要があります。

      VPC フローログを NIS Traffic Analyzer に接続することをサポートするリージョン

  3. フローログを作成すると、トラフィック情報の収集が自動的に開始されます。その後、フローログを分析できます。

フローログの開始または停止

VPC コンソールの フローログページ に移動します。対象のフローログを見つけ、操作 列の 有効化 または 無効化 をクリックします。

フローログを停止すると、フローログ生成料金は発生しなくなります。ただし、SLS は保存されているフローログに対して引き続き料金を請求します。

フローログの削除

VPC コンソールの フローログページ に移動します。対象のフローログを見つけ、操作 列の 削除 をクリックします。

フローログを削除すると、フローログ生成料金は発生しなくなります。ただし、SLS は保存されているフローログに対して引き続き料金を請求します。すべての料金を停止するには、SLS コンソールに移動し、対応する Logstore を削除する必要があります。

API

フローログを作成する前に、フローログ機能が有効になっており、SLS でプロジェクトと Logstore が作成されていることを確認してください。

これらの前提条件を満たした後、次の操作を実行できます。

  • CreateFlowLog を呼び出してフローログを作成します。CreateIndex を呼び出してインデックスを作成することもできます。

  • DeactiveFlowLog を呼び出してフローログを停止します。

  • ActiveFlowLog を呼び出してフローログを開始します。

  • DeleteFlowLog を呼び出してフローログを削除します。

Terraform

リソース:alicloud_log_projectalicloud_log_storealicloud_vpc_flow_log
# フローログを作成するリージョンを指定します。
provider "alicloud" {
  region = "cn-hangzhou"
}

# プロジェクトの説明、Logstore とフローログの名前を指定します。
variable "name" {
  default = "vpc-flowlog-example"
}

# プロジェクト名用にランダムな文字列を生成します。
resource "random_uuid" "example" {
}

# Simple Log Service (SLS) プロジェクトを作成します。
resource "alicloud_log_project" "example" {
  project_name = substr("tf-example-${replace(random_uuid.example.result, "-", "")}", 0, 16)
  description  = var.name
}

# Simple Log Service (SLS) Logstore を作成します。
resource "alicloud_log_store" "example" {
  project_name          = alicloud_log_project.example.project_name
  logstore_name         = var.name
  shard_count           = 3
  auto_split            = true
  max_split_shard_count = 60
  append_meta           = true
}

# VPC フローログを作成します。
resource "alicloud_vpc_flow_log" "example" {
  flow_log_name        = var.name
  log_store_name       = alicloud_log_store.example.logstore_name
  description          = var.name
  traffic_path         = ["all"] # すべてのシナリオからトラフィックをキャプチャします。
  project_name         = alicloud_log_project.example.project_name
  resource_type        = "VPC" # リソースタイプは VPC です。
  resource_id          = "vpc-bp1ekmgzch0bo3hxXXXXXX" # VPC の ID です。
  aggregation_interval = "1" # キャプチャウィンドウは 1 分です。
  traffic_type         = "All" # アクセス制御ルールによって許可されるか拒否されるかに関わらず、すべてのトラフィックをキャプチャします。
}

フローログの分析

フローログを分析することで、ネットワークパフォーマンスのモニタリング、ネットワーク問題のトラブルシューティング、トラフィックコストの最適化、ネットワークセキュリティの分析に役立ちます。

コンソール

カスタム分析: Logstore

VPC コンソールの フローログページ に移動します。対象のフローログの ログストア 列で、Logstore インスタンス名をクリックして Logstore 詳細ページを開きます。このページでは、次のことができます。

Logstore クエリインターフェイスには、[生ログ][グラフ][ログクラスタリング] の 3 つのタブがあります。クエリの時間範囲を設定できます。インターフェイスの上部にはログボリュームの時系列チャートが表示され、下部には srcaddr、dstaddr、protocol などのフィールドを含むクエリ結果のテーブルが表示されます。

テンプレートベースの分析: フローログセンター

フローログセンターは、VPC のポリシー統計、ENI のトラフィック統計、CIDR ブロック間のトラフィック統計のための可視化テンプレートを提供します。これにより、VPC フローログを迅速に分析できます。

  1. フローログセンターページに移動し、右上隅の 追加 をクリックします。

  2. インスタンスの作成 パネルで、インスタンス名 を入力し、既存のフローログを含むプロジェクトLogstore を選択して、OK をクリックします。

  3. インスタンスが正常に作成された後、Flow Log Center でインスタンス ID をクリックします。 フローログの詳細 ページで、フローログ情報を表示および分析できます。

    モニタリングセンター は、次のダッシュボードとカスタムクエリ機能を提供します。

    • 概要:許可および拒否されたフローログの傾向、インバウンドおよびアウトバウンドトラフィックの傾向、各 VPC および ENI のパケットとバイトの総数、送信元および宛先 IP アドレスの地理的分布を表示します。

    • ポリシー統計:許可および拒否の傾向、5 タプルに基づく許可および拒否のカウントなどを表示します。5 タプルは、送信元 IP アドレス、送信元ポート、プロトコル、宛先 IP アドレス、宛先ポートで構成されます。

      • 許可:セキュリティグループとネットワーク ACL によって許可されたトラフィック。

      • 拒否:セキュリティグループとネットワーク ACL によって拒否されたトラフィック。

    • ENI トラフィック:ENI のインバウンドおよびアウトバウンドトラフィックを表示します。

    • ECS 間トラフィック:ECS インスタンス間のトラフィックを表示します。

    • カスタムクエリ:詳細については、「クエリと分析のクイックスタート」をご参照ください。

  4. ドメイン間分析を有効にする (オプション):フローログの詳細 ページで、CIDR ブロック設定 をクリックします。CIDR ブロック設定 タブで、ドメイン間分析 スイッチをオンにします。

    ドメイン間分析機能を有効にすると、データ変換タスクが自動的に作成されます。このタスクは、VPC フローログに CIDR ブロック情報を追加し、異なる CIDR ブロック間のトラフィックを分析できるようにします。データ変換機能は料金が発生します

    Log Service は、複数の事前定義された CIDR ブロックを提供します。異なる CIDR ブロック間のトラフィックを分析するには、ワンクリックでドメイン間分析機能を有効にできます。カスタム CIDR ブロックを追加することもできます。

    デフォルトでは、プライベートネットワーク (10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、変更可能)、一部の Alibaba Cloud サービス (100.64.0.0/10)、インターネット (その他すべての CIDR ブロック) の 3 種類の CIDR ブロックが事前定義されています。各種類の CIDR ブロックを編集または削除できます。

    ドメイン間分析 機能は、次のダッシュボードとカスタムクエリ機能を提供します。

    • ドメイン間トラフィック:異なる CIDR ブロック間のトラフィックを表示します。

    • ECS からドメインへのトラフィック:ECS インスタンスから宛先 CIDR ブロックへのトラフィックを表示します。

    • 脅威インテリジェンス:送信元および宛先 IP アドレスに関する脅威インテリジェンスを表示します。

    • カスタムクエリCIDR ブロック情報を含む VPC フローログをクエリおよび分析できます。

API

GetLogsV2 を呼び出して、フローログをクエリおよび分析します。

ユースケース

このトピックでは、フローログの 4 つの典型的なユースケースについて説明します。

インターネットソース IP の分析

ポート 80 でリッスンし、インターネットからアクセス可能な Web サーバーがあるとします。サーバーへのアクセスは、送信元 IP アドレスに基づいてセキュリティグループによって制限されています。

この場合、フローログを作成して、ポート 80 にアクセスする送信元 IP アドレスをクエリし、セキュリティグループによって許可または拒否されたリクエストをカウントできます。

  1. フローログの作成

    • リソースインスタンス には、Web サーバーの ネットワークインターフェイス を選択します。

    • トラフィックタイプ には、すべてのトラフィック を選択します。

    • 配信設定には、SLS に送信FlowLog レポート分析機能の有効化 を選択します。

    • 他のオプションはデフォルト設定のままにします。

  2. フローログの分析

    1. クエリ文

      次のクエリを実行して、10.0.0.1 のポート 80 にアクセスする送信元 IP アドレスをフィルタリングします。クエリはまた、セキュリティグループが各 IP アドレスを許可または拒否した回数も表示します。

      dstaddr:10.0.0.1 AND dstport:80 | SELECT -- 宛先 IP アドレスが 10.0.0.1 で、宛先ポートが 80 のログをフィルタリングします。
      srcaddr,
      SUM(CASE WHEN action = 'ACCEPT' THEN 1 ELSE 0 END) AS accept_count, -- 各 ACCEPT (許可) アクションに対して 1 をカウントします。
      SUM(CASE WHEN action = 'REJECT' THEN 1 ELSE 0 END) AS reject_count -- 各 REJECT (拒否) アクションに対して 1 をカウントします。
      FROM log
      GROUP BY srcaddr -- 送信元 IP アドレスでグループ化します。
      ORDER BY accept_count + reject_count DESC -- 許可されたリクエストと拒否されたリクエストの合計数で結果を降順にソートします。
    2. プレビュー

      srcaddr カラムにはポート 80 にアクセスしたソース IP が表示され、accept_count カラムと reject_count カラムには、クエリ時間範囲内にセキュリティグループによって許可されたフローログエントリと拒否されたフローログエントリの数が、各ソース IP ごとにそれぞれカウントされます:

      • 5 つの送信元 IP アドレスがポート 80 にアクセスしました:120.26.XX.XX、121.43.XX.XX、154.212.XX.XX、176.65.XX.XX、および 198.235.XX.XX。

      • 120.26.XX.XX からのすべてのリクエストは許可されましたが、他のパブリック IP アドレスからのすべてのリクエストは拒否されました。

ECS トラフィックの分析

パラメーター

VPC 内トラフィック

VPC 間トラフィック

説明

1 つの VPC に 3 つの ECS インスタンスをデプロイし、インスタンス間にトラフィックがあるとします。

フローログを使用して、ECS インスタンス間のトラフィックのレートと傾向を分析できます。

異なるリージョンに 2 つの VPC があり、各 VPC に複数の ECS インスタンスが含まれているとします。2 つの VPC はピアリング接続を使用して接続されています。ピアリング接続は、従量課金の Cloud Data Transfer (CDT) 課金を使用します。

最近、クロスリージョンのトラフィックコストが急増していることに気づきました。この場合、フローログを使用して、大量のトラフィックを生成する ECS インスタンスを特定し、トラフィックコストを最適化します。

フローログ設定

  • リソースインスタンスECS1ネットワークインターフェイス を選択します

  • 分析と送信の設定 には、SLS に送信 を選択し、FlowLog レポート分析機能の有効化 を有効にします。

  • 他のオプションはデフォルト設定のままにします。

  • リソースインスタンスには、VPC VPC1 を選択します。

  • 分析と送信の設定 には、SLS に送信FlowLog レポート分析機能の有効化 を選択します。

  • 他のオプションはデフォルト設定のままにします。

クエリ文

ECS1 と他の ECS インスタンス間のトラフィックレートの傾向をクエリするには、次のクエリを実行します。

(srcaddr:10.0.0.1 AND dstaddr:10.0.0.*) OR (srcaddr:10.0.0.* AND dstaddr:10.0.0.1 )  | select -- ECS1 と他の ECS インスタンス間のトラフィックをフィルタリングします。
date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, -- UNIX タイムスタンプを読み取り可能な時間形式に変換します。
concat(srcaddr,'->', dstaddr) as src_to_dst, -- 送信元と宛先の IP アドレスを「source_ip->destination_ip」の形式のセッションペアに連結します。
sum(bytes*8/60) as bandwidth -- バイトをビットに変換し、1 分のキャプチャウィンドウで割って、レートを bit/s で取得します。
group by time,srcaddr,dstaddr -- 時間、送信元 IP、宛先 IP でグループ化します。
order by time asc  -- 時間で昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。

2 つの VPC 間のセッショントラフィックレートの傾向をクエリするには、次のクエリを実行します。

(srcaddr:10.0.* AND dstaddr:172.16.*) OR (srcaddr:172.16.* AND dstaddr:10.0.*)  | select -- 2 つの VPC 間のセッションをフィルタリングします。
date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, -- UNIX タイムスタンプを読み取り可能な時間形式に変換します。
concat(srcaddr,'->', dstaddr) as src_to_dst, -- 送信元と宛先の IP アドレスを「source_ip->destination_ip」の形式のセッションペアに連結します。
sum(bytes*8/60) as bandwidth -- バイトをビットに変換し、1 分のキャプチャウィンドウで割って、レートを bit/s で取得します。
group by time,srcaddr,dstaddr -- 時間、送信元 IP、宛先 IP でグループ化します。
order by time asc  -- 時間で昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。

プレビュー

[クエリと分析結果] ページで、[統計チャート] タブを選択し、チャートタイプを [面グラフ] に設定します。X 軸フィールドを [時間]、Y 軸フィールドを [帯域幅]、集計列を [src_to_dst] に設定します。フォーマット単位には、[bps,Kbps,Mbps(bit)] を選択します。

10.0.0.1 から 10.0.0.2 へのトラフィックレートが最も高く、約 1.4 Mbps です。10.0.0.1 から 10.0.0.3 へのトラフィックレートが 2 番目に高く、約 700 Kbps です。他のトラフィックはごくわずかです。

クエリ結果の可視化設定は、シナリオ 2 と同じです。[面グラフ] タイプを選択し、集計列を [src_to_dst] に設定します。

結果は、10.0.0.1 から 172.16.0.1 への約 6 Mbps のトラフィックスパイクを示しています。

NAT ゲートウェイトラフィックの分析

あるリージョンに複数の ECS インスタンスがあるとします。すべてのインスタンスは同じ vSwitch にデプロイされ、インターネット NAT Gateway の SNAT を使用してインターネットにアクセスします。

最近、NAT ゲートウェイからのアウトバウンドトラフィックが急増し、サーバーの応答が遅くなっていることに気づきました。フローログを使用して、トラフィックの大部分を生成している ECS インスタンスを特定します。

  1. フローログの作成

    • リソースインスタンス には、インターネット NAT Gateway が配置されている vSwitch2 を選択します。

    • 配信設定には、SLS に送信FlowLog レポート分析機能の有効化 を選択します。

    • 他のオプションはデフォルト設定のままにします。

  2. 特定のトラフィックパスをフィルタリングする方法

    このシナリオで特定のパスのトラフィックをフィルタリングするには、クエリ文で異なる条件を指定します。

    No.

    フィルタリング方法

    ECS から NAT Gateway へのトラフィックをフィルタリングする場合: direction は in、srcaddr は ECS のプライベート IP アドレスです。

    NAT ゲートウェイからパブリックネットワークへのトラフィックをフィルターするには、directionout で、srcaddr は NAT ゲートウェイのプライベート IP アドレスです。

    インターネットから NAT ゲートウェイへのトラフィックをフィルター:direction は in で、dstaddr は NAT ゲートウェイのプライベート IP アドレスです。

    NAT ゲートウェイから ECS インスタンスへのトラフィックをフィルターします。direction は out で、dstaddr は ECS インスタンスのプライベート IP アドレスです。

  3. フローログの分析

    1. クエリ文

      ECS インスタンスから NAT ゲートウェイへのパスで、特定のパブリック IP アドレスへのトラフィックを分析します。

      direction: 'in' and srcaddr: 10.0.0.* and dstaddr: 120.26.XX.XX | select -- 特定のパブリック IP アドレスにアクセスする ECS インスタンスのログをフィルタリングします。
      date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time, srcaddr,  -- UNIX タイムスタンプを読み取り可能な時間形式に変換します。
      sum(bytes*8/60) as bandwidth  -- バイトをビットに変換し、1 分のキャプチャウィンドウで割って、レートを bit/s で取得します。
      group by time,srcaddr -- 時間と送信元 IP アドレスでグループ化します。
      order by time asc  -- 時間で昇順にソートします。
      limit 100 -- 最初の 100 件の結果を表示します。

      その他の一般的なクエリ

      • NAT ゲートウェイから ECS インスタンスへのパスで、特定のパブリック IP アドレスからすべての ECS インスタンスへのインバウンドトラフィックをフィルタリングします。

        direction: 'out' and dstaddr: 10.0.0.* and srcaddr: 120.26.XX.XX | select -- 特定のパブリック IP アドレスにアクセスする ECS インスタンスのログをフィルタリングします。
        date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time,   -- UNIX タイムスタンプを読み取り可能な時間形式に変換します。
        dstaddr,
        sum(bytes*8/60) as bandwidth  -- バイトをビットに変換し、1 分のキャプチャウィンドウで割って、レートを bit/s で取得します。
        group by time,dstaddr -- 時間と宛先 IP アドレスでグループ化します。
        order by time asc  -- 時間で昇順にソートします。
        limit 100 -- 最初の 100 件の結果を表示します。
      • ECS インスタンスから NAT ゲートウェイへのパスで、ECS インスタンスからすべてのパブリック IP アドレスへのアウトバウンドトラフィックをフィルタリングします。

        direction: 'in' and srcaddr: 10.0.0.*  | select -- すべてのパブリック IP アドレスにアクセスする ECS インスタンスのログをフィルタリングします。
        date_format(from_unixtime(__time__ - __time__% 60), '%H:%i:%S') as time,  -- UNIX タイムスタンプを読み取り可能な時間形式に変換します。
        concat(srcaddr,'->', dstaddr), -- 送信元と宛先の IP アドレスを「source_ip->destination_ip」の形式のセッションペアに連結します。
        sum(bytes*8/60) as bandwidth  -- バイトをビットに変換し、1 分のキャプチャウィンドウで割って、レートを bit/s で取得します。
        group by time,srcaddr,dstaddr -- 時間、送信元 IP、宛先 IP でグループ化します。
        order by time asc  -- 時間で昇順にソートします。
        limit 100 -- 最初の 100 件の結果を表示します。
    2. プレビュー

      クエリ結果の可視化方法は、シナリオ 2 と同様です。[面グラフ] タイプを選択し、集計列を [srcaddr] に設定します。

      NAT ゲートウェイへのパスでは、10.0.0.1 (ECS1) からパブリック IP アドレス 120.26.XX.XX へのトラフィックが最も高く、約 12 Kbps です。

Express Connect トラフィック比率の分析

ある企業が Alibaba Cloud リージョンで 2 つの VPC を使用して異なるサービスをデプロイし、オンプレミスデータセンターを Express Connect 回線と Cloud Enterprise Network (CEN) を使用して Alibaba Cloud に接続しています。

IT 部門は、フローログを使用して、VPC 内のさまざまなビジネスアプリケーションからのトラフィックが Express Connect 回線をどのように使用しているかを監視および分析する予定です。この分析は、ネットワークリソースプランニングとパフォーマンス向上に役立ちます。

  1. フローログの作成

    2 つのフローログを作成し、ログを同じ Logstore に配信します。各フローログの主要な設定は次のとおりです。

    • リソースインスタンス には、VPC の VPC1 と VPC2 を選択します。

    • サンプリングパス には Transit Router を選択します。

    • 配信設定SLS に送信 に設定し、2 つのフローログに同じ Logstore を選択し、FlowLog レポート分析機能の有効化 を有効にします。

    • 他のオプションはデフォルト設定のままにします。

  2. フローログの分析

    1. クエリ文

      異なる VPC からオンプレミスデータセンターへのトラフィックの比率を分析するには、次のクエリを実行します。

      action: ACCEPT and srcaddr: 192.168.* and dstaddr:10.1.* | 
      WITH 
          vpc1_traffic AS (
              SELECT 
                  date_trunc('minute',__time__) AS minute,
                  SUM(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) AS total_vpc1_traffic
              FROM 
                  log
              WHERE 
                  srcaddr LIKE '192.168.20.%'
              GROUP BY 
                  date_trunc('minute',__time__)
          ),
          vpc2_traffic AS (
              SELECT 
                  date_trunc('minute',__time__) AS minute,
                  SUM(bytes*8/(case WHEN "end"-start=0 THEN 1 else "end"-start end)) AS total_vpc2_traffic
              FROM 
                  log
              WHERE 
                  srcaddr LIKE '192.168.10.%'
              GROUP BY 
                  date_trunc('minute',__time__)
          )
      SELECT 
          COALESCE(vpc1_traffic.minute, vpc2_traffic.minute) AS minute,
          (COALESCE(vpc1_traffic.total_vpc1_traffic, 0) * 100/ NULLIF((COALESCE(vpc1_traffic.total_vpc1_traffic, 0) + COALESCE(vpc2_traffic.total_vpc2_traffic, 0)), 0)) AS vpc1_percentage, 
          (COALESCE(vpc2_traffic.total_vpc2_traffic, 0) * 100/ NULLIF((COALESCE(vpc1_traffic.total_vpc1_traffic, 0) + COALESCE(vpc2_traffic.total_vpc2_traffic, 0)), 0)) AS vpc2_percentage
      FROM vpc1_traffic FULL OUTER JOIN vpc2_traffic ON vpc1_traffic.minute = vpc2_traffic.minute 
      ORDER BY minute

      以下は SQL ステートメントの説明です。

      • フィルター条件:

        • srcaddr: 192.168.*、ソースアドレスが 192.168.* で始まるログをフィルタリングします。

        • dstaddr: 10.1.*、送信先アドレスが 10.1.* で始まるログをフィルターします。

        • action:ACCEPT。action フィールドの値が ACCEPT のログをフィルタリングします。

      • メインクエリ

        • FULL OUTER JOIN を使用して、vpc1_traffic テーブルと vpc2_traffic テーブルを minute フィールドで結合します。

        • 各 VPC の分ごとのトラフィックパーセンテージを計算します。

          • vpc1_percentage は、総トラフィックのうち VPC1 にルーティングされるトラフィックのパーセンテージを指定します。

          • vpc2_percentage は、VPC2 トラフィックが総トラフィックに占める割合を示します。

        • クエリ結果は、minute の昇順でソートされます。

      • WITH サブクエリ:

        SQL ステートメントには、2 つのサブクエリ、vpc1_trafficvpc2_traffic が含まれています。以下では、vpc1_traffic サブクエリを例に説明します。

        • date_trunc 関数を使用して、UNIX タイムスタンプ (__time__ フィールド) の精度を分単位に下げ、minute という名前を付けます。

        • SUM 関数を使用して、特定の分の総トラフィックレートを bit/s 単位で計算し、total_vpc1_traffic という名前を付けます。

        • 送信元アドレスが 192.168.20.* CIDR ブロック (VPC1 に属する) のトラフィックレコードをフィルタリングします。

        • 結果を分単位でグループ化します。

    2. プレビュー

      クエリ結果の可視化設定は、シナリオ 2 と同様です。[面グラフ] タイプを選択して、時間の経過に伴う異なる VPC のトラフィック比率の傾向を表示します。

      結果は、14:50 から 15:50 の期間中、VPC1 からオンプレミスデータセンターへのトラフィックの割合が高いことを示しています。

関連情報

フローログのフィールド

次の表に、フローログレコードのフィールドについて説明します。

フィールドが該当しない場合、フィールドの値は - として表示されます。

フィールド

説明

version

フローログのバージョン。すべてのログエントリの値は 1 です。

account-id

Alibaba Cloud アカウントの ID。

eni-id

ENI の ID。

vm-id

ENI がアタッチされている ECS インスタンスの ID。

vswitch-id

ENI が属する vSwitch の ID。

vpc-id

ENI が属する VPC の ID。

type

トラフィックタイプ。有効な値:IPv4 または IPv6。

次のリージョンは、デュアルスタック IPv4/IPv6 トラフィックのキャプチャをサポートしています:中国 (杭州)中国 (上海)中国 (青島)中国 (北京)中国 (フフホト)中国 (深セン)シンガポール米国 (シリコンバレー)、および 米国 (バージニア)

protocol

トラフィックの IANA プロトコル番号。たとえば、ICMP は 1、TCP は 6、UDP は 17 です。

srcaddr

送信元 IP アドレス。

srcport

送信元ポート。

dstaddr

宛先 IP アドレス。

dstport

宛先ポート。

direction

トラフィックの方向:

  • in:ENI へのインバウンドトラフィック。

  • out:ENI からのアウトバウンドトラフィック。

action

セキュリティグループまたはネットワーク ACL がトラフィックに対して実行するアクション:

  • ACCEPT:トラフィックは許可されます。

  • REJECT:トラフィックは拒否されます。

packets

パケット数。

bytes

バイト数。

start

キャプチャウィンドウで最初のパケットが受信された時刻 (UNIX タイムスタンプ形式)。

end

持続的接続のキャプチャウィンドウの終了時刻、または短時間接続が閉じられた時刻。値は UNIX タイムスタンプです。

tcp-flags

TCP フラグ (10 進数で表現)。TCP プロトコルの SYN、ACK、FIN などのフラグの組み合わせを反映します。

キャプチャウィンドウ内では、単一のフローログエントリが複数の TCP パケットに対応する場合があります。この値は、関連するすべてのパケットのフラグフィールドに対する bitwise OR 操作の結果です。

たとえば、TCP セッションに SYN (2) と SYN-ACK (18) フラグを持つ 2 つのパケットがキャプチャウィンドウ内にある場合、ログに記録される TCP フラグフィールドは 18 (2 | 18 = 18) です。

以下は、いくつかの TCP フラグとその 10 進値です。

  • FIN: 1

  • SYN: 2

  • RST: 4

  • PSH: 8

  • SYN-ACK: 18

  • URG: 32

SYN、FIN、ACK、RST の意味など、TCP フラグの詳細については、「RFC 793」をご参照ください。

log-status

ログレコードのステータス:

  • OK:データは期待どおりに記録されました。

  • NODATA:キャプチャウィンドウ中にネットワークインターフェイスがトラフィックを送受信しませんでした。これは、スタンバイシステム、非ピーク時、または設定の問題でトラフィックが妨げられている場合に発生する可能性があります。

  • SKIPDATA:キャプチャウィンドウ中に一部のフローログレコードがスキップされました。これは通常、高トラフィック環境や、内部システムが過負荷になりすべてのトラフィックをキャプチャできなくなるような突然のトラフィックスパイクで発生します。

traffic_path

トラフィックパス (シナリオコードで示されます):

  • 0 - 以下にリストされている以外のシナリオでキャプチャされたトラフィック。

  • 1 - 同じ VPC 内の他のリソースを通過するトラフィック。

  • 2 - 同じ VPC 内の ECS インスタンスにアクセスするプライベートトラフィック。

  • 3 - ENI を通過するトラフィック。

  • 4 - 高可用性仮想 IP アドレスを通過するトラフィック。

  • 5 - 同じリージョン内の Alibaba Cloud サービスにアクセスするトラフィック。

  • 6 - ゲートウェイエンドポイントを介してクラウドサービスにアクセスするトラフィック。

  • 7 - NAT ゲートウェイを通過するトラフィック。

  • 8 - トランジットルーターを通過するトラフィック。

  • 9 - VPN ゲートウェイを通過するトラフィック。

  • 10 - 仮想ボーダールーターを介して Express Connect 回線にアクセスするトラフィック。

  • 11 - CEN Basic Edition を介して同じリージョン内の VPC にアクセスするトラフィック。

  • 12 - 11、18、19、20 で指定された以外のシナリオで CEN Basic Edition を通過するトラフィック。例としては、クロスリージョンのクラウドサービスや Cloud Connect Network に CEN Basic Edition を介してアクセスするトラフィックなどがあります。

  • 13 - IPv4 ゲートウェイを介したインターネットへのトラフィック。

  • 14 - IPv6 ゲートウェイを介したインターネットへのトラフィック。

  • 15 - パブリック IP アドレスを介したインターネットへのトラフィック。

  • 17 - VPC ピアリング接続を通過するトラフィック。

  • 18 - CEN Basic Edition を介してクロスリージョン VPC にアクセスするトラフィック。

  • 19 - CEN Basic Edition を介して同じリージョン内の仮想ボーダールーターにアクセスするトラフィック。

  • 20 - CEN Basic Edition を介してクロスリージョンの仮想ボーダールーターにアクセスするトラフィック。

  • 21 - Express Connect Router を通過するトラフィック。

  • 22 - ゲートウェイロードバランサエンドポイントを通過するトラフィック。

次のセクションでは、フローログレコードの例を示します。

許可されたトラフィックレコード

この例では、Alibaba Cloud プライマリアカウント ID は 1210123456** で、VPC フローログのバージョンは 1 です。2024 年 7 月 12 日の 17:10:20 から 17:11:20 までの 1 分間に、ENI eni-bp166tg9uk1ryf** は次のアウトバウンドトラフィックを許可します。

TCP (プロトコル番号 6) 経由で、送信元 IP アドレス 172.31.16.139、ポート 1332 から宛先 IP アドレス 172.31.16.21、ポート 80 に 10 パケット、合計 2,048 バイトが送信されました。ログステータスは OK です。

{
  "account-id": "1210123456**",
  "action": "ACCEPT",
  "bytes": "2048",
  "direction": "out",
  "dstaddr": "172.31.16.21",
  "dstport": "80",
  "end": "1720775480",
  "eni-id": "eni-bp166tg9uk1ryf**",
  "log-status": "OK",
  "packets": "10",
  "protocol": "6",
  "srcaddr": "172.31.16.139",
  "srcport": "1332",
  "start": "1720775420",
  "tcp-flags": "22",
  "traffic_path": "-",
  "version": "-",
  "vm-id": "1",
  "vpc-id": "-",
  "vswitch-id": "vpc-bp1qf0c43jb3maz******"
}

拒否されたトラフィックレコード

この例では、Alibaba Cloud プライマリアカウント (ID: 1210123456******) で VPC フローログバージョン 1 の場合、ENI eni-bp1ftp5sm9oszt****** は、2024 年 7 月 15 日の 10:20:00 から 10:30:00 までの 10 分間に、次のインバウンドトラフィックを拒否します。

TCP (プロトコル番号 6) 経由で、送信元 IP アドレス 172.31.16.139、ポート 1332 から宛先 IP アドレス 172.31.16.21、ポート 80 に 20 パケット、合計 4,208 バイトが送信されました。ログステータスは OK です。

{
  "account-id": "1210123456******",
  "action": "REJECT",
  "bytes": "4208",
  "direction": "in",
  "dstaddr": "172.31.16.21",
  "dstport": "80",
  "end": "1721010600",
  "eni-id": "eni-bp1ftp5sm9oszt******",
  "log-status": "OK",
  "packets": "20",
  "protocol": "6",
  "srcaddr": "172.31.16.139",
  "srcport": "1332",
  "start": "1721010000",
  "tcp-flags": "22",
  "traffic_path": "-",
  "version": "-",
  "vm-id": "1",
  "vpc-id": "-",
  "vswitch-id": "vpc-bp1qf0c43jb3maz******"
}

データなしレコード

この例では、Alibaba Cloud プライマリアカウント ID 1210123456****** およびバージョン 1 の VPC フローログの場合、ENI eni-bp1j7mmp34jlve****** は、2024 年 7 月 15 日の 10:52:20 から 10:55:20 までの 3 分間にトラフィックデータ (NODATA) を記録しませんでした。

{
  "account-id": "1210123456******",
  "action": "-",
  "bytes": "-",
  "direction": "-",
  "dstaddr": "-",
  "dstport": "-",
  "end": "1721012120",
  "eni-id": "eni-bp1j7mmp34jlve******",
  "log-status": "NODATA",
  "packets": "-",
  "protocol": "-",
  "srcaddr": "-",
  "srcport": "-",
  "start": "1721011940",
  "tcp-flags": "-",
  "traffic_path": "-",
  "version": "-",
  "vm-id": "1",
  "vpc-id": "-",
  "vswitch-id": "vpc-bp1qf0c43jb3maz******"
}

スキップされたデータレコード

この例では、Alibaba Cloud プライマリアカウント ID は 1210123456****** で、VPC フローログのバージョンは 1 です。2024 年 7 月 12 日の 16:20:30 から 16:23:30 までの 3 分間に、ENI eni-bp1dfm4xnlpruv****** のデータレコードがスキップされました (SKIPDATA)。

{
  "account-id": "1210123456******",
  "action": "-",
  "bytes": "-",
  "direction": "-",
  "dstaddr": "-",
  "dstport": "-",
  "end": "1720772610",
  "eni-id": "eni-bp1dfm4xnlpruv******",
  "log-status": "SKIPDATA",
  "packets": "-",
  "protocol": "-",
  "srcaddr": "-",
  "srcport": "-",
  "start": "1720772430",
  "tcp-flags": "-",
  "traffic_path": "-",
  "version": "-",
  "vm-id": "1",
  "vpc-id": "-",
  "vswitch-id": "vpc-bp1qf0c43jb3maz******"
}

課金

課金項目

フローログの生成と Simple Log Service でのログの保存に対して料金が発生します。Traffic Analyzer を使用する場合、トラフィック処理とストレージに追加料金が適用されます。

  • フローログ生成料金

    • 請求は時間単位で生成され、通常は各課金サイクルの終了後 3〜4 時間で生成されます。請求生成の正確な時間は異なる場合があります。

    • フローログ生成料金は、各リージョンで生成されたログの月間ボリュームに基づいて請求され、段階的価格設定モデルを使用します。各プライマリアカウントは、各リージョンで月間 5 GB の無料クォータを受け取ります。

    月間ログボリューム

    価格 (USD/GB)

    0 TB 〜 10 TB (含む)

    0.37

    10 TB 〜 30 TB (含む)

    0.185

    30 TB 〜 50 TB (含む)

    0.074

    50 TB 超

    0.037

  • Simple Log Service 料金:Simple Log Service は、フローログを受信した後にこれらの料金を請求します。これらの料金は、データの書き込みとストレージをカバーします。詳細については、「データの書き込みとストレージ」をご参照ください。

    Simple Log Service は、データ量による課金と機能別課金の 2 つの課金方法を提供しています。VPC コンソールでフローログを作成し、新しい Logstore を作成することを選択した場合、デフォルトで機能別課金方法が使用されます。
  • Traffic Analyzer 料金:Network Intelligence Service は、Traffic Analyzer がフローログを受信した後にこれらの料金を請求します。これらの料金は、トラフィック分析の処理とストレージをカバーします。詳細については、「トラフィック分析の処理とストレージ」をご参照ください。

課金例

  • 例 1

    2022 年 9 月 1 日 00:00:00 にあるリージョンでフローログ機能を有効にしたとします。2022 年 9 月 1 日 00:00:00 から 2022 年 10 月 1 日 00:00:00 までの間に、合計 3 GB のログを Simple Log Service に配信します。

    各プライマリアカウントには、フローログ生成のための月間 5 GB の無料クォータがあります。したがって、その月の唯一のコストは、Simple Log Service によって請求される料金です。

  • 例 2

    2022 年 9 月 1 日 00:00:00 に中国 (上海) リージョンでフローログ機能を有効にしたとします。2022 年 9 月 1 日 00:00:00 から 2022 年 10 月 1 日 00:00:00 までの間に、100 GB のログを Simple Log Service に配信します。

    その月のフローログ生成料金は (100 - 5) × 0.37 = 35.15 米ドルです。その月の総フローログ料金は 35.15 米ドル + Simple Log Service 料金です。

  • 例 3

    2022 年 9 月 1 日 00:00:00 に中国 (北京) リージョンでフローログ機能を有効にしたとします。2022 年 9 月 1 日 00:00:00 から 2022 年 10 月 1 日 00:00:00 までの間に、60 TB のログを Simple Log Service に配信します。

    フローログ生成料金は、段階的価格設定モデルに基づいて計算されます。

    • 0 TB 〜 10 TB (含む):(10 × 1024 - 5) × 0.37 = 3,786.95 米ドル

    • 10 TB 〜 30 TB (含む):20 × 1024 × 0.185 = 3,788.8 米ドル

    • 30 TB 〜 50 TB (含む):20 × 1024 × 0.074 = 1,515.52 米ドル

    • 50 TB 超:10 × 1024 × 0.037 = 378.88 米ドル

    その月の総フローログ生成料金は 3,786.95 + 3,788.8 + 1,515.52 + 378.88 = 9,470.15 米ドルです。その月の総フローログ料金は 9,470.15 米ドル + Simple Log Service 料金です。

料金滞納とチャージ

支払い遅延ポリシー

  • 支払いが遅延してから 15 日間、サービスは継続されます。

  • 15 日以内に請求が支払われない場合、サービスは自動的に停止されます。VPC フローログが停止されると、課金も停止され、VPC フローログに対するいかなる操作もできなくなります。

  • サービス停止後 15 日以内にアカウントにチャージして未払い額を支払うと、サービスは自動的に再開されます。

  • サービス停止後 15 日以内に未払い額が支払われない場合、VPC フローログは自動的にリリースされます。サービスがリリースされると、その設定とデータは永久に削除されます。

サポートされているリージョン

エリア

リージョン

アジア太平洋 - 中国

中国 (杭州)中国 (上海)中国 (青島)中国 (北京)中国 (張家口)中国 (フフホト)中国 (ウランチャブ)中国 (深セン)中国 (河源)中国 (広州)中国 (成都)中国 (香港)、および 中国 (福州-ローカルリージョン、閉鎖予定)

アジア太平洋 - その他

日本 (東京)韓国 (ソウル)シンガポールマレーシア (クアラルンプール)インドネシア (ジャカルタ)フィリピン (マニラ)、および タイ (バンコク)

ヨーロッパ & アメリカ

ドイツ (フランクフルト)イギリス (ロンドン)米国 (シリコンバレー)、および 米国 (バージニア)

中東

UAE (ドバイ)、および サウジアラビア (リヤド - パートナー運営)

クォータ

クォータ名

説明

デフォルトの制限

調整可能

vpc_quota_flowlog_inst_nums_per_user

ユーザーが作成できるフローログインスタンスの最大数。

10

はい。クォータの引き上げをリクエストするには、クォータ管理ページまたはクォータセンターに移動してください。

よくある質問

フローログの保持期間

VPC はフローログを自動的に Simple Log Service に配信するため、Simple Log Service のデータ保持ポリシーが適用されます。

  • VPC フローログを作成する際に FlowLog レポート分析機能の有効化 を選択した場合、Logstore のデフォルトのデータ保持期間は 7 日です。それ以外の場合、デフォルトは 300 日です。

  • Simple Log Service コンソールに移動して、既存の Logstore のデータ保持期間を表示し、必要に応じて変更できます。