VPC フローログは、弾力性ネットワークインターフェース (ENI) のインバウンドおよびアウトバウンドトラフィックをキャプチャします。フローログを使用して、ネットワークパフォーマンスの監視、接続性の問題のトラブルシューティング、およびトラフィックコストの最適化を行います。
フローログの仕組み
フローログは、3 つのレベルでトラフィックを収集します。
| リソースタイプ | スコープ |
|---|---|
| ENI | 単一の弾力性ネットワークインターフェースのトラフィック。 |
| vSwitch | フローログ作成後に作成された ENI を含む、vSwitch 内のすべての ENI のトラフィック。 |
| VPC | フローログ作成後に作成された ENI を含む、VPC 内のすべての ENI のトラフィック。 |
システムは、トラフィックデータを各キャプチャウィンドウ (デフォルトは 10 分) 内のフローログエントリに集約し、そのエントリを Simple Log Service に配信します。各エントリは、特定のキャプチャウィンドウ内の 5 次元ルールネットワークストリーム (ソース IP アドレス、宛先 IP アドレス、ソースポート、宛先ポート、プロトコル) を記録します。
次の例は、単一の TCP 接続に対する 2 つのフローログエントリを示しています。
| 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 Gateway | IPv4 ゲートウェイを介したインターネットへのトラフィック |
| NAT Gateway | NAT Gateway を介したトラフィック |
| VPN Gateway | VPN Gateway を介したトラフィック |
| Transit Routers (TRs) | トランジットルーター (TR) を介したトラフィック |
| Gateway Endpoint | Gateway Endpoint を介した Alibaba Cloud サービスへのトラフィック |
| Virtual Border Router (VBR) | 仮想ボーダールーター (VBR) を介した Express Connect 回線へのトラフィック |
| Express Connect Router (ECR) | Express Connect Router (ECR) を介したトラフィック |
| GWLB Endpoint | Gateway Load Balancer (GWLB) エンドポイントを介したトラフィック |
| Internet | インターネットへのトラフィック |
インターネット向け Classic Load Balancer (CLB) はサポートされていません。
ユースケース
ネットワーク監視:VPC スループットとパフォーマンスを監視します。トラフィックの傾向を分析し、問題のトラブルシューティングを行い、セキュリティグループまたはネットワーク ACL の有効性を検証します。
トラフィックコスト削減:高トラフィック量を生成する ECS インスタンスを特定します。VPC から他のリージョン、パブリック IP アドレス、またはオンプレミスデータセンターへのトラフィックを分析します。
ネットワークセキュリティ分析:疑わしい IP アドレスを特定します。セキュリティインシデント発生時の侵入記録を調査します。
前提条件
開始する前に、次の 1 回限りのセットアップを完了してください。
「フローログページ」で、[今すぐ有効化] をクリックします。パブリックプレビュー期間中にフローログインスタンスを作成した場合でも、これらのインスタンスを表示および管理するには、[今すぐ有効化] をクリックする必要があります。
フローログページで、[今すぐ承認] をクリックし、次に [承認] をクリックします。これにより、
AliyunVPCLogArchiveRoleという名前の Resource Access Management (RAM) ロールとAliyunVPCLogArchiveRolePolicyという名前の RAM ポリシーが作成されます。VPC はこのロールとポリシーを使用して Simple Log Service にアクセスし、フローログを配信します。Simple Log Service 製品ページで Simple Log Service を有効化します。
フローログの作成
コンソール
VPC コンソールで、[フローログページ] に移動し、「[フローログの作成]」をクリックします。次のパラメーターを「[フローログの作成]」パネルで設定します。
コレクション設定
[リージョン]: モニターするリソースのリージョンを選択します。
[リソースタイプ] および [リソースインスタンス]: コレクションタイプを [ENI]、[vSwitch]、または [VPC] に設定します。VPC または vSwitch を選択した場合、システムは選択されたリソース内のすべての ENI のトラフィックをモニターします。
データ転送タイプ: セキュリティグループやネットワーク ACL ルールなどのアクセス制御ルールによって許可または拒否されたトラフィックをキャプチャするかどうかを選択します。
IP バージョン:IPv4 トラフィックのみをキャプチャするには [IPv4] を、IPv4 と IPv6 の両方のトラフィックをキャプチャするには [デュアルスタック] を選択します。 次のリージョンは IPv6 をサポートしています:中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (フフホト)、中国 (深セン)、シンガポール、米国 (シリコンバレー)、および米国 (バージニア)。
[サンプリング間隔 (分)]: キャプチャ ウィンドウの長さを設定します。有効な値: 1、5、または 10 分です。間隔が短いほどログをより頻繁に生成し、問題をより迅速に特定できます。間隔が長いほどエントリ数が少なくなりコストを削減できますが、データの鮮度が低くなります。たとえば、持続的接続を使用した TCP セッションの場合、1 分のキャプチャ ウィンドウでは 1 時間あたり 60 個のエントリが生成されるのに対し、10 分のウィンドウでは 6 個になります。
VPC 内の複数のフローログインスタンスが同じ ENI からトラフィックを収集する場合、すべてのインスタンスの中で最短のサンプリング間隔が実際のキャプチャウィンドウとして使用されます。
[サンプリングパス]: コスト削減のために特定の収集パスを選択します。まず、デフォルトの [すべてのシナリオ] オプションの選択を解除します。利用可能なパス: IPv4 Gateway、NAT Gateway、VPN Gateway、トランジットルーター (TR)、Gateway Endpoint、仮想ボーダールータ (VBR)、Express Connect Router (ECR)、Gateway Load Balancer (GWLB) Endpoint、およびインターネットへのトラフィック。
分析と配信
1 つ以上の配信先を選択します。
Log Service への配信: プロジェクトと Logstore を選択します。最初のフローログの場合、[プロジェクトの作成] と [Logstore の作成] をクリックしてデータを分離します。複数のフローログを統合するには、同じ Logstore を選択します。
ログ分析レポートの有効化: Logstore に対して自動的に インデックスを作成します および ダッシュボードを作成します。これにより、SQL クエリおよび可視化分析が可能になります。この機能を有効化すると、Simple Log Service から課金されます。
[NIS トラフィック分析を有効化]: まだ利用できません。
フローログを作成すると、トラフィック収集が自動的に開始されます。
API
フローログを作成する前に、機能をアクティブ化し、Simple Log Service でプロジェクトと Logstore を作成します。
OpenFlowLogService を呼び出して、フローログ機能を有効にします。
API CreateProject を呼び出してプロジェクトを作成し、API CreateLogStore を呼び出して Logstore を作成します。
次に、次の操作を実行します。
| 操作 | API |
|---|---|
| フローログの作成 | CreateFlowLog |
| インデックスの作成 (オプション) | CreateIndex |
| フローログの停止 | DeactiveFlowLog |
| フローログの開始 | ActiveFlowLog |
| フローログの削除 | DeleteFlowLog |
Terraform
リソース:alicloud_log_project、alicloud_log_store、alicloud_vpc_flow_log
# フローログを作成するリージョンを指定します。
provider "alicloud" {
region = "cn-hangzhou"
}
# プロジェクトの説明、Logstore およびフローログの名前を指定します。
variable "name" {
default = "vpc-flowlog-example"
}
# プロジェクト名を作成するために乱数を生成します。
resource "random_uuid" "example" {
}
# Simple Log Service プロジェクトを作成します。
resource "alicloud_log_project" "example" {
project_name = substr("tf-example-${replace(random_uuid.example.result, "-", "")}", 0, 16)
description = var.name
}
# Simple Log Service 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" # アクセスコントロールによって許可または拒否されたかどうかにかかわらず、すべてのトラフィックを収集します。
}フローログの開始または停止
VPC コンソールの[フローログページ]で、対象のフローログを見つけ、[開始]または[停止]を[操作]列でクリックします。
フローログを停止すると、VPC はフローログ生成料金を請求しなくなります。Simple Log Service は、既存のフローログの保存に対して引き続き料金を請求します。
フローログの削除
VPC コンソールのフローログページで、対象のフローログを見つけ、[削除] を [操作] 列でクリックします。
フローログを削除すると、VPC はフローログの生成料金を課金しなくなります。Simple Log Service は、既存のフローログの保存に対して引き続き課金します。すべての課金を停止するには、「Simple Log Service コンソールで Logstore を削除する」をご参照ください。
フローログの分析
Logstore を使用したカスタム分析
VPC コンソールの フローログページ に移動します。対象のフローログの [Simple Log Service] 列で、Logstore をクリックして詳細ページを開きます。このページでは、次の操作を実行できます。
[生ログ] で、フローログエントリの詳細を確認できます。
文を入力して、フローログのクエリと分析を行います。

