新用户免费试用云服务器等 40+ 云产品,最长可免费试用 12 个月

 ✕

使用中国区 Amazon CloudFront 进行网络加速

前言

本文适合使用中国区亚马逊云服务,并使用中国区 CloudFront 对网站、视频等进行加速的用户。教程会以一个动静态分离的网站为例,其中静态资源以 S3 为源和动态 API 使用自定义源,指导如何配置全站加速的 CloudFront。如果您的用户和亚马逊云科技账户为海外区域,请参考这一篇进行配置。

CDN,即内容分发网络,通过使用大量更靠近终端用户的边缘节点,提高网站的访问速度和用户体验。使用 CDN 可以减少网站的加载时间,降低跳出率,增加流量和收益;同时还可以减轻源服务器的负载,提高网站的稳定性和安全性,并保证网站的可用性和可靠性。Amazon CloudFront 是一种快速的内容分发网络 (CDN) 服务,可以在开发人员友好环境中以低延迟和高传输速度向全球客户安全分发数据、视频、应用程序和 API。同时可以与 Amazon S3、Elastic Load Balancing 或 Amazon EC2 等服务无缝协作。

关于本教程
预计部署时间 快速上手教程 20 分钟
费用 免费套餐
受众 运维工程师、个人开发者
级别 初级
相关产品 Amazon CloudFront, Amazon S3, Amazon EC2, Amazon Route53
相关行业 通用
上次更新日期 2023 年 6 月
本次实验架构如下图所示:
实验效果如下:
使用 CloudFront 加速前:
使用 CloudFront 加速后:

准备工作

进入开发环境

1、 准备您的中国区亚马逊云科技账号

点击右侧按钮“登陆控制台”进入开发环境,如果您还没有账户,请先注册账户。

中国区域业务(需企业营业执照认证),请注册“中国区账户”。

2、 因国内政策要求,未备案域名无法提供网页服务,请准备一个已备案的域名,并准备好域名 ssl 证书

a) 若您的域名未备案,请参考此做 ICP 备案

3、本教程不对创建源站进行介绍,默认您已创建源站或能使用 Amazon S3、Elastic Load Balancing 等创建源站。

教程说明

本教程以一个动静分离的源站为例,静态资源存储于 S3(Amazon S3 是一种对象存储服务,可以存储网站静态资源,CloudFront 可以使用 Amazon S3 存储桶作为源为您分发几乎任何类型的文件),动态资源来自于 ALB 后端的 EC2。

教程将分为 3 个步骤:

首先,您将创建 Amazon CloudFront 分配,添加自定义源站为默认回源地址;

其次,您将添加 S3 为静态内容回源源站;

最后,您将创建域名解析,使得您可以使用您的域名通过 CloudFront 进行加速访问。

首先简单介绍下 CloudFront 的常见术语:

  • Distribution:分配,是 CloudFront 的基本单元,每个分配有唯一的 ID 以及CloudFront 为其分配的域名(类似 abcdefg13456789.cloudfront.net)。
  • Origin:源站,顾名思义,是需要被加速的站点,可以是 S3 存储桶,可以是 ELB/EC2,可以是 Elemental MediaStore/MediaPackage,或者是用户自定义的站点(如第三方 IDC 中的 HTTP Web 服务器)。一个分配中可以有多个源站。
  • Behaviors:行为,CloudFront 通过路径匹配和优先级决定执行哪一个缓存行为,一个分配中可以有多个行为,并且每个行为对应一个源站。在行为中可以设置缓存 TTL 时间,允许的 HTTP 行为(GET,PUT,POST 等)等等。

本节将涉及如下内容:

  • 创建一个分配;
  • 该分配有两个源站,其中一个是创建时添加的动态资源,源站使用自定义域名,该域名已指向 Elastic Load Balancing,主要提供 API 服务作为动态内容,另一个是后添加的静态资源,源站为 S3 存储桶;
  • 两个行为,一个是默认行为对应回源自定义域,一个是新加的行为并对应源站 S3 存储桶;
  • 使用 Elastic Load Balancing 创建自定义域,以及使用自定义域名解析到 Elastic Load Balancing、S3 源站创建等过程不做介绍。

第一步:创建 CloudFront 分配与默认源

1.7 上传完证书后,点击“create distribution”即可。

1.8 如您的自定义源是负载均衡器或者 EC2,请添加安全组以允许 CloudFront 访问。为保护您的源站,建议流量仅从 CloudFront 回源。以下为源站添加安全组允许 CloudFront 回源的步骤。

第二步:创建 S3 静态资源分配

第三步:设置域名解析

在中国区账号,您不能使用默认 CloudFront 域*.cloudfront.cn 来提供内容。您必须向 CloudFront 分配添加备用域名(也称为别名记录),然后在内容 URL 中使用该域名,因此您需要将您的备用域名指向 CloudFront 域。此步骤主要将您的访问域名指 CloudFront。您的域名为第一步中添加 CloudFront 访问域名,以您的DNS服务提供商为 Route53 示例。

至此,您已解析您的域名到 CloudFront,您将可以通过您的域名访问到服务,并已经过 CloudFront 进行加速。

小结

在本教程中,您使用 CloudFront 创建了一个网站静态内容和动态内容的加速。静态内容来自于 S3,动态内容来自于您的自定义源站。并为不同的源站设置了不同的缓存行为。然后您使用域名解析,指向 CloudFront 提供的 CNAME 域名,最终由您的自定义域名向用户提供访问。

参考文档

关闭
1010 0766
由光环新网运营的
北京区域
1010 0966
由西云数据运营的
宁夏区域
关闭
由光环新网运营的
北京区域
由西云数据运营的
宁夏区域