

# 从 S3 通用存储桶将静态网站部署到 Amazon Amplify Hosting
<a name="website-hosting-amplify"></a>

我们建议您使用 [Amazon Amplify Hosting](https://docs.amazonaws.cn//amplify/latest/userguide/welcome.html.html) 来托管存储在 S3 上的静态网站内容。Amplify Hosting 是一项完全托管式服务，可让您轻松地在由 Amazon CloudFront 提供支持的全球可用内容分发网络（CDN）上部署您的网站，无需大量设置即可实现安全的静态网站托管。借助 Amazon Amplify Hosting，您可以选择对象在通用存储桶中的位置，将内容部署到托管式 CDN，并为网站生成一个公有 HTTPS URL 以供在任何地方访问。使用 Amplify Hosting 部署静态网站可为您提供以下优势和功能：
+ **部署到由 Amazon CloudFront 提供支持的 Amazon 内容分发网络（CDN）**：CloudFront 是一项 Web 服务，可以加快向用户分发静态和动态 Web 内容的速度。CloudFront 通过全球数据中心（称作边缘站点）网络传输内容。当用户请求您用 CloudFront 提供的内容时，请求被路由到提供最低延迟（时间延迟）的边缘站点，从而以最佳性能、更高的可靠性和可用性交付内容。有关更多信息，请参阅《Amazon CloudFront 开发人员指南》**中的 [CloudFront 如何交付内容](https://docs.amazonaws.cn/AmazonCloudFront/latest/DeveloperGuide/HowCloudFrontWorks.html)。
+ **HTTPS 支持**：在您的网站和用户的 Web 浏览器之间提供安全的通信和数据传输。
+ **自定义域**：轻松将您的网站连接到从域注册商（如 Amazon Route 53）购买的自定义 URL。
+ **自定义 SSL 证书**：设置自定义域时，可以使用 Amplify 为您提供的默认托管证书，也可以使用从您选择的第三方证书颁发机构购买的您自己的自定义证书。
+ **内置指标和 CloudWatch 监控**：监控您网站的流量、错误、数据传输和延迟。
+ **密码保护**：通过在 Amplify 控制台中设置用户名和密码要求，限制对您网站的访问权限。
+ **重定向和重写**：在 Amplify 控制台中创建重定向和重写规则，以使 Web 服务器能够将导航从一个 URL 重新路由到另一个 URL。

当您将 Amazon S3 通用存储桶中存储的应用程序部署到 Amplify Hosting 时，Amazon 费用将基于 Amplify 定价模型确定。有关更多信息，请参阅 [Amazon Amplify 定价](https://www.amazonaws.cn/amplify/pricing/)。

**重要**  
Amplify Hosting 并非在提供 Amazon S3 的所有 Amazon Web Services 区域 均可用。若要将静态网站部署到 Amplify Hosting，包含您的网站的 Amazon S3 通用存储桶必须位于可以使用 Amplify 的区域之中。有关可以使用 Amplify 的区域列表，请参阅《Amazon Web Services 一般参考》**中的 [Amplify 端点](https://docs.amazonaws.cn/general/latest/gr/amplify.html#amplify_region)。

可以从 Amazon S3 控制台、Amplify 控制台、Amazon CLI 或 Amazon SDK 开始部署过程。您只能从位于您自己账户中的通用存储桶部署到 Amplify。Amplify 不支持跨账户 存储桶访问。

请按照以下说明，从 Amazon S3 控制台开始，将静态网站从 Amazon S3 通用存储桶部署到 Amplify Hosting。

## 从 S3 控制台将静态网站部署到 Amplify
<a name="DeployAmplify"></a>

**从 Amazon S3 控制台部署静态网站**

1. 登录到 Amazon Web Services 管理控制台，然后通过以下网址打开 Amazon S3 控制台：[https://console.aws.amazon.com/s3/](https://console.amazonaws.cn/s3/)。

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

1. 在**存储桶**列表中，选择包含您要部署到 Amplify Hosting 的网站的通用存储桶。

1. 选择**属性**选项卡。

1. 在**静态网站托管**下，选择**创建 Amplify 应用程序**。在此步骤中，部署过程将移至 Amplify 控制台。

1. 在**使用 S3 部署**页面上，执行以下步骤。

   1. 对于**应用程序名称**，输入应用程序或网站的名称。

   1. 对于**分支名称**，输入应用程序后端的名称。

   1. 对于**要托管的对象的 S3 位置**，请输入通用存储桶的目录路径，或选择**浏览 S3** 来定位和选择位置。

1. 选择**保存并部署**。

**注意**  
 如果您为 Amplify 上托管的通用存储桶中的静态网站更新了任何对象，则必须将应用程序重新部署到 Amplify Hosting，这样才能使更改生效。Amplify Hosting 不会自动检测对存储桶的更改。有关更多信息，请参阅《Amazon Amplify Hosting 用户指南》**中的 [Updating a static website deployed to Amplify from an S3 bucket](https://docs.amazonaws.cn//amplify/latest/userguide/update-website-deployed-from-s3.html)。

要直接从 Amplify 控制台开始，请参阅《Amazon Amplify Hosting 用户指南》**中的 [Deploying a static website from S3 using the Amplify console](https://docs.amazonaws.cn//amplify/latest/userguide/deploy--from-amplify-console.html)。

要开始使用 Amazon SDK，请参阅《Amazon Amplify Hosting 用户指南》**中的 [Creating a bucket policy to deploy a static website from S3 using the Amazon SDKs](https://docs.amazonaws.cn//amplify/latest/userguide/deploy-with-sdks.html)。