ウォームプールのイベントとパターンの例 - Amazon EC2 Auto Scaling

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ウォームプールのイベントとパターンの例

Amazon EC2 Auto Scaling は、Amazon EventBridge の事前定義されたパターンを複数サポートしています。これは、イベントパターンが作成される方法を簡素化します。フォーム上のフィールド値を選択すると、EventBridge がパターンを生成します。現在、Amazon EC2 Auto Scaling は、ウォームプールがある Auto Scaling グループによって発行されるイベントに対して事前定義されたパターンをサポートしていません。パターンは、JSON オブジェクトとして入力する必要があります。このセクションと「ウォームプールイベント向けの EventBridge ルールを作成する」トピックでは、イベントパターンを使用してイベントを選択し、それらをターゲットに送信する方法を説明します。

Amazon EC2 Auto Scaling が EventBridge に送信するウォームプール関連のイベントをフィルタリングする EventBridge ルールを作成するには、イベントの detail セクションの Origin および Destination フィールドを含めます。

OriginおよびDestination の値には以下を指定できます。

EC2 | AutoScalingGroup | WarmPool

イベントの例

Auto Scaling グループにライフサイクルフックを追加すると、インスタンスが待機状態に移行するときに、Amazon EC2 Auto Scaling が EventBridge にイベントを送信します。詳細については、「ウォームプールでライフサイクルフックを使用する」を参照してください。

このセクションには、Auto Scaling グループにウォームプールがある場合のこれらのイベントの例が含まれています。イベントは、ベストエフォートベースで出力されます。

注記

スケーリングが成功したときに Amazon EC2 Auto Scaling が EventBridge に送信するイベントについては、「成功したスケーリングイベント」を参照してください。スケーリングが失敗した場合のイベントについては、「失敗したスケーリングイベント」を参照してください。

スケールアウトライフサイクルアクション

インスタンスがスケールアウトイベントの待機状態に移行するときに配信されるイベントには、detail-type の値として EC2 Instance-launch Lifecycle Action が含まれます。detail オブジェクト内の Origin および Destination 属性の値は、インスタンスがどこから来てどこへ行くのかを示します。

このスケールアウトイベントの例では、新しいインスタンスが起動し、ウォームプールに追加されるため、その状態が Warmed:Pending:Wait に変わります。詳細については、「ウォームプール内のインスタンスのライフサイクル状態の移行」を参照してください。

