

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Lightsail 中启用存储桶访问日志记录
<a name="amazon-lightsail-enabling-bucket-access-logs"></a>

访问日志记录为向 Amazon Lightsail 对象存储服务中的存储桶发出的请求提供了详细记录。对于许多应用程序而言，访问日志很有用。例如，访问日志信息可能在安全和访问权限审核方面很有用。此外，它还可以帮助您了解您的客户群。

默认情况下，Lightsail 不会收集存储桶的访问日志。启用日志记录后，Lightsail 会将源存储桶的访问日志传送到您选择的目标存储桶。源存储桶和目标存储桶必须位于同一个存储桶中， AWS 区域 并且由同一个账户拥有。

访问日志记录包含有关对存储桶做出的请求的详细信息。这些信息可以包括请求类型、请求中指定的资源以及处理请求的时间和日期。在本指南中，我们将向您展示如何使用 Lightsail API、 AWS Command Line Interface AWS CLI() 或 AWS 为存储桶启用或禁用访问日志记录。 SDKs

有关日志记录基本知识的更多信息，请参阅[存储桶访问日志](amazon-lightsail-bucket-access-logs.md)。

**内容**
+ [访问日志记录的成本](#costs-for-access-logging)
+ [使用 AWS CLI启用访问日志记录](#enabling-access-logging)
+ [使用 AWS CLI禁用访问日志记录](#disabling-access-logging)

## 访问日志记录的成本
<a name="costs-for-access-logging"></a>

在存储桶上启用访问日志记录不收取额外费用。但是，系统提交给存储桶的日志文件将会占用存储空间。您可以随时删除日志文件。如果日志存储桶的数据传输在配置的月度限额内，我们不会评估日志文件传输的数据传输费。

您的目标存储桶不应启用访问日志记录。您可以让日志传输至您拥有的且与源存储桶位于同一区域中的任何存储桶，包括源存储桶本身。不过，为了更方便地管理日志，我们建议您将访问日志保存在不同的存储桶中。

## 使用启用访问日志记录 AWS CLI
<a name="enabling-access-logging"></a>

要为您的存储桶启用访问日志记录，我们建议您在每个 AWS 区域 存储桶中创建一个专用的日志存储桶。然后，将访问日志传输到该专用日志记录存储桶。

完成以下步骤，以使用 AWS CLI启用访问日志记录。

**注意**  
在继续执行此过程之前，必须为 Lightsail 安装 AWS CLI 并对其进行配置。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

1. 在本地计算机上打开命令提示符或终端窗口。

1. 输入以下命令以启用访问日志记录。

   ```
   aws lightsail update-bucket --bucket-name {{SourceBucketName}} --access-log-config "{\"enabled\": true, \"destination\": \"{{TargetBucketName}}\", \"prefix\": \"{{ObjectKeyNamePrefix/}}\"}"
   ```

   在该命令中，将以下示例文本替换为自己的文本：
   + {{SourceBucketName}}-将为其创建访问日志的源存储桶的名称。
   + {{TargetBucketName}}— 将保存访问日志的目标存储桶的名称。
   + {{ObjectKeyNamePrefix/}}-访问日志的可选对象密钥名称前缀。请注意，前缀必须以正斜杠 (`/`) 结尾。

   **示例**

   ```
   aws lightsail update-bucket --bucket-name {{amzn-s3-demo-bucket1}} --access-log-config "{\"enabled\": true, \"destination\": \"{{amzn-s3-demo-bucket2}}\", \"prefix\": \"{{logs/amzn-s3-demo-bucket1/}}\"}"
   ```

   在示例中，{{amzn-s3-demo-bucket1}}是要为其创建访问日志的源存储桶，{{amzn-s3-demo-bucket2}}是保存访问日志的目标存储桶，{{logs/amzn-s3-demo-bucket1/}}也是访问日志的对象密钥名称前缀。

   运行命令之后，您应看到类似于以下示例的结果。源存储桶已更新，访问日志应开始生成并存储在目标存储桶中。  
![存储桶的访问日志记录](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-enable-access-logging-for-a-bucket.png)

## 使用禁用访问日志记录 AWS CLI
<a name="disabling-access-logging"></a>

完成以下步骤，以使用 AWS CLI禁用访问日志记录。

**注意**  
在继续执行此过程之前，必须为 Lightsail 安装 AWS CLI 并对其进行配置。有关更多信息，请参阅[配置为与 Lightsail 配合使用](lightsail-how-to-set-up-and-configure-aws-cli.md)。 AWS CLI 

1. 在本地计算机上打开命令提示符或终端窗口。

1. 输入以下命令禁用访问日志记录。

   ```
   aws lightsail update-bucket --bucket-name {{SourceBucketName}} --access-log-config "{\"enabled\": false}"
   ```

   在命令中，替换{{SourceBucketName}}为要禁用访问日志记录的源存储桶的名称。

   **示例**

   ```
   aws lightsail update-bucket --bucket-name {{amzn-s3-demo-bucket}} --access-log-config "{\"enabled\": false}"
   ```

   运行命令之后，您应看到类似于以下示例的结果。  
![已为存储桶禁用访问日志记录](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-disable-access-logging-for-a-bucket.png)