AWS CloudFormation
用户指南 (API 版本 2010-05-15)

AWS::CloudFront::Distribution DistributionConfig

分配配置。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Aliases" : [ String, ... ], "CacheBehaviors" : [ CacheBehavior, ... ], "Comment" : String, "CustomErrorResponses" : [ CustomErrorResponse, ... ], "DefaultCacheBehavior" : DefaultCacheBehavior, "DefaultRootObject" : String, "Enabled" : Boolean, "HttpVersion" : String, "IPV6Enabled" : Boolean, "Logging" : Logging, "Origins" : [ Origin, ... ], "PriceClass" : String, "Restrictions" : Restrictions, "ViewerCertificate" : ViewerCertificate, "WebACLId" : String }

属性

Aliases

包含此分配的 CNAME(备用域名)(如果有)信息的复杂类型。

必需:否

类型:字符串列表

Update requires: No interruption

CacheBehaviors

包含零个或多个 CacheBehavior 元素的复杂类型。

必需:否

类型CacheBehavior 的列表

Update requires: No interruption

Comment

您希望包含的有关分配的任何注释。

如果不希望指定注释,请包含一个空的 Comment 元素。

要删除现有注释,请更新分配配置并包含一个空的 Comment 元素。

要添加或更改评论,请更新分配配置并指定新的评论。

必需:否

类型:字符串

Update requires: No interruption

CustomErrorResponses

一个用于控制以下项目的复杂类型:

  • CloudFront 在将响应返回查看器之前,是否使用自定义错误消息替换 4xx 和 5xx 范围中的 HTTP 状态代码。

  • CloudFront 缓存 4xx 和 5xx 范围中的 HTTP 状态代码的时长。

有关自定义错误页面的更多信息,请参阅 Amazon CloudFront 开发人员指南 中的自定义错误响应

必需:否

类型CustomErrorResponse 的列表

Update requires: No interruption

DefaultCacheBehavior

一个复杂类型,描述以下情况下的默认缓存行为:未指定 CacheBehavior 元素,或者文件未与 CacheBehavior 元素中的任何 PathPattern 值匹配。您必须创建一个且仅创建一个默认缓存行为。

必需:否

类型DefaultCacheBehavior

Update requires: No interruption

DefaultRootObject

