

# Amazon S3 に発行するフローログの作成
<a name="flow-logs-s3-create-flow-log"></a>

Amazon S3 バケットを作成して設定した後は、ネットワークインターフェイス、サブネット、または VPC のフローログを作成できます。

**前提条件**

フローログを作成する IAM プリンシパルには、フローログを宛先の Amazon S3 バケットに公開するために、次のアクセス許可が付与されている IAM ロールを使用している必要があります。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogDelivery",
        "logs:DeleteLogDelivery"
      ],
      "Resource": "*"
    }
  ]
}
```

------

**コンソールを使用してフローログを作成するには**

1. 次のいずれかを行います。
   + Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。ナビゲーションペインで、[**Network Interfaces**] を選択してください。ネットワークインターフェイスのチェックボックスをオンにします。
   + Amazon VPC コンソール ([https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/)) を開きます。ナビゲーションペインで、[**Your VPCs（お使いの VPC）**] を選択します。VPC のチェックボックスをオンにします。
   + Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。ナビゲーションペインで、[**サブネット**] を選択してください。サブネットのチェックボックスをオンにします。

1. **[アクション]**、**[フローログの作成]** を選択します。

1. [**フィルタ**] で、記録する IP トラフィックデータのタイプを指定します。
   + **[承諾]** - 承諾されたトラフィックのみをログに記録します。
   + **[却下]** - 却下されたトラフィックのみをログに記録します。
   + [**All**] - 承認されたトラフィックと拒否されたトラフィックをログに記録します。

1. [**Maximum aggregation interval**] で、フローがキャプチャされ、1 つのフローログレコードに集約される最大期間を選択します。

1. [**送信先**] で、[**Amazon S3 バケットへの送信**] を選択します。

1. **[S3 バケット ARN]** で、既存の Amazon S3 バケットの Amazon リソースネーム (ARN) を指定します。オプションで、サブフォルダを含めることができます。例えば、`my-logs` というバケットで `my-bucket` というサブフォルダを指定するには、次の ARN を使用します。

   `arn:aws:s3:::my-bucket/my-logs/`

   `AWSLogs` は予約語であるため、バケットでサブフォルダ名として使用することはできません。

   バケットを所有している場合は、リソースポリシーが自動的に作成され、バケットにアタッチされます。詳細については、「[フローログのための Amazon S3 バケットのアクセス許可](flow-logs-s3-permissions.md)」を参照してください。

1. **[ログレコード形式]** で、フローログレコードの形式を指定します。
   + デフォルトのフローログレコード形式を使用するには、**[AWS のデフォルト形式]** を選択します。
   + カスタム形式を作成するには、[**カスタム形式**] を選択します。**[ログの形式]** で、フローログレコードに含めるフィールドを選択します。

1. **[追加のメタデータ]**で、Amazon ECS からのメタデータをログ形式に含めるかどうかを選択します。

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

1. (オプション) Hive 互換の S3 プレフィックスを使用するには、[**Hive-compatible S3 prefix**]、[**有効化**] を選択します。

1. (オプション) 1 時間あたりのフローログを分割するには、[**Every 1 hour (60 mins)**] を選択します。

1. (オプション) フローログにタグを追加するには、[**新しいタグを追加**] を選択し、タグのキーと値を指定します。

1. **[フローログの作成]** を選択します。

**コマンドラインを使用して Amazon S3 に発行されるフローログを作成するには**

以下のいずれかのコマンドを使用します。
+ [create-flow-logs](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-flow-logs.html) (AWS CLI)
+ [New-EC2FlowLog](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2FlowLog.html) (AWS Tools for Windows PowerShell)

次の AWS CLI の例では、指定した VPC のすべてのトラフィックをキャプチャするフローログを作成し、そのフローログを指定した Amazon S3 バケットに配信します。`--log-format` パラメータにより、フローログレコードのカスタム形式が指定されます。

```
aws ec2 create-flow-logs --resource-type {{VPC}} --resource-ids {{vpc-00112233344556677}} --traffic-type ALL --log-destination-type {{s3}} --log-destination arn:aws:s3:::{{flow-log-bucket}}/{{custom-flow-logs}}/ --log-format '${version} ${vpc-id} ${subnet-id} ${instance-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${tcp-flags} ${type} ${pkt-srcaddr} ${pkt-dstaddr}'
```