啟用 Network Load Balancer 的存取日誌 - Elastic Load Balancing

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

啟用 Network Load Balancer 的存取日誌

當您對負載平衡器啟用存取記錄時,您必須指定 S3 儲存貯體的名稱,供負載平衡器存放日誌。儲存貯體必須具有儲存貯體政策,能授予 Elastic Load Balancing 寫入儲存貯體的許可。

儲存貯體需求

您可以使用現有儲存貯體,也可以建立專門用於存取日誌的儲存貯體。儲存貯體必須符合下列需求。

要求
  • 儲存貯體與負載平衡器必須位於相同的 Region (區域)。儲存貯體和負載平衡器可以由不同的帳戶擁有。

  • 您指定的前綴不得包含 AWSLogs。我們在您指定的儲存貯體名稱和前綴之後,增加了以 AWSLogs 開頭的檔案名稱部分。

  • 儲存貯體必須有儲存貯體政策,以授權將存取日誌寫入您的儲存貯體。儲存貯體政策是以存取政策語言編寫的一組 JSON 陳述式,用於定義儲存貯體的存取許可。

儲存貯體政策的範例

政策範例如下。對於Resource元素,請取代 amzn-s3-demo-destination-bucket 存取日誌的 S3 儲存貯體名稱。請務必省略 Prefix/ 如果您不使用儲存貯體字首。對於 aws:SourceAccount,使用負載平衡器指定 AWS 帳戶 ID。對於 aws:SourceArn,請取代 region 以及 012345678912 負載平衡器的區域和帳戶 ID。

{ "Version": "2012-10-17", "Id": "AWSLogDeliveryWrite", "Statement": [ { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket", "Condition": { "StringEquals": { "aws:SourceAccount": ["012345678912"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:012345678912:*"] } } }, { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket/Prefix/AWSLogs/account-ID/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceAccount": ["012345678912"] }, "ArnLike": { "aws:SourceArn": ["arn:aws:logs:region:012345678912:*"] } } } ] }
加密

您可利用下列其中一種方式為 Amazon S3 存取日誌儲存貯體啟用伺服器端加密:

  • Amazon S3-Managed金鑰 (SSE-S3)

  • AWS KMS 儲存在 AWS Key Management Service (SSE-KMS) † 中的金鑰

† 使用 Network Load Balancer 存取日誌時,無法使用 AWS 受管金鑰,您必須使用客戶受管金鑰。

如需詳細資訊,請參閱 Amazon S3 使用者指南中的指定 Amazon S3 加密 (SSE-S3) 和使用 AWS KMS (SSE-KMS) 指定伺服器端加密Amazon S3

金鑰政策必須允許服務加密及解密日誌。政策範例如下。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" } ] }

設定存取日誌

使用下列程序來設定存取日誌,以擷取請求資訊並將日誌檔案交付至 S3 儲存貯體。

使用主控台啟用存取記錄
  1. 在 EC2 開啟 Amazon https://console.aws.amazon.com/ec2/ 主控台。

  2. 在導覽窗格中,選擇 Load Balancers (負載平衡器)

  3. 選取您負載平衡器的名稱來開啟其詳細資訊頁面。

  4. 屬性索引標籤中,選擇編輯

  5. Edit load balancer attributes (編輯負載平衡器屬性) 頁面上,執行下列操作:

    1. 針對監控,請開啟存取日誌

    2. 選擇瀏覽 S3,然後選取要使用的儲存貯體。或者,輸入 S3 儲存貯體的位置,包括任何字首。

    3. 選擇 Save changes (儲存變更)。

使用 啟用存取記錄 AWS CLI

使用 modify-load-balancer-attributes 命令。