如何在 CloudFormation 模板中引用现有的 AWS 证书?

How do I reference an existing AWS Cert in a CloudFormation template?

我达到了证书限制,我想开始引用现有证书。

  1. 如何为新的 CloudFormation 堆栈执行此操作?
  2. 如何迁移现有堆栈以使用其他证书?

这个问题很笼统,但也许我可以指出一些可能提供解决方案的事情。

首先,您可以使用CloudFormation parameters提供您要使用的证书的ARN。您可以像在 CloudFormation 模板中引用其他资源一样使用参数值。

其次,您可以在单独的 CloudFormation 模板中创建证书,并使用 CloudFormation 的 outputs section of the template. Afterwards, you can use the ImportValue 函数导出证书的 ARN 以检索导出变量的值。

您会在上面的文档链接中找到有关如何使用所有这些的大量示例。

更新现有堆栈非常容易。使用 AWS 控制台中的 CloudFormation 界面,您可以选择更新堆栈并提供新版本的模板文件。然后,此模板文件可以使用 ImportValue 方法使用跨堆栈引用或使用证书 ARN 的参数,之后 CloudFormation 将更新,创建 and/or 根据更改的资源删除资源模板文件。在实际执行更新之前,Cloudformation 允许您检查将使用 ChangeSet 进行的更改,该更改集将在实际执行更新之前在更新过程中自动创建。有关堆栈更新的更多信息,请参见 here.