当查看器请求分配的根 URL (http://www.example.com) 而不是分配中的对象 (http://www.example.com/product-description.html) 时,您希望 CloudFront 从您的源(例如,index.html)中请求的对象。指定一个默认根对象,以避免公开分配的内容。

仅指定对象名称,例如 index.html。不要在对象名称前添加 /

如果不希望在创建分配时指定默认根对象,请包含一个空的 DefaultRootObject 元素。

要从现有分配中删除默认根对象,请更新分配配置,并包含一个空的 DefaultRootObject 元素。

要替换默认根对象,请更新分配配置并指定新对象。

有关默认根对象的更多信息,请参阅 Amazon CloudFront 开发人员指南 中的创建默认根对象

必需:否

类型:字符串

Update requires: No interruption

Enabled

您可以从该字段启用或禁用所选的分配。

必需:是

类型:布尔值

Update requires: No interruption

HttpVersion

(可选)指定您希望查看器用来与 CloudFront 进行通信的最高 HTTP 版本。新 Web 分配的默认值为 http2。不支持 HTTP/2 的查看器将自动使用早期 HTTP 版本。

要使查看器和 CloudFront 使用 HTTP/2,查看器必须支持 TLS 1.2 或更高版本,并且必须支持服务器名称标识 (SNI)。

一般情况下,将 CloudFront 配置为使用 HTTP/2 与查看器进行通信可减少延迟。您可以针对 HTTP/2 进行优化以提高性能。有关更多信息,请在 Internet 上搜索“http/2 optimization”。

必需:否

类型:字符串

允许的值http1.1 | http2

Update requires: No interruption

IPV6Enabled

如果您希望 CloudFront 使用您的分配的 IPv6 地址响应 IPv6 DNS 请求,请指定 true。如果指定 false,则 CloudFront 使用 DNS 响应代码 NOERROR 响应 IPv6 DNS 请求,而不提供 IP 地址。这样,查看器就可以提交第二个请求以查询您的分配的 IPv4 地址。

通常,如果您有 IPv6 网络上的用户需要访问您的内容,则应启用 IPv6。不过,如果您使用签名 URL 或签名的 Cookie 来限制对您的内容的访问,并且您使用自定义策略(该策略包含 IpAddress 参数以限制可访问您的内容的 IP 地址),请不要启用 IPv6。如果您希望按 IP 地址限制对某些内容的访问,而不限制对其他内容的访问(或限制访问,但不按 IP 地址实施限制),则您可创建两个分配。有关更多信息,请参阅 Amazon CloudFront 开发人员指南 中的使用自定义策略创建签名 URL

如果您使用 Amazon Route 53 别名资源记录集将流量路由到您的 CloudFront 分配,在满足以下两个条件时,您需要创建另一个别名资源记录集:

  • 您为分配启用 IPv6

  • 您在对象的 URL 中使用备用域名

有关更多信息,请参阅 Amazon Route 53 开发人员指南 中的使用域名将流量路由到 Amazon CloudFront Web 分配

如果您已使用 Amazon Route 53 或其他 DNS 服务创建 CNAME 资源记录集,则无需进行任何更改。CNAME 记录会将流量路由到您的分配,无论查看器请求的 IP 地址格式如何。

必需:否

类型:布尔值

Update requires: No interruption

Logging

控制是否写入分配的访问日志的复杂类型。

有关日志记录的更多信息,请参阅 Amazon CloudFront 开发人员指南 中的访问日志

必需:否

类型Logging

Update requires: No interruption

Origins

包含此分配的源信息的复杂类型。

必需:否

类型Origin 的列表

Update requires: No interruption

PriceClass

与您想为 CloudFront 服务支付的最高价对应的价格级别。如果您指定 PriceClass_All,则 CloudFront 将从所有 CloudFront 边缘站点响应对象的请求。

如果您指定 PriceClass_All 之外的价格级别,则 CloudFront 将从您的价格级别中的边缘站点中具有最低延迟的 CloudFront 边缘站点为您的对象提供服务。从您指定的价格级别排除的区域内或附近的查看器可能遇到响应缓慢的问题。

有关价格级别的更多信息,请参阅 Amazon CloudFront 开发人员指南 中的选择 CloudFront 分配的价格级别。有关 CloudFront 定价的信息,包括如何将价格级别(例如,价格级别 100)映射到 CloudFront 区域,请参阅 Amazon CloudFront 定价。有关价格级别信息,请向下滚动以查看页面底部的表。

必需:否

类型:字符串

允许的值PriceClass_100 | PriceClass_200 | PriceClass_All

Update requires: No interruption

Restrictions

一个复杂类型,用于标识您希望如何限制内容分配。

必需:否

类型Restrictions

Update requires: No interruption

ViewerCertificate

一个复杂类型,用于指定您希望查看器使用 HTTP 还是 HTTPS 来请求您的对象、是否使用带有 HTTPS 的备用域名,如果是,那么您使用的是 AWS Certificate Manager (ACM) 还是第三方证书颁发机构。

必需:否

类型ViewerCertificate

Update requires: No interruption

WebACLId

指定要与此分配关联的 AWS WAF Web ACL 的唯一标识符(如果有)。

AWS WAF 是一种 Web 应用程序防火墙,可让您监视转发到 CloudFront 的 HTTP 和 HTTPS 请求,并控制对您的内容的访问。根据指定的条件(如请求源自的 IP 地址或查询字符串的值),CloudFront 会使用所请求的内容或使用 HTTP 状态代码 403(禁止)来响应请求。还可以将 CloudFront 配置为在请求被阻止时返回自定义错误页面。有关 AWS WAF 的更多信息,请参阅 AWS WAF 开发人员指南

必需:否

类型:字符串

Update requires: No interruption

另请参阅

本页内容: