Amazon web services 如何通过cloudformation向现有的cloudfront发行版添加新的来源?

Amazon web services 如何通过cloudformation向现有的cloudfront发行版添加新的来源?,amazon-web-services,amazon-cloudformation,amazon-cloudfront,Amazon Web Services,Amazon Cloudformation,Amazon Cloudfront,我正在尝试向已经存在的Cloudfront Distribution中添加一个源,该Distribution是在Cloudformation之外创建的 查看中的AWS::CloudFront::DistributionOrgin块,我找不到任何可以指定已存在的CloudFront分发Id/ARN以将我的源添加到其中的属性 AWS::CloudFront::DistributionOrigin { "CustomOriginConfig" : CustomOriginConfig, "Do

我正在尝试向已经存在的Cloudfront Distribution中添加一个源,该Distribution是在Cloudformation之外创建的

查看中的AWS::CloudFront::DistributionOrgin块,我找不到任何可以指定已存在的CloudFront分发Id/ARN以将我的源添加到其中的属性

AWS::CloudFront::DistributionOrigin
{
  "CustomOriginConfig" : CustomOriginConfig,
  "DomainName" : String,
  "Id" : String, (this is the Origin Id)
  "OriginCustomHeaders" : [ OriginCustomHeader, ... ],
  "OriginPath" : String,
  "S3OriginConfig" : S3OriginConfig
}

控制台让我可以轻松地将一个源代码添加到一个已经存在的发行版中,我觉得通过Cloudformation也可以做到这一点。有没有一种方法可以通过Cloudformation用新的来源更新我现有的Cloudfront发行版?

答案是:没有办法。正如您在文档中所看到的—分发源是其中的一部分—它不是独立的资源。

答案是:没有办法。正如您在文档中所看到的—分发源是其中的一部分—它不是独立的资源。

因此,我似乎需要通过cloudformation重新创建cloudfront分发,然后在每次需要添加时更新源组数组?这种方法可能存在的一个问题是,我有多个堆栈,它们需要引用相同的cloudfront发行版,并为每个堆栈添加一个源代码,我的朋友也有这个问题。我有一个后端构建脚本和一个前端构建脚本。我需要将API网关源和缓存行为添加到我现有的发行版中。我想知道是否有可能通过AWS SAM.@Sigex嘿,现在我找到了一种将现有ID添加到CloudFormation模板的方法。您可以将其添加为输入参数,并在更新CF模板时传递此id。@Yupik,您是否有CI/CD的代码管道和代码生成。我正在尝试将基础结构作为前端和后端的代码,这两个版本都使用相同的Cloudfront。@在本例中,Sigex-不。我有几个嵌套堆栈,其中已经声明了前端和后端-这样,您就可以轻松访问一个Cloudfront分发版,因此我似乎需要通过cloudformation,然后在每次需要添加时更新原始组数组?这种方法可能存在的一个问题是,我有多个堆栈,它们需要引用相同的cloudfront发行版,并为每个堆栈添加一个源代码,我的朋友也有这个问题。我有一个后端构建脚本和一个前端构建脚本。我需要将API网关源和缓存行为添加到我现有的发行版中。我想知道是否有可能通过AWS SAM.@Sigex嘿,现在我找到了一种将现有ID添加到CloudFormation模板的方法。您可以将其添加为输入参数,并在更新CF模板时传递此id。@Yupik,您是否有CI/CD的代码管道和代码生成。我正在尝试将基础结构作为前端和后端的代码,这两个版本都使用相同的Cloudfront。@在本例中为Sigex-否。我有几个嵌套堆栈,其中已经声明了前端和后端-通过这些,您可以轻松访问一个Cloudfront发行版