建立發佈到 Amazon S3 的流量日誌 - Amazon Virtual Private Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

建立發佈到 Amazon S3 的流量日誌

建立並設定 Amazon S3 儲存貯體後,您可以為網路界面、子網路和VPCs建立流程日誌。

必要條件

建立流程日誌的IAM主體必須使用具有以下許可的IAM角色,這些權限是將流程日誌發佈到目的地 Amazon S3 儲存貯體所需的。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:DeleteLogDelivery" ], "Resource": "*" } ] }
使用主控台建立流程日誌
  1. 執行以下任意一項:

  2. 選擇 Actions (動作)、Create flow log (建立流量日誌)。

  3. Filter (篩選條件) 中指定要記錄的 IP 流量資料類型。

    • 接受 — 僅記錄接受的流量。

    • 拒絕 — 僅記錄拒絕的流量。

    • 全部 – 記錄已接受和已拒絕的流量。

  4. 針對 Maximum aggregation interval (最大彙總時間間隔),選擇擷取流程並彙總至一個流程日誌記錄的最長期間。

  5. 針對目的地,選擇傳送至 Amazon S3 儲存貯體

  6. 對於 S3 儲存貯體 ARN,請指定現有 Amazon S3 儲存貯體的亞馬遜資源名稱 (ARN)。您可以選擇包含子資料夾。例如,若要指定儲存貯體名稱為my-logs的子資料夾my-bucket,請使用下列ARN指令:

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

    儲存貯體不可使用 AWSLogs 做為子資料夾名稱,因為這是保留項目。

    若您擁有儲存貯體,我們會自動建立資源政策並將它連接至儲存貯體。如需詳細資訊,請參閱流量日誌的 Amazon S3 儲存貯體許可

  7. 對於 Log record format (日誌記錄格式),請指定流量日誌記錄的格式。

    • 若要使用預設的流量日誌紀錄格式,請選擇 AWS default format ( 預設格式)

    • 若要建立自訂格式,請選擇 Custom format (自訂格式)。針對 Log format (日誌格式),請選擇要包含在流量日誌記錄中的欄位。

  8. 對於其他中繼資料,請選取是否要以日誌格式包含來自 Amazon 的ECS中繼資料。

  9. 對於 Log file format (日誌檔案格式),指定日誌檔案的格式。

    • Text – 純文字。此為預設格式。

    • Parquet – Apache Parquet 是一種單欄資料格式。與純文字的資料查詢相比,Parquet 格式的資料查詢速度快 10 到 100 倍。採用 Gzip 壓縮的 Parquet 格式的資料佔用的儲存空間比使用 Gzip 壓縮的純文字要少 20%。

  10. (選用) 若要使用 Hive 相容的 S3 字首,請選擇 Hive-compatible S3 prefix (Hive 相容的 S3 字首)、Enable (啟用)。

  11. (選用) 若要每小時分割流量日誌,請選擇 Every 1 hour (60 mins) (每 1 小時 (60 分鐘))。

  12. (選用) 若要新增標籤至流量日誌,請選擇 Add new tag (新增新標籤),並指定標籤金鑰和值。

  13. 選擇 Create flow log (建立流程日誌)。

使用命令列工具建立可發佈至 Amazon S3 的流量日誌

請使用以下其中一個命令:

下列 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}'