当前位置: 首页 > 知识库问答 >
问题:

AWS“Bucket已经存在”-如何将现有资源“迁移”到CloudFormation?

储毅
2023-03-14

我们已经手动和使用terraform创建了一些基础设施,包括一些s3 buckets。在未来,我希望使用纯CloudFormation将基础设施定义为代码。

所以我创建了一个引用现有存储桶的Cloud

AWSTemplateFormatVersion: '2010-09-09'
Resources:
  TheBucket:
    Type: AWS::S3::Bucket
    Properties:
      BucketName: my-existing-bucket-name

当我尝试应用它时,执行失败,出现CloudFormation堆栈事件:

The following resource(s) failed to update: [TheBucket].
12:33:47 UTC+0200   UPDATE_FAILED   AWS::S3::Bucket TheBucket
  my-existing-bucket-name already exists

我如何开始用CloudFormation管理现有的资源而不需要重新创建它们?还是设计上不可能?

共有3个答案

阙庆
2023-03-14

您应该能够使用“将资源导入堆栈”选项导入它:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-import-existing-stack.html

正如留档所解释的,您应该向堆栈中已经存在的资源添加一个"DeletionPolicy":"Retain"属性。

薛兴言
2023-03-14

云形成模板的资源部分定义了云形成应该创建哪些资源。请尝试通过将现有资源定义为参数来引用它们。

刘俊语
2023-03-14

您需要创建一个新存储桶并将数据从旧存储桶同步到新存储桶。我没有看到使用修改现有S3存储桶的方法。

 类似资料:
  • 我们正在从传统的单一应用程序迁移到微服务体系结构。我们使用CQRS和事件源模式以及消息代理(rabbitmq)作为通信机制。现在我们面临着一个挑战,即如何将旧数据库转换为新的体系结构,以及如何使用事件源进行这些转换?假设旧数据库没有事件,我们可以在不创建事件的情况下进行数据转换吗?在事件源模式中,旧数据库数据的起点是什么?

  • 我试图将现有的Spring项目迁移到Spring Boot。在项目中已经使用了Spring Data JPA/Hibernate和带有JDBC的简单DAO(使用了PostgreSQL)。在几个州,我发现所有我需要在Spring Boot迁移,是: 添加必要的依赖项 添加入口点@SpringBootApplication 利润,仅此而已 1) 依赖项: 对于DependencyManager部分,我

  • 我目前在AWS和ECS实例运行在Fargate。我想迁移到Fargate Spot,因为定价,但我注意到我的容器可能会有停机时间,如果我为每个实例安排了例如2个任务,我能确定不会有这样的停机时间吗?如果没有,有一种方法可以摆脱Fargate Spot的停机时间。谢谢

  • 有没有办法将CloudFormation之外创建的现有AWS资源合并到现有的CloudFormation堆栈中?我希望这样做,而不必在CloudFormation堆栈中添加新资源,并将现有资源的数据迁移到该新资源。我看到AWS现在有云形成堆栈的漂移检测。我想知道是否可以利用它将现有资源合并到一个堆栈中。

  • 我从获得了以下连接池配置。从Spring2开始,默认值为。如何将以下属性迁移到hikari挂件?我找不到他们:

  • 在构建Room数据库之前,我尝试保留旧的SqliteOpenHelper并使用它从1升级到3。这在第一次运行时有效,但随后的运行会使SqliteOpenHelper崩溃,因为它不能降级数据库(Room成功升级到v4,但open helper只知道v3。使用它来确保升级到v3的数据库会导致它尝试降级)

  • 我已从play framework 2.0迁移。8至2.1。0,一切看起来都很完美,但我发现以下错误: play.api.意外异常:意外异常[ObjectExistsExcture:缓存播放已经存在]在play.core.ReloadableApplication$$anonfun$get1$$anonfund$1.apply(Applicationrovider.scala:142)~[play

  • 我在雪花上做POC,探索这个产品。 我有一个问题:在SQL Server中,我们有400-500个存储过程,这些存储过程是从SSRS报告调用的。这些存储过程本质上很简单,如下所示: