我需要知道自动缩放何时应该关闭实例,因为我希望实例能够自行注册并从给定服务中取消注册。
我知道自动缩放可以随时启动/停止任何实例,所以我需要通知实例何时关闭。
有没有办法实现这种行为?
答案1
我还没有找到通过 CLI 完成整个过程的方法,因为亚马逊似乎没有将 SQS 服务添加到其 Linux api 工具中。但是,是的,这是可以做到的,而且确实不太难。
- 登录 AWS 控制台
点击 SNS 选项卡
- 创建新主题
- 复制主题 ARN 示例:arn:aws:sns:us-east-1:############:mytopic
- 为您想要的任何协议创建新的订阅(HTTP、电子邮件、SMS、SQS)
使用命令行工具或其他界面运行以下命令。运行此命令后,所有通知都将使用定义的协议发送。
as-put-notification-configuration <auto-scaling-group> -t <topic-arn> -n autoscaling:EC2_INSTANCE_LAUNCH,autoscaling:EC2_INSTANCE_TERMINATE
我建议先将它们发送到 SQS,然后再发送到您的应用程序。将消息存储在队列中并从中读取会更安全一些。SQS 的唯一问题是启动起来有点复杂,但关于 SQS 的文档很多,而且几乎您使用的任何语言都有很好的 API。