有没有办法在SQS消息中发送配置为通过EC2的自动缩放服务启动的衍生“缩放”实例的列表?从EC2服务的自动缩放获取实例ID的列表
回答
如果您想在扩展事件期间了解ec2实例的实例ID,则可以使用SQS设置生命周期挂钩。
接收通知使用Amazon SQS
您可以使用Amazon SQS设置通知对象时,生命周期操作发生时接收通知。
要使用Amazon SQS
创建使用Amazon SQS目标设定通知。有关更多信息,请参阅Amazon Simple Queue Service开发人员指南中的Amazon SQS入门。注意目标的ARN。
使用IAM用户指南中创建角色以向AWS服务委派权限中的步骤,创建IAM角色以授予Auto Scaling权限以访问您的通知目标。当系统提示您选择角色类型时,请选择AWS服务角色,AutoScaling通知访问。请注意角色的ARN。例如,arn:aws:iam :: 123456789012:role/my-notification-role。
Auto Scaling响应扩展或缩放事件时,会将实例置于等待状态。当实例处于等待状态时,Auto Scaling会向通知目标发布消息。
实施例的消息:
Service: AWS Auto Scaling
Time: 2016-09-30T20:42:11.305Z
RequestId: 18b2ec17-3e9b-4c15-8024-ff2e8ce8786a
LifecycleActionToken: 71514b9d-6a40-4b26-8523-05e7ee35fa40
AccountId: 123456789012
AutoScalingGroupName: my-asg
LifecycleHookName: my-hook
EC2InstanceId: i-0598c7d356eba48d7
LifecycleTransition: autoscaling:EC2_INSTANCE_LAUNCHING
NotificationMetadata: null
然后添加生命周期钩
可以创建使用put生命周期挂机命令生命周期钩。
要进行规模上的动作时,请使用以下命令:
aws autoscaling put-lifecycle-hook --lifecycle-hook-name my-hook --auto-scaling-group-name my-asg --lifecycle-transition autoscaling:EC2_INSTANCE_LAUNCHING --notification-target-arn arn:aws:sns:us-west-2:123456789012:my-sqs --role-arn arn:aws:iam::123456789012:role/my-notification-role
http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html#adding-lifecycle-hooks
http://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-lifecycle-hook.html
非常好,我想SQS消息将有一个启动实例ID“EC2InstanceId”的列表,如果自动缩放是通过多个实例完成的? –
对于每个我在其中发生的每个缩放事件,它都会有一个新消息。所以你需要在解析它们之后删除消息。 – strongjz
如果有1k到10k个实例启动,它可能会变得昂贵。 TNKS。请注意,AWS将适应此缩放选项 –
- 1. 具有弹性IP的Amazon EC2自动缩放实例
- 2. 将静态IP分配给自动缩放的EC2实例
- 3. 从实例获取实例dnsname创建一个cloudformation自动缩放组
- 4. EC2自动缩放:更大的实例,而不是更多实例
- 5. 获取一个实例的内部IP自动缩放组
- 6. 如何将自动缩放组中的实例获取IP
- 7. 通过PHP获取Amazon EC2实例ID
- 8. CloudWatch EC2 - 查找EC2服务器的实例ID和实例名称
- 9. 通过Java获取EC2实例的实例ID
- 10. 如何在Amazon EC2中自动缩放实例?
- 11. AWS:如何在自动缩放期间配置EC2实例
- 12. 来自亚马逊自动缩放组的自我终结EC2实例
- 13. 识别自动缩放的Azure实例?
- 14. 获取有关Amazon EC2实例的服务器内存用法
- 15. 异常获取服务器实例:没有有效的实例ID此实例
- 16. 有没有办法在ec2实例中获取实例ID
- 17. 从m2m实例获取ID
- 18. 当自动缩放EC2不起作用时自动启动节点服务器
- 19. amazon ec2上的自动缩放
- 20. 不能从PowerShell中获取实例ID在EC2窗口MACHIN
- 21. 从Amazon EC2实例获取GUI
- 22. Kops/Kuberntes实例组自动缩放
- 23. Amazon Beanstalk自动缩放和EBS实例
- 24. 如何获取Amazon EC2上可用实例类型的列表?
- 25. 获取可靠安装的服务器实例列表
- 26. 为什么我的额外自动缩放EC2实例无法终止?
- 27. 应自动缩放EC2实例共享相同的数据库用户帐户
- 28. EC2实例放置
- 29. 从asp.net中的状态服务器获取会话ID列表
- 30. 从SQLQuery结果中的id列获取Hibernate实体实例
你的问题有点难以理解。你能否澄清你的要求?例如:每次将实例启动到Auto Scaling组中时,您是否想要一条SQS消息,或者只需一条消息即可“立即”列出组中的所有实例?您为什么需要通过SQS消息?您是否愿意使用[AWS命令行界面(CLI)](http://aws.amazon.com/cli/)或API调用?随意编辑您的问题以添加详细信息。 –
我的用例是Monte Carlo Sim。我想将包含在S3中的文件夹中的不同输入文件映射到实例。我想,我需要使用实例ID重命名文件夹,这样一个实例将只使用与实例ID具有相同名称的文件夹中包含的输入文件。我知道这是一个破解,但bash处理不同形式MCS –