【发布时间】:2020-03-31 10:20:30
【问题描述】:
我创建了一个 S3 存储桶,带有云层,让我们说存储桶名称是 S3Bucket, 如果我删除堆栈,我不希望此存储桶被删除,因此将删除策略添加到保留,
现在的问题是,如果再次运行堆栈,它会抱怨 S3Bucket 名称已存在。 如果一个桶已经存在,它不应该抱怨。 为此该怎么办。 请帮忙
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cloudformation
我创建了一个 S3 存储桶,带有云层,让我们说存储桶名称是 S3Bucket, 如果我删除堆栈,我不希望此存储桶被删除,因此将删除策略添加到保留,
现在的问题是,如果再次运行堆栈,它会抱怨 S3Bucket 名称已存在。 如果一个桶已经存在,它不应该抱怨。 为此该怎么办。 请帮忙
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-cloudformation
我过去曾遇到过这个问题,为了解决这个问题,我创建了一个通用的 AWS cloudformation 模板/堆栈,它将创建我们所有的静态公共资源(像引导模板一样处理它)。 通常我会在这个模板中添加 s3 存储桶的创建、VPC、网络、数据库创建等。
然后,您可以为您的其余资源创建其他 AWS cloudformation 模板/堆栈,这些资源通常是动态且不断变化的,例如 lambdas、ec2、api gateway 等。
【讨论】:
S3 名称是全球唯一的。 (例如,如果我的 AWS 账户 s3-test 中有 s3 存储桶,则不能有同名的存储桶)。 使用相同名称的唯一方法是删除存储桶,或重新键入您的云形成模板并使用新的云形成功能导入资源: https://aws.amazon.com/blogs/aws/new-import-existing-resources-into-a-cloudformation-stack/
【讨论】: