为 CloudFront 分配启用 IPv6
Amazon CloudFront 同时支持 IPv4 和 IPv6(从客户端到 AWS 边缘站点)。CloudFront 还支持指向源的 IPv6 连接和双堆栈(IPv4 和 IPv6)连接。这有助于您实现端到端 IPv6 传输。
IPv6 是下一代互联网协议,旨在取代 IPv4。IPv4 使用 32 位地址(例如 192.0.2.44),而 IPv6 使用 128 位地址(例如 2001:0db8:85a3::8a2e:0370:7334)。IPv6 提供扩展的地址空间,可容纳更多的互联网连接设备。
IPv6 查看器请求
通常,如果您有 IPv6 网络上的用户需要访问您的内容,则应启用 IPv6。但是,如果以下两个条件均成立,请勿启用 IPv6:
-
您使用签名 URL 或签名 Cookie 来限制对内容的访问。
-
您使用包含
IpAddress参数的自定义策略来限制哪些 IP 地址可以访问您的内容。
如果您希望按 IP 地址限制对某些内容的访问,而不限制对其他内容的访问 (或限制访问,但不按 IP 地址实施限制),则您可创建两个分配。有关使用自定义策略创建签名 URL 的信息,请参阅使用自定义策略创建签名 URL。有关使用自定义策略创建签名 Cookie 的信息,请参阅使用自定义策略设置签名 Cookie。
如果您使用 Route 53 别名资源记录集将流量路由到您的 CloudFront 分配,在满足以下两个条件时,您需要创建另一个别名资源记录集:
-
您为分发启用 IPv6
-
您在对象的 URL 中使用备用域名
有关更多信息,请参阅《Amazon Route 53 开发人员指南》中的使用域名将流量路由到 Amazon CloudFront 分配。
如果您已使用 Route 53 或其他 DNS 服务创建 CNAME 资源记录集,则无需进行任何更改。CNAME 记录会将流量路由到您的分配,无论查看器请求的 IP 地址格式如何。
如果您启用 IPv6 和 CloudFront 访问日志,c-ip 列将包含 IPv4 和 IPv6 格式的值。有关更多信息,请参阅 日志文件字段。
注意
为了维护客户的高可用性,CloudFront 将使用 IPv4 响应查看器请求(如果我们的数据表明 IPv4 将提供更佳的用户体验)。要查明 CloudFront 通过 IPv6 提供的请求的百分比,请为分配启用 CloudFront 日志记录并解析 c-ip 列,该列包含已发出请求的查看器的 IP 地址。此百分比将随时间增大,但仍只占据流量的一小部分,因为 IPv6 并未在全球范围内得到所有查看器网络的支持。一些查看器网络具有很好的 IPv6 支持,但其他查看器网络根本不支持 IPv6。(查看器网络类似于您的家庭 Internet 或无线运营商。)
有关我们对 IPv6 的支持的更多信息,请参阅 CloudFront 常见问题
IPv6 源请求
当您使用自定义源(不包括 Amazon S3 和 VPC 源)时,您可以自定义分配的源设置,以选择 CloudFront 如何使用 IPv4 或 IPv6 地址连接到源。对于自定义源(不包括 Amazon S3 和 VPC 源),您具有以下连接选项:
-
仅限 IPv4(默认):这是 CloudFront 用于通过 IPv4 连接到源的默认配置。
-
仅限 IPv6:需要源域才能解析为 IPv6 地址。CloudFront 将仅使用 IPv6 地址进行源连接。
-
双堆栈:启用通过 IPv4 和 IPv6 进行连接。CloudFront 会自动选择 IPv4 或 IPv6 源连接来确定性能和可用性的优先级,这样您就可以将 CloudFront 用作 Web 应用程序的 IPv6 和 IPv4 双栈互联网网关。
选择符合源的网络配置和连接要求的选项。有关更多信息,请参阅 Designing DNS for IPv6 和 IPv6 security and monitoring considerations。