CloudFront 不能使用 S3 网站来源,只能使用 REST 来源 Cloudformation

CloudFront can't use S3 Website origin, only REST origin Cloudformation

我正在尝试自动启动具有 S3 来源的 CloudFront 分发。我想将原点设置为 S3 网站 URL,例如mysite.com.s3-website-us-east-1.amazonaws.com。所以,我认为我的 Cloudformation 模板应该如下所示:

{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
    "myDistribution" : {
        "Type" : "AWS::CloudFront::Distribution",
        "Properties" : {
            "DistributionConfig" : {
                "Origins" : [ {
                    "DomainName" : "mysite.com.s3-website-us-east-1.amazonaws.com",
                    "Id" : "myS3Origin",
...

但是会产生以下错误:

Origin DomainName 参数未引用有效的 S3 存储桶。

这是真的,所以我可以指定 S3 存储桶。但我希望我的来源是网站端点。我的非自动解决方法是使用 S3 REST 端点进行部署并在 UI 之后更新源。

{
"AWSTemplateFormatVersion" : "2010-09-09",
"Resources" : {
    "myDistribution" : {
        "Type" : "AWS::CloudFront::Distribution",
        "Properties" : {
            "DistributionConfig" : {
                "Origins" : [ {
                    "DomainName" : "mysite.com.s3.amazonaws.com",
                    "Id" : "myS3Origin",
...

根据文档:

Amazon 简单存储服务 (S3) 存储桶或 HTTP 服务器的 DNS 名称,您希望 CloudFront 从中获取此源的对象。

我找不到有关网站端点来源的任何信息。 http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudfront-origin.html#cfn-cloudfront-origin-originpath

我认为您没有包含配置的所有相关部分。

这里的问题是作为 S3 网站托管端点的来源不是 S3 来源 -- 它是 自定义来源

存储桶的 REST 端点以外的任何内容始终是自定义来源。