

# フローログファイル
<a name="flow-logs-s3-path"></a>

 VPC フローログは、VPC で送受信される IP トラフィックに関するデータをログレコードに収集し、それらのレコードをログファイルに集約してから、5 分間隔でログファイルを Amazon S3 バケットに発行します。複数のファイルが公開され、各ログファイルに過去 5 分間に記録された IP トラフィックのフローログレコードの一部またはすべてが含まれている場合があります。

Amazon S3 では、フローログファイルの [**最終更新日時**] フィールドに、ファイルが Amazon S3 バケットにアップロードされた日時が表示されます。これは、ファイル名のタイムスタンプより後で、Amazon S3 バケットにファイルをアップロードするのにかかった時間によって異なります。

**ログファイル形式**

ログファイルに指定できる形式は次のとおりです。各ファイルは 1 つの Gzip ファイルに圧縮されます。
+ **[Text]** - プレーンテキスト。これがデフォルトの形式です。
+ **[Parquet]** - Apache Parquet は列指向データ形式です。Parquet 形式のデータに対するクエリは、プレーンテキストのデータに対するクエリに比べて 10～100 倍高速です。Gzip 圧縮を使用した Parquet 形式のデータは、Gzip 圧縮を使用したプレーンテキストよりもストレージスペースが 20% 少なくなります。

**注記**  
gzip 圧縮を使用した Parquet 形式のデータが集計期間あたり 100 KB 未満の場合、Parquet ファイルのメモリ要件により、Parquet 形式のデータの保存には gzip 圧縮によるプレーンテキストよりも多くの容量が必要になる可能性があります。

**ログファイルオプション**

オプションで、次のオプションを指定できます。
+ **[Hive-compatible S3 prefixes]** - Hive 互換ツールにパーティションをインポートする代わりに、Hive 互換プレフィックスを有効にします。クエリを実行する前に、[**MSCK REPAIR TABLE**] コマンドを使用します。
+ **[Hourly partitions]** - 大量のログがあり、通常は特定の時間にクエリをターゲットにしている場合、ログを時間単位で分割することで、より高速な結果が得られ、クエリコストを節約できます。

**ログファイル S3 バケット構造**  
ログファイルでは、フローログの ID、リージョン、作成日、および送信先オプションに基づくフォルダ構造を使用して、指定された Amazon S3 バケットに保存されます。

デフォルトでは、ファイルは次の場所に配信されます。

```
{{bucket-and-optional-prefix}}/AWSLogs/{{account_id}}/vpcflowlogs/{{region}}/{{year}}/{{month}}/{{day}}/
```

Hive 互換の S3 プレフィックスを有効にすると、ファイルは次の場所に配信されます。

```
{{bucket-and-optional-prefix}}/AWSLogs/aws-account-id={{account_id}}/aws-service=vpcflowlogs/aws-region={{region}}/year={{year}}/month={{month}}/day={{day}}/
```

時間単位のパーティションを有効にすると、ファイルは次の場所に配信されます。

```
{{bucket-and-optional-prefix}}/AWSLogs/{{account_id}}/vpcflowlogs/{{region}}/{{year}}/{{month}}/{{day}}/{{hour}}/
```

Hive 互換パーティションを有効にして 1 時間あたりのフローログをパーティション化すると、ファイルは次の場所に配信されます。

```
{{bucket-and-optional-prefix}}/AWSLogs/aws-account-id={{account_id}}/aws-service=vpcflowlogs/aws-region={{region}}/year={{year}}/month={{month}}/day={{day}}/hour={{hour}}/
```

**ログファイル名**  
ログファイルのファイル名は、フローログ ID、リージョン、および作成日時に基づきます。ファイル名は、次の形式です。

```
{{aws_account_id}}_vpcflowlogs_{{region}}_{{flow_log_id}}_{{YYYYMMDD}}T{{HHmm}}Z_{{hash}}.log.gz
```

以下は、us-east-1 リージョンで June 20, 2018 の 16:20 UTC に、リソースに対して AWS アカウント「123456789012」で作成されたフローログのログファイルの例です。ファイルには、終了時刻が 16:20:00 から 16:24:59 の間のフローログレコードが含まれます。

```
123456789012_vpcflowlogs_us-east-1_fl-1234abcd_20180620T1620Z_fe123456.log.gz
```