我创建了一个t2.micro EC2实例并在其上配置了node.js.运行正常 .
接下来,我尝试使用此实例创建Auto Scaling组,创建启动配置,然后成功创建启动配置的Auto Scaling组 .
问题是当Auto Scaling工作时,创建的新实例不是旧实例的确切副本(图像) . 它不会复制我的node.js配置和数据文件 .
哪里出错了以及如何在AWS上实现此要求?
当Auto Scaling启动新的Amazon EC2实例时,它会使用启动配置中指定的Amazon Machine Image(AMI) . 新实例将具有与AMI完全相同的内容 .
听起来您使用的是亚马逊发布的标准AMI,或者您创建了自己配置实例的AMI before . 在AMI创建之后完成的任何配置都不会传递给新实例,因为它不是AMI的一部分 .
你应该:
启动实例并根据需要进行配置
创建AMI(动作/图像/创建图像)
创建使用该AMI的启动配置
编辑Auto Scaling组以使用该启动配置
Auto Scaling启动的任何新实例都将使用新的AMI,它将具有您的所有配置 .
创建自定义AMI的替代方法是使用User Data Script,它将在新实例启动时自动运行 . 此脚本可以下载软件,更改设置并通常个性化实例 . 这可能更容易更新,而不是在您想要更改某些内容时创建新的AMI . 用户数据脚本可以输入到启动配置中,Auto Scaling在启动新实例时将使用该脚本 .
1 回答
当Auto Scaling启动新的Amazon EC2实例时,它会使用启动配置中指定的Amazon Machine Image(AMI) . 新实例将具有与AMI完全相同的内容 .
听起来您使用的是亚马逊发布的标准AMI,或者您创建了自己配置实例的AMI before . 在AMI创建之后完成的任何配置都不会传递给新实例,因为它不是AMI的一部分 .
你应该:
启动实例并根据需要进行配置
创建AMI(动作/图像/创建图像)
创建使用该AMI的启动配置
编辑Auto Scaling组以使用该启动配置
Auto Scaling启动的任何新实例都将使用新的AMI,它将具有您的所有配置 .
创建自定义AMI的替代方法是使用User Data Script,它将在新实例启动时自动运行 . 此脚本可以下载软件,更改设置并通常个性化实例 . 这可能更容易更新,而不是在您想要更改某些内容时创建新的AMI . 用户数据脚本可以输入到启动配置中,Auto Scaling在启动新实例时将使用该脚本 .