amazon-web-services - AWS AutoScaling - 实例生命周期

标签 amazon-web-services amazon-ec2 autoscaling ec2-ami

只是想获取一些有关 aws asg 的信息。

这是我的场景;

  • 使用默认的 ubuntu amilaunch config 启动 asg
  • 使用 ansibleasg 中配置(安装所有必需的软件包和配置)实例
  • 使用 python 将代码部署到实例

快乐的日子,一切都已准备就绪。

问题是,如果我应该更改 asg 的指标,以便终止所有实例,然后将其更改回原始指标,则新实例会显示为空白!没有软件包,没有代码!

1 - 这是预期的行为吗?

2 - 此外,如果 asg 有 2 个实例并扩展到 5 个,它会添加 3 个空白实例,还是复制 1 个正在运行的实例(包含代码和包)并启动 3 个新实例那些?

如果 1 是,我该如何解决这个问题?我需要使用预烘焙的图像吗?但即便如此,也没有最新的代码。

基本上,在非高峰时段,我希望能够将我的 asg 清零,这样就没有实例在运行,然后在高峰时段再次恢复。每天都必须重新配置和部署代码是没有意义的。

感谢任何帮助/建议。

最佳答案

您的方法出现的问题是您正在将代码部署到启动实例。因此,当您更改 ASG 指标实例关闭并再次启动时,它们将从 AMI 启动,因此它们会丢失代码和配置。请始终记住,在自动扩展中,新启动的实例是使用 ASG 正在使用的 AMI 和已启动的实例启动的。

为了避免这种情况,您可以使用用户数据来运行配置脚本,并在从 AMI 启动实例时将数据从存储库提取到每个实例上的实例,这样就不会启动空白实例.

阅读本开发者指南以了解用户数据

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html

关于amazon-web-services - AWS AutoScaling - 实例生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39063764/

相关文章:

amazon-web-services - AWS Cloudformation 和自动扩展 : The requested configuration is currently not supported. 启动 EC2 实例失败

jquery - 亚马逊云搜索查询

amazon-s3 - 重写 Amazon S3 静态 URL

google-app-engine - amazon ec2 ECU 与 google app engine MHZ cpu 评级相比如何?

amazon-web-services - url验证时出错;检查 url 并重试 - 发布到 aws

kubernetes - Kubernetes 中 POD 的计划扩展

amazon-web-services - Auto Scaldown Cooldown 与健康检查宽限期的区别

amazon-web-services - 如何使用 Join 和 Ref 在 cloudformation 中使用用户名和密码格式化curl命令

amazon-web-services - AWS Lambda - Body Size is Too Large 错误,但 Body Size is Under Limit

mysql - 将 Amazon RDS 与 Heroku 连接起来?