Flow Log Center テンプレートを使用した分析
Flow Log Center は、VPC フローログの可視化テンプレートを提供します。これには、VPC ポリシーステータス、ENI トラフィック統計、および CIDR ブロック間トラフィック統計が含まれます。
「フローログセンター」に移動し、右上隅の[追加]をクリックします。
[インスタンスの作成] パネルで、[インスタンス名] を入力し、フローログが含まれる [プロジェクト] と [Logstore] を選択し、 [OK] をクリックします。
[フローログセンター] でインスタンス ID をクリックします。[フローログ詳細] ページで、フローログデータを表示および分析します。

[モニタリングセンター] は、以下のダッシュボードを提供します:
| ダッシュボード | 説明 |
|---|---|
| 概要 | 許可および拒否されたフローログ、インバウンドおよびアウトバウンドトラフィック、各 VPC および ENI の合計パケット数とバイト数、およびソースおよび宛先 IP アドレスの地理的分布の傾向。 |
| ポリシー統計 | 5 次元ルール (ソース IP、ソースポート、プロトコルタイプ、宛先 IP、宛先ポート) に基づく、許可および拒否された接続の傾向。許可:セキュリティグループとネットワーク ACL によって許可されたトラフィック。拒否:セキュリティグループとネットワーク ACL によって拒否されたトラフィック。 |
| ENI トラフィック | ENI のインバウンドおよびアウトバウンドトラフィック。 |
| ECS 間トラフィック | ECS インスタンス間のトラフィック。 |
| カスタムクエリ | 「ログクエリと分析入門」をご参照ください。 |
ドメイン間分析の有効化 (オプション)
[フローログ詳細] ページで、[CIDR ブロック設定] をクリックします。[CIDR ブロック設定] タブで、[ドメイン間分析] をオンにします。
ドメイン間分析を有効にすると、システムは、CIDR ブロック間のトラフィック分析を目的として、CIDR ブロックの詳細を含む VPC フローログを生成するデータ変換タスクを作成します。データ変換機能には料金が発生します。
Simple Log Service には、次の図に示すように事前定義された CIDR ブロックが含まれています。カスタム CIDR ブロックを追加することもできます。

