EC2の自動スケールサービスで起動するように設定されたスポーンされた「スケーリングされた」インスタンスのリストをSQSメッセージで送信する方法はありますか?EC2サービスの自動スケールからインスタンスIDのリストを取得
答えて
スケーリングイベント中にec2インスタンスのインスタンスIDを知りたい場合は、ライフサイクルフックをSQSで設定できます。
あなたはライフサイクルのアクションが発生したときに通知を受信する通知対象を設定するためにアマゾンSQSを使用することができますアマゾンSQS
を使用して通知を受信します。
は、Amazon SQSは
はアマゾンSQSを使用してターゲットを作成して使用して通知を設定するには。詳細については、「Amazon Simple Queue Serviceデベロッパーガイド」の「Amazon SQS入門」を参照してください。ターゲットのARNに注意してください。
「IAMユーザーガイド」の「AWSサービスへの権限を委任するための役割の作成」の手順を使用して、自動スケーリングの許可を通知ターゲットに与えるためのIAMロールを作成します。ロールタイプを選択するように求められたら、AWSサービスロール、自動スケーリング通知アクセスを選択します。ロールのARNに注意してください。たとえば、arn:aws:iam :: 123456789012:role/my-notification-roleのようになります。
自動スケーリングがイベントのスケールアウトまたはスケールに応答すると、インスタンスは待機状態になります。インスタンスが待機状態にある間、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
その後、あなたはプット・ライフサイクル-hookコマンドを使用してライフサイクルフックを作成することができますライフサイクルフック
を追加します。
次のコマンドを使用し、スケールのアクションを実行するには:あなたの質問は理解することが少し難しいです
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. EC2インスタンスが自動スケール終了を拒否できますか?
- 2. AWS:自動スケール中にEC2インスタンスを設定する方法
- 3. Amazon EC2でインスタンスを自動スケールする方法は?
- 4. GitラボからAWS EC2インスタンスへのコード配布を自動化
- 5. EC2インスタンスのVPC IDを取得する方法は?
- 6. botoを使用して実行中のEC2インスタンスの自己インスタンスIDを取得する方法は?
- 7. EC2インスタンスの複製と自動終了
- 8. m2mインスタンスからIDを取得
- 9. Amazon EC2インスタンスのパブリックDNSをJava APIから取得
- 10. どのように自動スケールのEC2のノードに
- 11. Javaコードの自動生成IDをOracleデータベースから取得
- 12. CATransform3Dから 'スケール'を取得
- 13. シェフレシピ内のEC2インスタンス名の取得
- 14. 自分のEC2インスタンスをカールしてEC2インスタンス情報を取得できません
- 15. ExpressJSパラメータの自動リストを取得
- 16. py2neoから自動ノードIDを取得する方法は?
- 17. 動的リストから親IDを取得できません
- 18. Linuxスケール・セットからのメトリックの取得
- 19. EC2自動スケーリンググループのデータを取得して保存する
- 20. どのようにしてec2インスタンスIPをインスタンスIDから得ることができるか
- 21. AWS EC2インスタンス:複数のインスタンスを起動
- 22. boto3から現在のインスタンスIDを取得する方法は?
- 23. 私は、「アプリケーション」という名前のインスタンスのブロックデバイス(ないルートデバイス)のボリュームIDを取得したいEC2インスタンスのブロックデバイス
- 24. 自動スケーリンググループのEC2インスタンスのユーザーデータを更新する
- 25. boto3:特定のASGからすべてのEC2インスタンスを取得する
- 26. Postgresql INSERT - 次のIDを自動取得しますか?
- 27. SQL Server:ストアドプロシージャ内の自動インクリメントIDを取得しますか?
- 28. C#Webサービスから現在のユーザーIDを取得する
- 29. aws ec2インスタンスを自動起動/停止できません
- 30. 自動スケールグループでec2インスタンスのルートボリュームサイズを指定する方法
を。要件を明確にしてください。例:インスタンスが自動スケーリンググループに起動されるたびにSQSメッセージを表示するか、グループ内のすべてのインスタンスが「今すぐ」にリストされている単一のメッセージだけを表示しますか?なぜあなたはSQSメッセージでそれを望んでいるのですか?[AWS Command-Line Interface(CLI)](http://aws.amazon.com/cli/)またはAPIコールを使用する意思がありますか?詳細を追加するには、質問を編集してください。 –
私の使用例はMonte Carlo Simです。私はS3のフォルダに含まれているさまざまな入力ファイルをインスタンスにマップしたいと思います。私は、インスタンスIDを使用してフォルダの名前を変更する必要があると考えました。そのため、インスタンスはインスタンスIDと同じ名前のフォルダに含まれる入力ファイルのみを使用します。私はこれがハックだと理解していますが、Bashの処理はフォームによって異なりますMCS –