【发布时间】:2021-12-18 21:08:29
【问题描述】:
我有一个创建 Elastic Beanstalk 应用程序的现有云形成堆栈:
Resources:
EBApplication:
Type: AWS::ElasticBeanstalk::Application
Properties:
ApplicationName: !Ref ApplicationName
Description: "AWS Elastic Beanstalk Account Balance application"
我想在另一个堆栈中使用这个资源,所以我在同一个 yaml 文件的末尾导出它:
Outputs:
EBApplicationName:
Value: !Ref EBApplication
Export:
Name: card-balance-EBApplicationName
现在在我的第二个云形成堆栈中,我打算使用弹性豆茎资源,我正在尝试:
Resources:
EBApplication:
Type: AWS::ElasticBeanstalk::Application
Properties:
ApplicationName: !ImportValue
'Fn::Sub': 'card-balance-EBApplicationName'
但我收到一条错误消息,指出应用程序名称已被使用,因为它正在尝试创建一个新的 Elastic Beanstalk 应用程序(具有相同的相同)而不是重用第一个应用程序。我做错了什么?
编辑 这里的这个问题也有类似的问题。本质上,我想要 2 个单独的堆栈 - 每个环境一个 - 但它们在同一个 EB 应用程序下。看来这个人实现了这一点,请参阅答案How to create multiple Elasticbeanstalk environments using a single cloudformation template下的评论
【问题讨论】:
-
你不能做你想做的事。您基本上想在两个堆栈之间共享资源。不支持此功能
-
你确定吗?您可以导入现有资源,为什么不这样做呢? docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…
-
从您的链接复制:要导入的资源不属于同一区域中的另一个堆栈。
-
看到这个答案,这就是我想做的,相同的 EB 应用程序,但每个环境的堆栈不同 stackoverflow.com/questions/54405115/…
标签: amazon-web-services amazon-elastic-beanstalk amazon-cloudformation