2017-10-12 78 views
0

是否可以創建從快照創建AMI的AWS CloudFormation模板?CloudFormation可以通過快照創建AMI

+0

爲什麼你需要這樣做? CloudFormation通常用於創建一堆基礎架構,您稍後可以更新或刪除這些基礎架構。創建AMI是一項行動,而不是創建一些基礎設施。請編輯您的問題以提供您的使用案例的更多詳細信息。例如,您打算如何處理AMI?爲什麼它必須通過CloudFormation模板而不是通過控制檯或[AWS命令行界面(CLI)](http://aws.amazon.com/cli/)命令完成? –

+0

謝謝你回覆約翰.. – kant

+0

我想恢復實例,如果它通過快照在羣集中失敗。 1.from snapshot - 創建 - > AMI - >使用新的AMI - >啓動新的實例 與以前一樣,它在羣集中。 plz建議 - 我們可以使用CF中根設備的快照創建AMI。 – kant

回答

0

AWS::EC2::Volume資源將創建Amazon Elastic Block Store(Amazon EBS)卷。

Volume資源佔用的參數之一是快照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

+0

謝謝約翰, 有很多東西與我的快照,如ELB和網關等相關。 因此,我想保持所有相關的東西,因爲它是在創建新的實例。如果沒有其他可能的方式,可以從sanpshot ID中獲取CF堆棧。 thx – kant

+0

我不確定是否可以引導從快照還原的卷。另一種可行的方法是腳本調用[AWS命令行界面(CLI)](http://aws.amazon.com/cli/)或編寫調用AWS API的應用程序。它們可用於從快照創建AMI,然後從AMI啓動。 –