

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

# 使用 Lightsail 存储桶和 CDN 发行版高效地提供媒体文件
<a name="amazon-lightsail-using-distributions-with-buckets"></a>

本教程介绍了将您的亚马逊 Lightsail 存储桶配置为 Lightsail 内容分发网络 (CDN) 分发的来源所需的步骤。它还描述了如何将您的 WordPress 网站配置为在存储桶中上传和存储媒体（例如图像和电影文件），以及如何从您的发行版中传送媒体。执行此操作的一个示例是使用 [WP Offload Media Lite 插件](https://deliciousbrains.com/wp-offload-media/)。下面的示意图对此配置进行说明。

![\[WP Offload Media Lite 插件工作流程。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-wordpress-bucket-cdn.png)


将网站媒体存储在 Lightsail 存储桶中可以减轻您的实例存储和提供这些文件的负担。缓存和提供来自 Lightsail 发行版的媒体可以加快向网站访问者交付这些文件的速度，还可以提高网站的整体性能。有关分配的更多信息，请参阅[内容分发网络分配](amazon-lightsail-content-delivery-network-distributions.md)。有关存储桶的更多信息，请参阅[对象存储](buckets-in-amazon-lightsail.md)。

**内容**
+ [步骤 1：完成先决条件](#cdn-bucket-prerequisites)
+ [步骤 2：修改存储桶权限](#cdn-bucket-modify-bucket-permissions)
+ [步骤 3：创建使用存储桶作为源的分配](#cdn-bucket-create-distribution)
+ [步骤 4：启用分配的自定义子域](#cdn-bucket-enable-custom-subdomain)
+ [第 5 步：在你的 WordPress 网站上安装 WP Offload Media Lite 插件](#cdn-bucket-install-wp-offload-media)
+ [第 6 步：测试你的 WordPress 网站与 Lightsail 存储桶和发行版之间的连接](#cdn-bucket-test-connection)

## 步骤 1：完成先决条件
<a name="cdn-bucket-prerequisites"></a>

满足以下先决条件（如果尚未满足）：
+ 在 Lightsail 中创建和配置 WordPress 实例，然后获取登录管理仪表板的密码。有关更多信息，请参阅[教程：在 Amazon Lightsai WordPress l 中启动和配置实例](amazon-lightsail-tutorial-launching-and-configuring-wordpress.md)。
+ 在 Lightsail 对象存储服务中创建存储桶。有关更多信息，请参阅在 Lights [ail 中创建存储桶。](amazon-lightsail-creating-buckets.md)

## 步骤 2：修改存储桶权限
<a name="cdn-bucket-modify-bucket-permissions"></a>

完成以下步骤以授予您的 WordPress 实例和 WP Offload Media Lite 插件访问存储桶的权限。存储桶的权限必须设置为**个别对象可设为公有（只读）**。您还必须将您的 WordPress 实例附加到您的存储桶。有关存储桶权限的更多信息，请参阅[存储桶权限](amazon-lightsail-understanding-bucket-permissions.md)。

1. 登录 [Lightsail 控制台](https://lightsail.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**存储**。

1. 选择您要用于 WordPress 网站的存储桶的名称。  
![\[Lightsail 水桶。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-name-storage-tab.png)

1. 在**存储桶管理**页面上选择**权限**选项卡。

1. 在页面的**存储桶访问权限**部分下面选择**更改权限**。  
![\[“更改权限”按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permissions.png)

1. 选择**个别对象可设为公有（只读）**。  
![\[个别对象可设为公有和只读选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permissions-options.png)

1. 选择**保存**。

1. 在显示的确认提示中选择**是，保存**。  
![\[“是，保存”按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-access-permissions-confirmation.png)

   稍等片刻，存储桶将被配置为允许个别对象访问。这样可以确保客户可以读取使用 Offload Media Lite 插件从您的 WordPress 网站上传到您的存储桶的对象。

1. 滚动到页面的**资源访问权限**部分，然后选择**附加实例**。  
![\[“附加实例”选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-resource-access.png)

1. 在出现的下拉列表中选择您的 WordPress 实例名称，然后选择**附加**。  
![\[“附加”选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-attach-resource-access.png)

   片刻之后，您的 WordPress 实例将连接到您的存储桶。这使您的 WordPress 实例能够管理您的存储桶及其对象。

## 步骤 3：创建使用存储桶作为源的分配
<a name="cdn-bucket-create-distribution"></a>

完成以下步骤创建 Lightsail 发行版并选择你的 Lightsail 存储桶作为来源。

1. 在 Lightsail 控制台的顶部导航菜单上选择 “**主页**”。

1. 在左侧导航窗格中，选择**联网**。

1. 选择**创建分配**。  
![\[Lightsail 控制台中的 “创建分发” 按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-create-distribution.png)

1. 在页面的**选择您的源**部分，选择您在其中创建了存储桶的 AWS 区域 。

   分配是全局资源。他们可以在任何存储桶中引用存储桶 AWS 区域，并在全球范围内分发其内容。  
![\[AWS 区域 选择您的起运地窗格中的选择器。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-choose-origin-region.png)

1. 选择存储桶作为源。  
![\[“选择您的源”窗格中的存储桶下拉列表。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-choose-origin.png)
**注意**  
存储桶的权限必须设置为**个别对象可设为公有（只读）**。只有公开的单个对象才会被缓存并由分配提供。当您选择存储桶作为分配的源时，用于指定源协议策略、缓存行为、默认行为以及目录和文件覆盖的选项将变为不可用，且无法编辑。对于存储桶，源协议策略默认为**仅 HTTP**，并且缓存行为默认为**缓存所有内容**。您可以在创建分配后更改分配的高级缓存设置。

1. 选择您的分配计划。

1. 为分配输入名称。  
![\[分配的名称输入字段。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-name-distribution.png)

   分配名称：
   + 在你的 Lightsail 账户 AWS 区域 中，每个账户中必须是唯一的。
   + 必须包含 2–255 个字符。
   + 必须以字母数字字符或数字作为开头和结尾。
   + 可以包括字母数字字符、数字、句点、连字符和下划线。

1. 选择**创建分配**。  
![\[“创建分配”按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-create-distribution-button.png)

   将在片刻后创建您的分配。当您的新分配达到 **Enabled (已启用)**状态时，便准备就绪可以提供和缓存存储桶中的对象。

## 步骤 4：启用分配的自定义子域
<a name="cdn-bucket-enable-custom-subdomain"></a>

创建分配时，配置的默认域类似于 `123abc.cloudfront.net`。配置 WP Offload Media Lite 插件时，可以指定默认域作为媒体文件的源。但是，我们强烈建议您为分配启用自定义域。您为分发启用的自定义域名应该是您在 WordPress网站中使用的域名的子域名。例如，如果您在 WordPress网站中`mycustomdomain.com`使用，则可以选择在分配中使用自定义域名`media.mycustomdomain.com`。在您的 WordPress网站和发行版之间使用相同的域名和子域名组合有助于提高网站的搜索引擎优化得分。

完成以下步骤为分配配置自定义域：

1. 为您的域名创建 Lightsail SSL/TLS 证书，以便将其用于您的发行版。Lightsail 发行版需要 HTTPS，因此您必须先为您的域名申请 SSL/TLS 证书，然后才能将其用于您的发行版。有关更多信息，请参阅[为您的发行版创建 SSL/TLS 证书](amazon-lightsail-create-a-distribution-certificate.md)。

1. 为您的分配启用自定义域，以便将域用于您的分配。启用自定义域名需要您指定为域名创建的 Lightsail SSL/TLS 证书。这会将您的域添加到分配中并启用 HTTPS。有关更多信息，请参阅[启用分配的自定义域](amazon-lightsail-enabling-distribution-custom-domains.md)。

1. 将记录添加到域的 DNS 添加别名记录后，将通过您的分配对访问域的用户进行路由。有关更多信息，请参阅[将域指向分配](amazon-lightsail-point-domain-to-distribution.md)。

## 第 5 步：在你的 WordPress 网站上安装 WP Offload Media Lite 插件
<a name="cdn-bucket-install-wp-offload-media"></a>

完成以下步骤，在您的 WordPress 网站上安装 WP Offload Media Lite 插件。此插件会自动将通过 WordPress “媒体上传器” 添加的图像、视频、文档和任何其他媒体复制到您的 Lightsail 存储桶中。也可以将其配置为通过 Lightsail 发行版提供存储桶中的媒体。有关更多信息，请参阅*WordPress 网站*中的 [WP Offload Media Lite](https://wordpress.org/plugins/amazon-s3-and-cloudfront/)。

1. 以管理员身份登录到您 WordPress 网站的控制面板。

   有关更多信息，请参阅[在 Amazon Lightsail 中获取 Bitnami 实例的应用程序用户名和密码](log-in-to-your-bitnami-application-running-on-amazon-lightsail.md)。

1. 在左侧导航菜单中暂停**插件**，然后选择**新增**。  
![\[在 WordPress 仪表板中添加新的插件菜单项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-plugin-add-new.png)

1. 搜索 **WP Offload Media Lite**。

1. 在搜索结果中，选择 **WP Offload Media** 插件旁边的**立即安装**。  
![\[WP 卸载媒体精简版插件适用于. WordPress\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-plugin-install-now.png)

1. 完成插件安装后，选择 **Activate (激活)**。  
![\[激活 WP Offload Media Lite 插件。 WordPress\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-plugin-activate.png)

1. 在左侧导航菜单中，选择 **Settings (设置)**，然后选择 **Offload Media**。  
![\[Wordpress 控制面板设置。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-settings-menu.png)

1. 在 **Offload Media Lite** 页面上，选择 **Amazon S3** 作为存储提供程序。  
![\[WP Offload Media 页面。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-storage-provider.png)

1. 选择**我的服务器位于亚马逊云科技上，我想使用 IAM 角色**。  
![\[WP Offload Media 页面。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-iam-roles.png)

1. 选择**下一步**。

1. 在显示的**您想要使用什么存储桶？**页面中选择**浏览现有存储桶**。  
![\[WP Offload Media 页面。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-browse-buckets.png)

1. 选择您创建的用于 WordPress实例的存储桶的名称。  
![\[WP Offload Media 页面。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-offload-media-existing-buckets.png)

1. 在显示的 **Offload Media Lite 设置**页面中，打开**强制执行 HTTPS** 和**从服务器中删除文件**。
   + 必须开启**强制 HTTPS** 设置，因为 Lightsail 存储桶默认使用 HTTPS 来提供媒体文件。如果您不开启此功能，则从您的 WordPress 网站上传到 Lightsail 存储桶的媒体文件将无法正确提供给您的网站访问者。

     “**从服务器移除文件**” 设置可确保上传到 Lightsail 存储桶的媒体不会也存储在实例的磁盘上。如果您不开启此功能，则上传到您的 Lightsail 存储桶的媒体文件也会存储在实例的本地存储中。 WordPress   
![\[WP Offload Media 页面。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-options.png)

1. 在页面的**传送**部分，选择 Amazon S3 标签旁边的**更改**。  
![\[“更改”选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-change-delivery.png)

1. 在 “**你想如何投放媒体？** 出现的页面，选择 **Amazon CloudFront**。  
![\[Amazon CloudFront 选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-amazon-cloudfront.png)

1. 选择**保存分发提供商**。

1. 在显示的 **Offload Media Lite 设置**页面中，打开**自定义域（别名记录）**。然后，在文本框中输入你的 Lightsail 发行版的域名。这可能是分配的默认域（例如，`123abc.cloudfront.net`），或者在启用了自定义域的情况下为分配的自定义域（例如，`media.mycustomdomain.com`）。  
![\[“开启自定义域（CNAME）”选项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-offload-media-custom-domain.png)

1. 选择**保存更改**。
**注意**  
之后若要返回 **Offload Media Lite 设置**页面，请在左侧导航菜单中暂停**设置**，然后在选择 **Offload Media**。

   您的 WordPress 网站现已配置为使用 Media Lite 插件。下次您通过上传媒体文件时 WordPress，该文件会自动上传到您的 Lightsail 存储桶，并由发行版提供。要测试配置，请继续执行本教程的下一部分。

## 第 6 步：测试你的 WordPress 网站与 Lightsail 存储桶和发行版之间的连接
<a name="cdn-bucket-test-connection"></a>

完成以下步骤将媒体文件上传到您的 WordPress 实例，并确认该文件已上传到您的 Lightsail 存储桶并由您的分配提供。

1. 在 WordPress仪表板左侧导航菜单中暂停在 “**媒体**” 上，然后选择 “**新增**”。  
![\[WordPress 控制面板中的 “添加新媒体文件” 菜单项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-media-add-new.png)

1. 在显示的**上传新媒体**页面上选择**选择文件**。  
![\[WordPress 控制面板中的 “选择文件” 按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-select-files.png)

1. 选择要从本地计算机上传的媒体文件，然后选择**打开**。  
![\[WordPress 仪表板上的 “打开” 按钮。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-open-file.png)

1. 文件完成上传后，在左侧导航菜单的**媒体**下方选择**库**。  
![\[WordPress 仪表板中的 “资源库” 菜单项。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-library.png)

1. 选择您最近上传的文件。  
![\[选择的文件。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-media-library.png)

1. 在文件的详细信息面板中，存储桶的名称会显示在**存储桶**字段中。分配的 URL 将显示在**文件 URL**字段中。  
![\[“附件详细信息”面板中的存储桶名称及其 URL。\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-cdn-bucket-wordpress-media-details.png)

1. 如果你前往 Lightsail 存储分区管理页面的 “**对象**” 选项卡，你应该会看到一个 **w** p-content 文件夹。此文件夹由 Offload Media Lite 插件创建，用于存储您上传的媒体文件。  
![\[存储桶中的 wp-content 文件夹\]](http://docs.aws.amazon.com/zh_cn/lightsail/latest/userguide/images/amazon-lightsail-bucket-objects-wp-content-folder.png)

## 管理存储桶和对象
<a name="connecting-to-distribution-managing-buckets-and-objects"></a>

以下是管理 Lightsail 对象存储桶的一般步骤：

1. 了解 Amazon Lightsail 对象存储服务中的对象和存储桶。有关更多信息，请参阅 [Amazon Lightsail 中的对象存储](buckets-in-amazon-lightsail.md)。

1. 了解您可以在 Amazon Lightsail 中为存储桶命名的名称。有关更多信息，请参阅 [Amazon Lightsail 中的存储桶命名规则](bucket-naming-rules-in-amazon-lightsail.md)。

1. 通过创建存储分区开始使用 Lightsail 对象存储服务。有关更多信息，请参阅[在 Amazon Lightsail 中创建存储桶](amazon-lightsail-creating-buckets.md)。

1. 了解存储桶的安全最佳实践以及您可以为存储桶配置的访问权限。您可以将存储桶中的所有对象设为公开或私有，也可以选择将单个对象设为公开。通过创建访问密钥、将实例附加到存储桶，以及向其他亚马逊云科技账户授予访问权限，还可以授予对存储桶的访问权限。有关更多信息，请参阅 Amazon Lights [ail 对象存储的安全最佳实践和了解 Amazon Lights](amazon-lightsail-bucket-security-best-practices.md) [ail 中的存储桶权限](amazon-lightsail-understanding-bucket-permissions.md)。

   了解存储桶访问权限后，请参阅以下指南，授予对存储桶的访问权限：
   + [在 Amazon Lightsail 中封锁存储桶的公开访问权限](amazon-lightsail-block-public-access-for-buckets.md)
   + [在 Amazon Lightsail 中配置存储桶访问权限](amazon-lightsail-configuring-bucket-permissions.md)
   + [在 Amazon Lightsail 中为存储段中的单个对象配置访问权限](amazon-lightsail-configuring-individual-object-access.md)
   + [在 Amazon Lightsail 中为存储桶创建访问密钥](amazon-lightsail-creating-bucket-access-keys.md)
   + [在 Amazon Lightsail 中为存储桶配置资源访问权限](amazon-lightsail-configuring-bucket-resource-access.md)
   + [在 Amazon Lightsail 中为存储桶配置跨账户访问权限](amazon-lightsail-configuring-bucket-cross-account-access.md)

1. 了解如何为存储桶启用访问日志记录，以及如何使用访问日志来审计存储桶的安全性。有关更多信息，请参阅以下指南。
   + [访问 Amazon Lightsail 对象存储服务中存储桶的日志记录](amazon-lightsail-bucket-access-logs.md)
   + [Amazon Lightsail 对象存储服务中存储桶的访问日志格式](amazon-lightsail-bucket-access-log-format.md)
   + [在 Amazon Lightsail 对象存储服务中为存储段启用访问日志记录](amazon-lightsail-enabling-bucket-access-logs.md)
   + [使用 Amazon Lightsail 中存储段的访问日志来识别请求](amazon-lightsail-using-bucket-access-logs.md)

1. 创建一个 IAM 策略，让用户能够在 Lightsail 中管理存储桶。有关更多信息，请参阅在 A [mazon Lightsail 中管理存储桶的 IAM 政策](amazon-lightsail-bucket-management-policies.md)。

1. 了解存储桶中对象的标记和识别方式。有关更多信息，请参阅[了解 Amazon Lightsail 中的对象密钥名称](understanding-bucket-object-key-names-in-amazon-lightsail.md)。

1. 了解如何上传文件和管理存储桶中的对象。有关更多信息，请参阅以下指南。
   + [将文件上传到 Amazon Lightsail 中的存储桶](amazon-lightsail-uploading-files-to-a-bucket.md)
   + [使用分段上传将文件上传到 Amazon Lightsail 中的存储桶](amazon-lightsail-uploading-files-to-a-bucket-using-multipart-upload.md)
   + [在 Amazon Lightsail 中查看存储桶中的对象](amazon-lightsail-viewing-objects-in-a-bucket.md)
   + [在 Amazon Lightsail 中复制或移动存储桶中的对象](amazon-lightsail-copying-moving-bucket-objects.md)
   + [从 Amazon Lightsail 中的存储桶下载对象](amazon-lightsail-downloading-bucket-objects.md)
   + [在 Amazon Lightsail 中筛选存储桶中的对象](amazon-lightsail-filtering-bucket-objects.md)
   + [在 Amazon Lightsail 中为存储桶中的对象添加标签](amazon-lightsail-tagging-bucket-objects.md)
   + [在 Amazon Lightsail 中删除存储桶中的对象](amazon-lightsail-deleting-bucket-objects.md)

1. 启用对象版本控制，可保留、检索和还原存储桶中存储的每个对象的各个版本。有关更多信息，请参阅 Amazon Lightsai [l 中的存储桶中启用和暂停对象版本控制](amazon-lightsail-managing-bucket-object-versioning.md)。

1. 启用对象版本控制后，您可以还原存储桶中对象的先前版本。有关更多信息，请参阅在 [Amazon Lightsail 中恢复存储桶中对象的先前版本](amazon-lightsail-restoring-bucket-object-versions.md)。

1. 监控存储桶的利用率。有关更多信息，请参阅[在 Amazon Lightsail 中查看存储桶的指标](amazon-lightsail-viewing-bucket-metrics.md)。

1. 配置存储桶指标的警报，以便在存储桶的利用率超过阈值时收到通知。有关更多信息，请参阅[在 Amazon Lightsail 中创建存储桶指标警报](amazon-lightsail-adding-bucket-metric-alarms.md)。

1. 如果存储桶的存储和网络传输不足，请更改存储桶的存储套餐。有关更多信息，请参阅[在 Amazon Lightsail 中更改存储桶的计划](amazon-lightsail-changing-bucket-plans.md)。

1. 了解如何将您的存储桶连接到其他资源。有关更多信息，请参阅以下教程。
   + [教程：将 WordPress 实例连接到 Amazon Lightsail 存储桶](amazon-lightsail-connecting-buckets-to-wordpress.md)
   + [教程：使用带有 Lightsail 内容分发网络分发的 Amazon Lightsail 存储桶](#amazon-lightsail-using-distributions-with-buckets)

1. 如果您不再使用存储桶，则将其删除。有关更多信息，请参阅[在 Amazon Lightsail 中删除存储桶](amazon-lightsail-deleting-buckets.md)。