使用AWS CloudFormation进行多区域设置

时间:2019-07-11 05:44:52

标签: amazon-cloudformation

用于管理在一个以上区域中拥有资源的工作负载的AWS CloudFormation最佳实践是什么?

假设我有以下要求:

  1. 我需要触发Lambda @ Edge函数的CloudFront发行版。

  2. 我的工作负载中还需要其他资源,这些资源位于eu-west-1(这是离我的用户最近的区域)中。

  3. 我需要使用CodePipeline来部署资源。

我的第一种方法是创建一个包含所有内容的SAM模板,并制作一个将其部署到eu-west-1的CodePipeline。但是,这将失败,因为Lambda函数需要驻留在us-east-1 due to a CloudFront/Lambda limitation中。因此,我被迫将SAM模板一分为二:一个用于us-east-1中的Lambda函数,另一个用于eu-west-1中的其余函数。这带来了新的挑战,例如:

  • 我无法在SAM / CloudFormation中跨区域引用资源。

  • 我的CodePipeline变得复杂,因为它需要创建/更新两个CloudFormation堆栈。

我不认为StackSet是解决方案,因为它会将相同的堆栈部署到多个区域。 使用AWS API的CloudFormation中的自定义资源可以使用,但无法达到CloudFormation的目的。

您如何管理此类要求?

0 个答案:

没有答案