{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "EC2 Instance-launch Lifecycle Action", "source": "aws.autoscaling", "account": "123456789012", "time": "2021-01-13T00:12:37.214Z", "region": "us-west-2", "resources": [ "auto-scaling-group-arn" ], "detail": { "LifecycleActionToken": "71514b9d-6a40-4b26-8523-05e7eEXAMPLE", "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-lifecycle-hook", "EC2InstanceId": "i-1234567890abcdef0", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationMetadata": "additional-info", "Origin": "EC2", "Destination": "WarmPool" } }

このスケールアウトイベントの例では、インスタンスがウォームプールから Auto Scaling グループに追加されるため、インスタンスの状態は Pending:Wait に変わります。詳細については、「ウォームプール内のインスタンスのライフサイクル状態の移行」を参照してください。

{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "EC2 Instance-launch Lifecycle Action", "source": "aws.autoscaling", "account": "123456789012", "time": "2021-01-19T00:35:52.359Z", "region": "us-west-2", "resources": [ "auto-scaling-group-arn" ], "detail": { "LifecycleActionToken": "19cc4d4a-e450-4d1c-b448-0de67EXAMPLE", "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-launch-lifecycle-hook", "EC2InstanceId": "i-1234567890abcdef0", "LifecycleTransition": "autoscaling:EC2_INSTANCE_LAUNCHING", "NotificationMetadata": "additional-info", "Origin": "WarmPool", "Destination": "AutoScalingGroup" } }

スケールインライフサイクルアクション

インスタンスがスケールインイベントの待機状態に移行するときに配信されるイベントには、detail-type の値として EC2 Instance-terminate Lifecycle Action が含まれます。detail オブジェクト内の Origin および Destination 属性の値は、インスタンスがどこから来てどこへ行くのかを示します。

このスケールインイベントの例では、インスタンスがウォームプールに戻されるため、インスタンスの状態は Warmed:Pending:Wait に変わります。詳細については、「ウォームプール内のインスタンスのライフサイクル状態の移行」を参照してください。

{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "EC2 Instance-terminate Lifecycle Action", "source": "aws.autoscaling", "account": "123456789012", "time": "2022-03-28T00:12:37.214Z", "region": "us-west-2", "resources": [ "auto-scaling-group-arn" ], "detail": { "LifecycleActionToken": "42694b3d-4b70-6a62-8523-09a1eEXAMPLE", "AutoScalingGroupName": "my-asg", "LifecycleHookName": "my-termination-lifecycle-hook", "EC2InstanceId": "i-1234567890abcdef0", "LifecycleTransition": "autoscaling:EC2_INSTANCE_TERMINATING", "NotificationMetadata": "additional-info", "Origin": "AutoScalingGroup", "Destination": "WarmPool" } }

イベントパターンの例

前のセクションでは、Amazon EC2 Auto Scaling によって生成されるイベント例を説明します。

EventBridge イベントパターンは、一致するイベントと同じ構造をしています。イベントのパターンでは、照合する対象のフィールドを引用符で囲み、検出したい値を指定します。

イベント内の次のフィールドは、ルールで定義され、アクションをトリガーするイベントパターンを形成します。

"source": "aws.autoscaling"

イベントが Amazon EC2 Auto Scaling Group からのものであることを特定します。

"detail-type": "EC2 Instance-launch Lifecycle Action"

イベントタイプを特定します。

"Origin": "EC2"

インスタンスがどこから来ているかを識別します。

"Destination": "WarmPool"

インスタンスがどこに行くかを識別します。

次のサンプルイベントパターンを使用して、ウォームプールに入るインスタンスに関連付けられているすべての EC2 Instance-launch Lifecycle Action イベントをキャプチャします。

{ "source": [ "aws.autoscaling" ], "detail-type": [ "EC2 Instance-launch Lifecycle Action" ], "detail": { "Origin": [ "EC2" ], "Destination": [ "WarmPool" ] } }

次のサンプルイベントパターンを使用して、スケールアウトイベントのためにウォームプールから取り出されるインスタンスに関連付けられたすべての EC2 Instance-launch Lifecycle Action イベントをキャプチャします。

{ "source": [ "aws.autoscaling" ], "detail-type": [ "EC2 Instance-launch Lifecycle Action" ], "detail": { "Origin": [ "WarmPool" ], "Destination": [ "AutoScalingGroup" ] } }

次のサンプルイベントパターンを使用して、Auto Scaling グループに直接起動するインスタンスに関連付けられているすべての EC2 Instance-launch Lifecycle Action イベントをキャプチャします。

{ "source": [ "aws.autoscaling" ], "detail-type": [ "EC2 Instance-launch Lifecycle Action" ], "detail": { "Origin": [ "EC2" ], "Destination": [ "AutoScalingGroup" ] } }

次のサンプルイベントパターンを使用して、スケールインでウォームプールに戻されるインスタンスに関連付けられているすべての EC2 Instance-terminate Lifecycle Action イベントをキャプチャします。

{ "source": [ "aws.autoscaling" ], "detail-type": [ "EC2 Instance-terminate Lifecycle Action" ], "detail": { "Origin": [ "AutoScalingGroup" ], "Destination": [ "WarmPool" ] } }

次のイベントパターンのサンプルを使用して、送信元や送信先に関わらず、EC2 Instance-launch Lifecycle Actionに関連付けられているすべてのイベントをキャプチャします。

{ "source": [ "aws.autoscaling" ], "detail-type": [ "EC2 Instance-launch Lifecycle Action" ] }