【问题标题】:Can CloudFormation to create an AMI from a SnapshotCloudFormation 能否从快照创建 AMI
【发布时间】:2017-10-12 05:02:51
【问题描述】:

是否可以创建从快照创建 AMI 的 AWS CloudFormation 模板?

【问题讨论】:

  • 为什么需要这样做? CloudFormation 通常用于创建基础架构堆栈,您可以稍后对其进行更新或删除。创建 AMI 是一种操作,而不是创建一些基础设施。请编辑您的问题以提供有关您的用例的更多详细信息。例如,您打算用 AMI 做什么?为什么必须通过 CloudFormation 模板而不是通过控制台或 AWS Command-Line Interface (CLI) 命令来完成?
  • 感谢约翰回复..
  • 如果实例在集群中通过快照失败,我想恢复它。 1.从快照 - 创建 -> AMI -> 使用新的 AMI -> 启动与集群中之前相同的新实例。请建议 - 我们可以使用 CF 中的根设备快照创建 AMI。

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

AWS::EC2::Volume 资源将创建一个 Amazon Elastic Block Store (Amazon EBS) 卷。

卷资源采用的参数之一是快照 ID,它标识创建卷时要使用的快照。

"NewVolume" : {
   "Type" : "AWS::EC2::Volume",
   "Properties" : {
     "Size" : "100",
     "VolumeType" : "io1",
     "Iops" : "100",
     "SnapshotId" : "snap-abcd1234",
     "AvailabilityZone" : { "Fn::GetAtt" : [ "EC2Instance", "AvailabilityZone" ] }
   }
}

这不会创建 AMI,但会创建 EBS 卷。您必须进行试验,看看它是否可以用作实例的启动卷。

见:AWS::EC2::Volume

【讨论】:

  • 谢谢约翰,有很多与我的快照相关的东西,比如 ELB 和网关等。因此我想在创建新实例时保留所有相关的东西。请建议是否可以从 sanpshot ID 到 CF 堆栈,如果不是,其他可能的方法是什么。谢谢
  • 我不确定您是否可以启动从快照恢复的卷。另一种肯定可行的方法是编写对AWS Command-Line Interface (CLI) 的调用脚本或编写一个调用AWS API 的应用程序。它们可用于从快照创建 AMI,然后启动 AMI。
猜你喜欢
  • 2017-07-26
  • 1970-01-01
  • 2020-07-10
  • 2020-02-02
  • 2017-07-23
  • 2018-10-10
  • 2012-08-09
  • 2011-10-22
  • 1970-01-01
相关资源
最近更新 更多