[Inter-Domain Analysis] 機能は、以下のダッシュボードを提供します。
| ダッシュボード | 説明 |
|---|---|
| ドメイン間トラフィック | CIDR ブロック間のトラフィック。 |
| ECS からドメインへのトラフィック | ECS インスタンスから宛先 CIDR ブロックへのトラフィック。 |
| 脅威インテリジェンス | ソースおよび宛先 IP アドレスに関する脅威インテリジェンス。 |
| カスタムクエリ | VPC フローログ内の CIDR ブロックデータのクエリと分析. |
API を使用した分析
フローログをクエリおよび分析するには、GetLogsV2 を呼び出します。
例
特定のポートにアクセスするソース IP の特定
インターネットからポート 80 経由でアクセスできる Web サーバーがあり、セキュリティグループルールを使用して特定のソース IP からのアクセスを制限しているとします。フローログを作成して、ポート 80 にアクセスするソース IP をクエリし、セキュリティグループによって許可または拒否されたリクエストの数をカウントします。
ステップ 1: フローログの作成
[リソースインスタンス]で、Web サーバーの[ENI]を選択します。
[データ転送タイプ] を [すべてのトラフィック] に設定します。
配信については、[Log Service への配信] および [ログ分析レポートの有効化] を選択します。
その他のパラメーターはデフォルト値を保持します。
ステップ 2: フローログの分析
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 -- 許可および拒否されたアクションの合計数に基づいて結果を降順にソートします。結果

