[英]Cloudformation nested stack naming
我正在使用多次使用的子模板构建嵌套的 Cloudformation 堆栈。
我希望不同的资源(S3 存储桶、目标组等)使用 AWS::StackName 作为其名称的一部分。
!Sub ${AWS::StackName}-s3bucket
嵌套的堆栈名称通常包含一个 AWS 生成的大写字符串,例如:
foobar-vpcstack-YN4842UYLUFL
但是,某些资源只允许使用全小写的名称。 有没有办法确保嵌套的堆栈名称都是小写的?
或者有没有更好的方法来处理嵌套堆栈及其资源的命名?
我用下面的规则来设置BucketName
的S3存储在嵌套Cloudformation堆栈。 它确保存储桶名称全部小写且唯一。
"BucketName": {"Fn::Join": ["-", [
"foo", {"Fn::Select": ["2", {"Fn::Split": ["/", {"Ref": "AWS::StackId"}]}]}
]]}
foo
:是存储桶名称的前缀。
Fn::Select ...
:该函数获取 StackId 的最后一部分。
鉴于示例 StackId: arn:aws:cloudformation:ap-northeast-1:888888:stack/ParentStack-ChildStack-11MKHI1KPKH7O/1f29c920-82d1-11eb-85b7-0ebec92bca7d
上面的代码为 BucketName 返回以下字符串: foo-1f29c920-82d1-11eb-85b7-0ebec92bca7d
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.