我们如何在具有相同userdata配置的同一模板中重用已配置的AMI

时间:2016-01-31 08:57:50

标签: amazon-web-services devops user-data amazon-cloudformation

我使用cloudformation模板创建了实例,使用userdata配置和powershell dsc进行配置。我为这个实例创建了AMI,以便下次加速我的堆栈创建。

现在我如何在同一模板中使用此AMI,以便绕过所有配置&在实例上完成安装并直接将成功信号发送给waithandler。

我在我的模板中尝试这个但是失败了。

先谢谢, Lokesh Jangir

2 个答案:

答案 0 :(得分:0)

听起来您需要检查用户数据以查看是否已配置所有内容,如果已配置,则只需停止并发送通知,而不是再次将其重新设置。

最终,听起来更容易拥有两个模板 - 一个用于创建AMI,另一个用于在其他设置中重复使用。第二个模板可以将AMI ID作为参数,以便它更灵活,并且可以在创建它们时与不同的AMI一起使用。

答案 1 :(得分:0)

1。要在云端模板模板中使用您的AMI ID,请先从添加参数开始,以便您可以轻松更改它:

`

"Parameters": {
...
"amiId": {
  "Type": "String",
  "Default": "ami-073bb070",
  "AllowedPattern": "[a-zA-Z0-9\\-]*",
  "Description": "Only [a-zA-Z0-9\\-]* allowed."
},
...
}

2. LaunchConfig 中使用该参数:

`

  "aLaunchConfig": {
      "Type": "AWS::AutoScaling::LaunchConfiguration",
      "Properties": {
        "ImageId": { "Ref" : "amiId" },
    ...

3。或直接在EC2实例中使用

`

"someEC2": {
  "Type": "AWS::EC2::Instance",
  "Properties": {
    "ImageId": { "Ref" : "amiId" },