srcaddr 列には、ポート 80 にアクセスしたソース IP アドレスが一覧表示されます。accept_count 列および reject_count 列には、クエリ時間範囲内でセキュリティグループによって許可されたエントリ数および拒否されたエントリ数が表示されます。
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 内の ECS インスタンス | 異なる VPC 内の ECS インスタンス |
|---|---|---|
| 図 | ||
| 説明 | 3 台の ECS インスタンスが 1 つの VPC にデプロイされ、それらの間でトラフィックが発生しています。フローログを使用して、これらのインスタンス間のトラフィックレートと傾向を分析します。 | 異なるリージョンにある 2 つの VPC が、それぞれ複数の ECS インスタンスを持ち、VPC ピアリング接続を介して接続されています。このピアリング接続は、Cloud Data Transfer (CDT) の従量課金で課金されます。リージョン間のデータ転送料金が大幅に増加しました。フローログを使用して、大量のトラフィックを生成している ECS インスタンスを特定し、コストを削減します。 |
| フローログの構成 | [リソースインスタンス] で、ECS1 に関連付けられている [ENI] を選択します。分析と配信については、[Log Service に配信] と [ログ分析レポートを有効化] | [リソースインスタンス] で、[VPC] VPC1 を選択します。[分析と配信] セクションで、[Log Service に配信] と [ログ分析レポートを有効化] を選択します。その他のパラメーターはデフォルト値のままにします。 |
| クエリ文 | ECS1 と他の ECS インスタンス間のトラフィックレートの傾向をクエリします: | 2 つの VPC 間のセッショントラフィックレートの傾向をクエリします: |
同一 VPC クエリ:
(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 分間のキャプチャウィンドウで除算します。
group by time,srcaddr,dstaddr -- 時間、ソース IP アドレス、および宛先 IP アドレスでグループ化します。
order by time asc -- 時間を昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。クロス 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 分間のキャプチャウィンドウで除算します。
group by time,srcaddr,dstaddr -- 時間、ソース IP アドレス、および宛先 IP アドレスでグループ化します。
order by time asc -- 時間を昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。結果
| 同一 VPC | クロス VPC |
|---|---|
![]() | ![]() |
| 10.0.0.1 から 10.0.0.2 へのトラフィックレートが約 1.4 Mbps で最も高くなっています。10.0.0.1 から 10.0.0.3 へのトラフィックレートは約 700 Kbps です。その他のトラフィックはごくわずかです。 | 10.0.0.1 から 172.16.0.1 へのトラフィックは、約 6 Mbps のトラフィックスパイクを示しています。 |
インターネット NAT Gateway の背後にある高トラフィック ECS インスタンスの特定
複数の ECS インスタンスが同じ vSwitch にデプロイされ、インターネット NAT Gateway の SNAT 機能を通じてインターネットにアクセスしています。インターネットへの NAT トラフィックが大幅に増加し、サーバー応答の遅延が発生しています。フローログを使用して、どの ECS インスタンスが最も多くのトラフィックを生成しているかを特定します。
ステップ 1: フローログの作成
[リソースインスタンス] では、インターネット NAT ゲートウェイ用の vSwitch である
vSwitch 2を選択します。配信については、[Log Service に配信] と [ログ分析レポートを有効化] を選択します。
その他のパラメーターはデフォルト値を保持します。
ステップ 2: 特定のトラフィックパスのフィルタリング
特定のパスのトラフィックをフィルタリングするには、クエリ文で条件を指定します。
| 図 | 番号 | フィルタリング方法 |
|---|---|---|
| 1 | ECS インスタンスから NAT ゲートウェイへのトラフィックをフィルタリング: direction を `in` に、srcaddr を ECS インスタンスのプライベート IP アドレスに設定します。 | |
| 2 | NAT ゲートウェイからインターネットへのトラフィックをフィルタリング: direction を `out` に、srcaddr を NAT ゲートウェイのプライベート IP アドレスに設定します。 | |
| 3 | インターネットから NAT ゲートウェイへのトラフィックをフィルタリング: direction を `in` に、dstaddr を NAT ゲートウェイのプライベート IP アドレスに設定します。 | |
| 4 | NAT ゲートウェイから ECS インスタンスへのトラフィックをフィルタリング: direction を `out` に、dstaddr を ECS インスタンスのプライベート IP アドレスに設定します。 |
ステップ 3: フローログの分析
ECS インスタンスから NAT Gateway へのパスで、特定のパブリック 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 分間のキャプチャウィンドウで除算します。
group by time,srcaddr -- 時間とソース IP アドレスでグループ化します。
order by time asc -- 時間を昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。その他の一般的なクエリ
特定のパブリック IP アドレスからすべての ECS インスタンスへのインバウンドトラフィックをフィルタリングします (NAT Gateway から 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 分間のキャプチャウィンドウで除算します。
group by time,dstaddr -- 時間と宛先 IP アドレスでグループ化します。
order by time asc -- 時間を昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。ECS インスタンスからすべてのパブリック IP アドレスへのアウトバウンドトラフィックをフィルタリングします (ECS から NAT Gateway へのパス)。
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 分間のキャプチャウィンドウで除算します。
group by time,srcaddr,dstaddr -- 時間、ソース IP アドレス、および宛先 IP アドレスでグループ化します。
order by time asc -- 時間を昇順にソートします。
limit 100 -- 最初の 100 件の結果を表示します。結果

ECS インスタンスから NAT Gateway へのパスでは、10.0.0.1 (ECS1) からパブリック IP アドレス 120.26.XX.XX へのトラフィックレートが約 12 Kbps で最も高くなっています。
Express Connect 回線トラフィック分散の分析
ある企業は、異なるサービスをデプロイするために、リージョン内に 2 つの VPC を使用しています。オンプレミスデータセンターを Express Connect 回線と CEN を使用して Alibaba Cloud に接続しています。IT 部門は、ネットワークリソース計画とパフォーマンス改善のために、VPC 内の異なるサービスからのトラフィックが Express Connect 回線をどのように使用しているかを監視するためにフローログを使用する予定です。
ステップ 1: フローログの作成
同じ Logstore にデータを配信する 2 つのフローログを作成します。各フローログを次のパラメーターで構成します。
[リソースインスタンス] の [VPC] で、VPC1 と VPC2 を選択します。
[サンプリングパス] を [トランジットルーターを経由するトラフィック] に設定します。
配信先として、[Log Service への配信] を選択し、両方のフローログに同じ Logstore を選択し、[ログ分析レポートの有効化] を選択します。
その他のパラメーターはデフォルト値を保持します。
ステップ 2: フローログの分析
各 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 minuteSQL 文の説明を表示するには、クリックしてください。
フィルタリング条件:
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 文には、
vpc1_trafficおよびvpc2_trafficの 2 つのサブクエリが含まれています。以下では、vpc1_trafficサブクエリについて説明します。date_trunc 関数は、
__time__フィールドの UNIX タイムスタンプを分単位に切り捨て、その結果にminuteというエイリアスを付けます。SUM 関数は、1 分間の合計トラフィックレート (bit/s) を計算するために使用され、その結果は
total_vpc1_trafficと名付けられます。VPC1 の CIDR ブロックである 192.168.20.* のソースアドレスを持つトラフィックレコードをフィルタリングします。
結果を分ごとにグループ化します。
結果

14:50 から 15:50 の期間中、VPC1 からオンプレミスデータセンターに流れるトラフィックの割合が高くなっています。
フローログフィールドの説明
該当しないフィールドには、値として - が表示されます。
| フィールド | 説明 |
|---|---|
| version | 1フローログバージョン。すべてのログエントリのバージョンは `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。以下のリージョンは Dual-stack トラフィック収集に対応しています: 中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (フフホト)、中国 (深セン)、シンガポール、米国 (シリコンバレー)、および米国 (バージニア)。 |
| protocol | IANA プロトコル番号。一般的な値:1 (ICMP)、6 (TCP)、17 (UDP)。 |
| srcaddr | ソース IP アドレス。 |
| srcport | ソースポート。 |
| dstaddr | 宛先 IP アドレス。 |
| dstport | 宛先ポート。 |
| direction | トラフィックの方向: in(ENI へのインバウンド)または out(ENI からのアウトバウンド)。 |
| action | セキュリティグループまたはネットワーク ACL によるアクセスの許可状態: ACCEPT または REJECT。 |
| packets | パケット数。 |
| bytes | バイト数。 |
| start | キャプチャウィンドウで最初のパケットが受信された時刻。形式:UNIX タイムスタンプ。 |
| end | 持続的接続の場合、キャプチャウィンドウが終了する時刻。短命な接続の場合、接続がクローズする時刻。形式:UNIX タイムスタンプ。 |
| tcp-flags | TCP プロトコルにおけるフラグ (SYN、ACK、FIN など) の組み合わせを反映した 10 進数で表される TCP フラグ。キャプチャウィンドウ内のフローログエントリは、複数の TCP パケットに対応する場合があります。この値は、関連するすべてのパケットのフラグフィールドに対するビット単位 OR 演算の結果です。たとえば、2 つのパケットが SYN (2) と SYN-ACK (18) フラグを持つ場合、記録される TCP フラグは 18 (2 | 18 = 18) です。一般的な TCP フラグ値:FIN (1)、SYN (2)、RST (4)、PSH (8)、SYN-ACK (18)、URG (32)。詳細については、RFC 793 をご参照ください。 |
| log-status | ログレコードのステータス:OK(予定通りにデータが記録されました)、NODATA(キャプチャ期間中にトラフィックがありませんでした)、SKIPDATA(トラフィック量が多かったり、システムの過負荷により、一部のフローログ エントリがスキップされました)。 |
| traffic_path | トラフィックが発生するパス。下の「traffic_path 値」の表をご参照ください。 |
traffic_path 値
| 値 | 説明 |
|---|---|
| 0 | 以下にリストされていないパスで収集されたトラフィック。 |
| 1 | 同じ VPC 内の他のリソースを介したトラフィック。 |
| 2 | 同じ VPC 内の ECS インスタンスにアクセスするプライベートネットワークトラフィック。 |
| 3 | ENI を介したトラフィック。 |
| 4 | 高可用性仮想 IP アドレス (HaVip) を介したトラフィック。 |
| 5 | 同じリージョン内の Alibaba Cloud サービスにアクセスするトラフィック。 |
| 6 | Gateway Endpoint を介して Alibaba Cloud サービスへのトラフィック。 |
| 7 | NAT Gateway を介したトラフィック。 |
| 8 | トランジットルーター (TR) を介したトラフィック。 |
| 9 | VPN Gateway を介したトラフィック。 |
| 10 | 仮想ボーダールーター (VBR) を介して専用回線へのトラフィック。 |
| 11 | CEN Basic Edition を介して同じリージョン内の VPC にアクセスするトラフィック。 |
| 12 | 11、18、19、20 以外のパスで CEN Basic Edition を介したトラフィック。例:クロスリージョン Alibaba Cloud サービスまたはクラウド相互接続ネットワーク (CCN) に CEN Basic Edition を介してアクセスするトラフィック。 |
| 13 | IPv4 ゲートウェイを介してインターネットへのトラフィック。 |
| 14 | IPv6 ゲートウェイを介してインターネットへのトラフィック。 |
| 15 | パブリック IP アドレスを介してインターネットへのトラフィック。 |
| 17 | VPC ピアリング接続を介したトラフィック。 |
| 18 | CEN Basic Edition を介してクロスリージョン VPC にアクセスするトラフィック。 |
| 19 | CEN Basic Edition を介して同じリージョン内の VBR にアクセスするトラフィック。 |
| 20 | CEN Basic Edition を介してクロスリージョン VBR にアクセスするトラフィック。 |
| 21 | Express Connect Router (ECR) を介したトラフィック。 |
| 22 | Gateway Load Balancer (GWLB) エンドポイントを介したトラフィック。 |
フローログエントリの例
許可されたトラフィック
この例では、Alibaba Cloud アカウント ID は 1210123456\*\*\*\*\*\* で、VPC フローログのバージョンは 1 です。2024年7月12日の17:10:20から17:11:20までの1 分間の間隔において、ENI eni-bp166tg9uk1ryf****** は以下のアウトバウンドトラフィックを許可しました:
ソースアドレス 172.31.16.139 とポート 1332 は、TCP (プロトコル 6) 経由で宛先アドレス 172.31.16.21 とポート 80 に 10 パケットを送信しました。合計パケットサイズは 2,048 バイトです。ログステータスは正常です。
{
"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 です。2024 年 7 月 15 日の 10:20:00 から 10:30:00 までの 10 分間に、ENI eni-bp1ftp5sm9oszt****** は、次のインバウンドトラフィックを拒否しました:
ソースアドレス 172.31.16.139 とポート 1332 は、TCP (プロトコル 6) 経由で宛先アドレス 172.31.16.21 とポート 80 に 20 パケットを送信しました。合計パケットサイズは 4,208 バイトです。ログステータスは正常です。
{
"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\*\*\*\*\*\*、VPC フローログのバージョンは 1 です。2024 年 7 月 15 日 10:52:20 から 10:55:20 までの 3 分間、ENI eni-bp1j7mmp34jlve****** のトラフィックデータ (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******"
}課金
課金コンポーネント
フローログ料金は、次の 2 つのコンポーネントで構成されます。
フローログ料金 = フローログ生成料金 + Simple Log Service 料金
フローログ生成料金:フローログが Simple Log Service に配信される前に VPC によって請求されます。各リージョンで収集されたログの月間量に基づいて、段階的価格設定が適用されます。各 Alibaba Cloud アカウントは、各リージョンで月間 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 |
課金サイクルと請求書生成サイクルはどちらも 1 時間です。請求書は通常、課金サイクル終了後 3 ~ 4 時間で生成されます。
Simple Log Service 料金: フローログが配信された後に Simple Log Service によって課金されます。データ書き込みおよびストレージの料金を含みます。
2 つの課金方法が利用可能です:データ量に応じた課金と機能に応じた課金。VPC コンソールでフローログを作成し、新しい Logstore を作成することを選択した場合、デフォルトで機能に応じた課金方法が使用されます。
課金例
例 1:2022 年 9 月 1 日にリージョンでフローログを有効にします。その月中に、3 GB のログが Simple Log Service に配信されます。3 GB は月間 5 GB の無料クォータ内であるため、合計フローログ料金は Simple Log Service 料金のみに等しくなります。
例 2:2022 年 9 月 1 日に中国 (上海) リージョンでフローログを有効にします。その月中に、100 GB のログが配信されます。フローログ生成料金は (100 - 5) x 0.37 = 35.15 USD です。合計フローログ料金は 35.15 USD + Simple Log Service 料金です。
例 3:2022 年 9 月 1 日に中国 (北京) リージョンでフローログを有効にします。その月中に、60 TB のログが配信されます。フローログ生成料金は段階的価格設定を使用して計算されます。
| ティア | 計算 | 料金 (USD) |
|---|---|---|
| 0 TB から 10 TB (含む) | (10 x 1024 - 5) x 0.37 | 3,786.95 |
| 10 TB から 30 TB (含む) | 20 x 1024 x 0.185 | 3,788.80 |
| 30 TB から 50 TB (含む) | 20 x 1024 x 0.074 | 1,515.52 |
| 50 TB を超える | 10 x 1024 x 0.037 | 378.88 |
| 合計 | 9,470.15 |
合計フローログ料金は 9,470.15 USD + Simple Log Service 料金です。
支払いの延滞
延滞料金ポリシー
システムは過去 24 時間の平均請求額を計算し、アカウント残高が次の 3 つの課金サイクルの推定請求額をカバーできるかどうかを確認します。アカウント残高が不足している場合、システムはショートメッセージと E メールで通知を送信します。
VPC フローログは、延滞料金発生後 15 日間はサービスを提供し続けます。
延滞料金発生後 15 日以内に未払い額が支払われない場合、VPC フローログインスタンスは一時停止状態になります。この状態では、フローログインスタンスに対して操作を実行できません。
更新ポリシー
延滞料金発生後 15 日以内に Alibaba Cloud アカウントにチャージすると、サービスは中断されません。
延滞料金発生後 30 日以内にアカウントにチャージすると、システムは自動的に未払い額を支払います。支払いが完了すると、VPC フローログインスタンスは自動的にサービスを再開します。
VPC フローログが一時停止されてから 15 日後に未払い額が支払われない場合、VPC フローログは自動的に削除されます。削除の 1 日前に E メール通知が送信されます。フローログが削除されると、その構成とデータは永久に失われ、回復できません。
制限事項
フローログを有効にした後、新しく作成された ENI の最初のトラフィックキャプチャが遅延する場合があります (通常は 10 分未満)。
フローログでは、マルチキャストトラフィックを収集できません。
サポートされているリージョン
| エリア | リージョン |
|---|---|
| アジア太平洋 - 中国 | 中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)、中国 (香港)、および中国 (福州 - ローカルリージョン、閉鎖中) |
| アジア太平洋 - その他 | 日本 (東京)、韓国 (ソウル)、シンガポール、マレーシア (クアラルンプール)、インドネシア (ジャカルタ)、フィリピン (マニラ)、およびタイ (バンコク) |
| ヨーロッパ & アメリカ | ドイツ (フランクフルト)、イギリス (ロンドン)、米国 (シリコンバレー)、および米国 (バージニア) |
| 中東 | UAE (ドバイ) およびサウジアラビア (リヤド - パートナー運営) |
クォータ
| クォータ名 | 説明 | デフォルト制限値 | 増加方法 |
|---|---|---|---|
| vpc_quota_flowlog_inst_nums_per_user | ユーザーが作成可能なフローログインスタンスの数です。 | 10 | クォータ管理 ページ、または クォータセンター にアクセスして、クォータの増量をリクエストしてください。 |
よくある質問
VPC フローログの保持期間
VPC フローログは Simple Log Service に配信され、そのデータ保持ポリシーの対象となります。
VPC フローログの作成時に [ログ分析レポートの有効化] を選択した場合、Logstore のデフォルトのデータ保存期間は 7 日です。
[ログ分析レポートを有効化] を選択しない場合、デフォルトの保持期間は300日間です。
Simple Log Service コンソールで、既存の Logstore のデータ保持期間の確認および変更ができます。

