有沒有辦法在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. Amazon Beanstalk自動縮放和EBS實例
- 23. Kops/Kuberntes實例組自動縮放
- 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 –