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

将现有AWS资源整合到云信息堆栈中

云德辉
2023-03-14

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

共有3个答案

司马耘豪
2023-03-14

可以通过参数将现有资源信息传递给堆栈来实现这一点。下面是一个如何将这些参数传递到堆栈的示例。

查看Eric Hammond的这篇博客文章,它描述了如何将这些参数合并到堆栈的其余部分。所描述的用例有点不同,因为如果没有传入,它们可以选择创建新资源,但总体结构适用于您所描述的用例。

在这种情况下,我认为漂移检测不会对您有所帮助,因为它会显示部署的资源和堆栈中描述的配置之间的差异。不会检查在堆栈之外定义/创建的资源。

闻人景澄
2023-03-14

现在您终于可以使用资源导入功能,参考:

https://github.com/aws/aws-sdk-js/blob/master/CHANGELOG.md

https://twitter.com/shortjared/status/1193985448164691970?s=21

叶浩荡
2023-03-14

将资源导入/采用到现有CloudFormation堆栈的能力是CloudFormation客户的#1要求。我们已经思考了一段时间,但还没有找到既能满足客户需求,又能以服务运营规模运行的机制。

由于我们不会在服务之外的任何地方公开堆栈状态信息供您修改,所以在我们提供采用功能之前,您可以采取的唯一方法是将有关资源的元数据存储在参数存储中,或者使用自定义资源作为包装器来检索有关底层资源的信息,然后通过Fn::GetAtt将其呈现到堆栈中。

 类似资料:
  • 问题: 最近,我们遇到了一个问题,即您可以在单个云形成模板中声明的最大资源数量。一个模板最多可以支持200个资源,我们非常接近这个限制。 为了指定更多资源,我们需要使用嵌套堆栈将模板拆分为多个模板,我们正在评估分解模板的最佳方法。 我们的做法: 我们已经从我们的主堆栈创建了一个嵌套堆栈,并从主堆栈中删除了一些资源并将它们添加到新的嵌套堆栈中。 错误: 我们在嵌套堆栈中遇到了一个错误。 资源已存在于

  • 我有很多AWS资源(ec2实例、rds、s3等) 这些资源是多年来在AWS控制台中手动创建的。 现在我想使用云形成复制这个环境。最好的方法是什么?有没有一种工具可以将所有资源转换为云形成堆栈或模板? 我什么也找不到,或者我没有正确理解这个过程...

  • 我有一个云形成模板集合,我正在使用它来创建新资源,但我也有一小部分在CF之外创建的AWS资源,我现在想将其导入CF。我知道如何通过AWS仪表板将现有资源导入CF,但我想使用CLI来代替。 这是我认为会有帮助的文档,但它似乎已经过时了,因为我在运行时没有“-resources to import”选项。如果可以通过命令行实现这一点,最新的示例将非常有用。

  • 最初,我使用自定义资源在云形成之外创建了秘密。现在我想将这些现有的秘密迁移到现有的云形成堆栈,而无需创建新的。有没有办法使用CLI(最好)或任何其他方法来合并这些现有的秘密来实现这一点?我知道漂移检测操作,但似乎不允许整个秘密迁移。我参考了这个文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resource-imp

  • 我有一个在AWS中托管的网站,它使用了许多AWS服务。该环境是使用web控制台和AWS CLI的组合手动创建的。我想开始使用CloudFormation来管理它。我使用了CouldFormer工具来创建堆栈的模板,但我找不到一种方法来使用它来管理现有的环境。它将允许我创建一个没有太多问题的重复环境,但我真的不想删除整个生产环境,这样我就可以使用CloudFormation重新创建它。 有没有办法创

  • #include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(10); } } int m