Amazon EventBridge を使用して EC2 フリートまたはスポットフリートによって出力されたイベントをモニタリングし、プログラムで応答します。 - Amazon Elastic Compute Cloud

Amazon EventBridge を使用して EC2 フリートまたはスポットフリートによって出力されたイベントをモニタリングし、プログラムで応答します。

EC2 フリートかスポットフリートの状態に変化があった場合、そのフリートから通知が発せられます。通知は、Amazon EventBridge (旧称 Amazon CloudWatch Events) に送信されるイベントとして利用できます。イベントは、ベストエフォートベースで発生します。

Amazon EventBridge を使用して、イベントに応答してプログラムによるアクションをトリガーするルールを作成できます。例えば、フリートの状態が変更されたときにトリガーされるルールと、フリートのインスタンスが終了したときにトリガーされるルールという 2 つの EventBridge ルールを作成できます。この例の最初のルールでは、フリートの状態が変更された際に、ルールが SNS トピックを呼び出して E メール通知を送信するように設定できます。2 番目のルールでは、フリートのインスタンスが終了した場合に Lambda 関数を呼び出して、新しいインスタンスを起動するように設定できます。

注記

タイプ maintainrequest のフリートのみがイベントを発行します。タイプ instant のフリートは、同期された 1 回限りのリクエストを送信するため、イベントを発行しません。フリートの状態は応答ですぐに認識されます。Amazon EventBridge を使用してフリートイベントをモニタリングするには、リクエストタイプが maintain または request である必要があります。

フリートのイベント履歴を表示する方法については、「EC2 フリートのイベント履歴を表示する」を参照してください。

EC2 フリートイベントまたはスポットフリートイベントをモニタリングする Amazon EventBridge ルールを作成する

EC2 フリートまたはスポットフリートの状態変更に関する通知が送信される場合、その通知のためのイベントが Amazon EventBridge に対し JSON ファイルとして送信されます。EventBridge がルールで定義されているパターンに一致するイベントパターンを検出すると、EventBridge はルールで指定されているターゲットを呼び出します。

EventBridge ルールを記述して、一致するイベントパターンに基づいてアクションを自動化できます。

イベント内の次のフィールドはイベントパターンを形成します。このパターンはルールで定義されます。

"source": "aws.ec2fleet"

イベントが EC2 フリート からのものであることを特定します。

"detail-type": "EC2 Fleet State Change"

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

"detail": { "sub-type": "submitted" }

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

EC2 フリートおよびスポットフリートのイベントの一覧とイベントデータの例については、「EC2 フリート イベントタイプ」と「スポットフリートイベントタイプ」を参照してください。

通知を送信する EventBridge ルールを作成する

次の例では、Amazon EC2 が EC2 フリート状態変更通知を発するたびに、E メール、テキストメッセージ、またはモバイルプッシュ通知を送信する EventBridge ルールを作成します。この例のシグナルは EC2 Fleet State Change イベントとして送信され、ルールによって定義されたアクションがトリガーされます。

前提条件

EventBridge ルールを作成する前に、E メール、テキストメッセージ、またはモバイルプッシュ通知用の Amazon SNS トピックを作成する必要があります。

EventBridge ルールを作成して EC2 フリート状態が変更されたときに通知を送信するには
  1. Amazon EventBridge コンソール (https://console.aws.amazon.com/events/) を開きます。

  2. [Create rule] を選択します。

  3. [Define rule detail] (詳細の定義) で、次の操作を行います。

    1. ルールの [Name (名前)] を入力し、必要に応じて説明を入力します。

      ルールには、同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

    2. [イベントバス] として、[デフォルト] を選択します。アカウント内の AWS のサービスで生成されたイベントは、常に、そのアカウントのデフォルトのイベントバスに送られます。

    3. ルールタイプ では、イベントパターンを持つルール] を選択します。

    4. [Next] を選択します。

  4. [Build event pattern] (イベントパターンの作成) で、次の操作を行います。

    1. [Event source] (イベントソース) で、[AWS events or EventBridge partner events] ( イベントまたは EventBridge パートナーイベント) を選択します。

    2. この例では [Event pattern] (イベントパターン) で、EC2 Fleet Instance Change イベントと一致するように以下のイベントパターンを指定します。

      { "source": ["aws.ec2fleet"], "detail-type": ["EC2 Fleet Instance Change"] }

      イベントパターンを追加するには、以下のように [Event pattern form] (イベントパターンフォーム) を選択してテンプレートを使用するか、[Custom pattern (JSON editor)] (カスタムパターン (JSON エディター)) を選択して独自のパターンを指定します。

      1. テンプレートを使用してイベントパターンを作成するには、以下の操作を行います。

        1. [Event pattern form] (イベントパターンフォーム) を選択します。

        2. [イベントパターンフォーム] では、AWS[サービス] を選択します。

        3. [AWS Service] ( サービス) で、[EC2 Fleet] (EC2 フリート) を選択します。

        4. [Event type] (イベントタイプ) で、[EC2 Fleet Instance Change] (EC2 フリートインスタンスの変更) を選択します。

        5. テンプレートをカスタマイズするには、[Edit pattern] (パターンを編集) を選択した上で、この例のイベントパターンに合わせた変更を行います。

      2. (代替案) 以下の操作を行って、カスタムイベントパターンを指定します。

        1. [Custom pattern (JSON editor)] (カスタムパターン (JSON エディター)) を選択します。

        2. [Event pattern] (イベントパターン) ボックスに、この例のイベントパターンを追加します。

    3. [Next] を選択します。

  5. [Select target(s)] (ターゲットを選択) で、以下の操作を行います。

    1. ターゲットタイプ] では、AWSサービス] を選択します。

    2. イベントの発生時に E メール、テキストメッセージ、またはモバイルプッシュ通知を送信するために、[Select a target] (ターゲットを選択) で、[SNS topic] (SNS トピック) を選択します。

    3. [Topic (トピック)] で、既存のトピックを選択します。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、Amazon Simple Notification Service デベロッパーガイドAmazon SNS を使用した Application-to-Person (A2P) メッセージングを参照してください。

    4. (オプション) [Additional settings] (追加設定) で、その他の設定を行うこともできます。詳細については、「Amazon EventBridge ユーザーガイド」の「イベントに反応する Amazon EventBridge ルールの作成」(ステップ 16) を参照してください。

    5. [Next] を選択します。

  6. (オプション) 必要な場合は、[Tags] (タグ) で 1 つ以上のタグを作成したルールに割り当て、[Next] (次へ) を選択します。

  7. [Review and create] (確認して作成) で、以下の操作を行いす。

    1. ルールの詳細を確認し、必要な場合は変更を行います。

    2. ルールの作成を選択します。

詳細については、「Amazon EventBridge ユーザーガイド」の「Amazon EventBridge ルール」と「Amazon EventBridge イベントパターン」を参照してください。

Lambda 関数をトリガーする EventBridge ルールの作成

次の例では、Amazon EC2 が EC2 フリートインスタンスが起動したときのインスタンス変更通知を発するたびに Lambda 関数をトリガーする EventBridge ルールを作成します。この例のシグナルは EC2 Fleet Instance Change イベント、サブタイプ launched として発され、ルールによって定義されたアクションがトリガーされます。

EventBridge ルールを作成する前に、Lambda 関数を作成する必要があります。

EventBridge ルールで使用する Lambda 関数を作成するには
  1. AWS Lambda コンソール (https://console.aws.amazon.com/lambda/) を開きます。

  2. [関数の作成] を選択します。

  3. 関数の名前を入力し、コードを設定し、[Create function (関数の作成)] を選択します。

    Lambda の使用の詳細については、AWS Lambda デベロッパーガイドの「コンソールで Lambda 関数を作成する」を参照してください。

EC2 フリート のインスタンスの状態が変更されたときに Lambda 関数をトリガーする EventBridge ルールを作成するには
  1. Amazon EventBridge コンソール (https://console.aws.amazon.com/events/) を開きます。

  2. [Create rule] を選択します。

  3. [Define rule detail] (詳細の定義) で、次の操作を行います。

    1. ルールの [Name (名前)] を入力し、必要に応じて説明を入力します。

      ルールには、同じリージョン内および同じイベントバス上の別のルールと同じ名前を付けることはできません。

    2. [イベントバス] として、[デフォルト] を選択します。アカウント内の AWS のサービスで生成されたイベントは、常に、そのアカウントのデフォルトのイベントバスに送られます。

    3. ルールタイプ では、イベントパターンを持つルール] を選択します。

    4. [Next] を選択します。

  4. [Build event pattern] (イベントパターンの作成) で、次の操作を行います。

    1. [Event source] (イベントソース) で、[AWS events or EventBridge partner events] ( イベントまたは EventBridge パートナーイベント) を選択します。

    2. この例では [Event pattern] (イベントパターン) で EC2 Fleet Instance Change イベントと launched サブタイプに一致するよう、以下のイベントパターンを指定します。

      { "source": ["aws.ec2fleet"], "detail-type": ["EC2 Fleet Instance Change"], "detail": { "sub-type": ["launched"] }

      イベントパターンを追加するには、以下のように [Event pattern form] (イベントパターンフォーム) を選択してテンプレートを使用するか、[Custom pattern (JSON editor)] (カスタムパターン (JSON エディター)) を選択して独自のパターンを指定します。

      1. テンプレートを使用してイベントパターンを作成するには、以下の操作を行います。

        1. [Event pattern form] (イベントパターンフォーム) を選択します。

        2. [イベントパターンフォーム] では、AWS[サービス] を選択します。

        3. [AWS Service] ( サービス) で、[EC2 Fleet] (EC2 フリート) を選択します。

        4. [Event type] (イベントタイプ) で、[EC2 Fleet Instance Change] (EC2 フリートインスタンスの変更) を選択します。

        5. [Edit pattern] (パターンの編集) を選択し、サンプルのイベントパターンに一致するように "detail": {"sub-type": ["launched"] を追加します。適切な JSON 形式を得るには、前にある角括弧 (]) の後にコンマ (,) を入力します。

      2. (代替案) 以下の操作を行って、カスタムイベントパターンを指定します。

        1. [Custom pattern (JSON editor)] (カスタムパターン (JSON エディター)) を選択します。

        2. [Event pattern] (イベントパターン) ボックスに、この例のイベントパターンを追加します。

    3. [Next] を選択します。

  5. [Select target(s)] (ターゲットを選択) で、以下の操作を行います。

    1. ターゲットタイプ] では、AWSサービス] を選択します。

    2. イベントの発生時に E メール、テキストメッセージ、またはモバイルプッシュ通知を送信するために、[Select a target] (ターゲットを選択) で、[SNS topic] (SNS トピック) を選択します。

    3. [Topic] (トピック) で [Lambda function] (Lambda 関数) を選択し、[Function] (関数) では、イベント発生時に応答するように作成した関数を選択します。

    4. (オプション) [Additional settings] (追加設定) で、その他の設定を行うこともできます。詳細については、「Amazon EventBridge ユーザーガイド」の「イベントに反応する Amazon EventBridge ルールの作成」(ステップ 16) を参照してください。

    5. [Next] を選択します。

  6. (オプション) 必要な場合は、[Tags] (タグ) で 1 つ以上のタグを作成したルールに割り当て、[Next] (次へ) を選択します。

  7. [Review and create] (確認して作成) で、以下の操作を行いす。

    1. ルールの詳細を確認し、必要な場合は変更を行います。

    2. ルールの作成を選択します。

Lambda 関数を作成する方法のチュートリアルと Lambda 関数を実行する EventBridge ルールについては、AWS Lambda デベロッパーガイドの「チュートリアル: EventBridge を使用して Amazon EC2 インスタンスの状態をログに記録する」を参照してください。

EC2 フリート イベントタイプ

5 つの EC2 フリート イベントタイプがあります。イベントタイプごとに、いくつかのサブタイプがあります。

EC2 フリートの状態の変更

EC2 フリート は、EC2 フリート の状態が変更されたときに EC2 Fleet State Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2", "detail-type": "EC2 Fleet State Change", "source": "aws.ec2fleet", "account": "123456789012", "time": "2020-11-09T09:00:20Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a" ], "detail": { "sub-type": "active" } }

sub-type に指定できる値は、次のとおりです。

active

EC2 フリート リクエストは検証済みです。Amazon EC2 は実行中のインスタンスをターゲット数分、確保しようとしています。

deleted

EC2 フリート リクエストが削除され、実行中のインスタンスがありません。EC2 フリート は、そのインスタンスが終了してから 2 日後に削除されます。

deleted_running

EC2 フリート リクエストが削除され、追加のインスタンスは起動されません。その既存のインスタンスは、中断または終了されるまで実行され続けます。リクエストは、すべてのインスタンスが中断されるか終了されるまで、この状態のままになります。

deleted_terminating

EC2 フリートリクエストが削除され、そのインスタンスが終了します。リクエストは、すべてのインスタンスが終了されるまで、この状態のままになります。

expired

EC2 フリートリクエストが期限切れです。このリクエストが TerminateInstancesWithExpiration セットを使用して作成されている場合、後続の terminated イベントは、インスタンスが終了済みなことを示します。

modify_in_progress

EC2 フリート リクエストは変更中です。リクエストは、この変更が完全に処理されるまで、同じ状態を維持します。

modify_succeeded

EC2 フリートリクエストが変更されました。

submitted

EC2 フリート リクエストは評価中です。Amazon EC2 は目標数のインスタンスを起動する準備をしています。

progress

EC2 フリートリクエストは受理中です。

EC2 フリートのスポットインスタンスリクエストの変更

EC2 フリート は、フリート内のスポットインスタンスリクエストの状態が変更されたときに EC2 Fleet Spot Instance Request Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9", "detail-type": "EC2 Fleet Spot Instance Request Change", "source": "aws.ec2fleet", "account": "123456789012", "time": "2020-11-09T09:00:05Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10" ], "detail": { "spot-instance-request-id": "sir-rmqske6h", "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running", "sub-type": "cancelled" } }

sub-type に指定できる値は、次のとおりです。

active

スポットインスタンスリクエストは受理された状態であり、スポットインスタンスの関連付けが完了しています。

cancelled

スポットインスタンスリクエストがキャンセルされている、あるいは、そのリクエストの有効期限が切れています。

disabled

スポットインスタンスが停止されています。

submitted

スポットインスタンスリクエストは送信済みです。

EC2 フリートインスタンスの変更

EC2 フリート は、フリート内のインスタンスの状態が変更されたときに EC2 Fleet Instance Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc", "detail-type": "EC2 Fleet Instance Change", "source": "aws.ec2fleet", "account": "123456789012", "time": "2020-11-09T09:00:23Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a" ], "detail": { "instance-id": "i-0c594155dd5ff1829", "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}", "sub-type": "launched" } }

sub-type に指定できる値は、次のとおりです。

launched

新しいインスタンスが起動されました。

terminated

このインスタンスは終了しています。

termination_notified

フリートのターゲット容量のスケールダウン中 (ターゲット容量 が 4 から 3 に変更される場合など) に、Amazon EC2 によってスポットインスタンスが終了されたので、インスタンス終了通知が送信されました。

EC2 フリート情報

EC2 フリート は、受理中にエラーが発生したときに EC2 Fleet Information イベントを Amazon EventBridge に送信します。情報イベントは、フリートがターゲット容量を満たすことをブロックしません。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "76529817-d605-4571-7224-d36cc1b2c0c4", "detail-type": "EC2 Fleet Information", "source": "aws.ec2fleet", "account": "123456789012", "time": "2020-11-09T08:17:07Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91" ], "detail": { "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619", "sub-type": "launchSpecUnusable" } }

sub-type に指定できる値は、次のとおりです。

fleetProgressHalted

すべての起動仕様の料金は、スポット料金を下回っているため無効です (すべての起動仕様が launchSpecUnusable イベントを生成しました)。スポット料金が変更されると、起動仕様が有効になる場合があります。

launchSpecTemporarilyBlacklisted

設定が有効ではなく、インスタンスを起動しようとして何回か失敗しました。詳細については、イベントの説明をご覧ください。

launchSpecUnusable

この起動仕様の料金は、スポット料金を下回っているため無効です。

registerWithLoadBalancersFailed

ロードバランサーにインスタンスを登録しようとして失敗しました。詳細については、イベントの説明をご覧ください。

EC2 フリートエラー

EC2 フリート は、受理中にエラーが発生したときに EC2 Fleet Error イベントを Amazon EventBridge に送信します。エラーイベントは、フリートがターゲット容量を満たすことをブロックします。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e", "detail-type": "EC2 Fleet Error", "source": "aws.ec2fleet", "account": "123456789012", "time": "2020-10-07T01:44:24Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08" ], "detail": { "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ", "sub-type": "spotFleetRequestConfigurationInvalid" } }

sub-type に指定できる値は、次のとおりです。

iamFleetRoleInvalid

この EC2 フリートには、インスタンスの起動または終了に必要なアクセス許可がありません。

allLaunchSpecsTemporarilyBlacklisted

有効な設定はありません。インスタンスを起動しようとして何回か失敗しました。詳細については、イベントの説明をご覧ください。

spotInstanceCountLimitExceeded

起動できるスポットインスタンスの数の上限に達しました。

spotFleetRequestConfigurationInvalid

設定が有効ではありません。詳細については、イベントの説明をご覧ください。

スポットフリートイベントタイプ

5 つのスポットフリートイベントタイプがあります。イベントタイプごとに、いくつかのサブタイプがあります。

EC2 スポットフリートの状態の変更

スポットフリートは、スポットフリートの状態が変更されたときに EC2 Spot Fleet State Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b", "detail-type": "EC2 Spot Fleet State Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T08:57:06Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55" ], "detail": { "sub-type": "submitted" } }

sub-type に指定できる値は、次のとおりです。

active

このスポットフリートリクエストは検証済みです。Amazon EC2 は実行中のインスタンスを目標数分、確保しようとしています。

cancelled

このスポットフリートリクエストはキャンセルされており、実行中のインスタンスはありません。スポットフリートは、そのインスタンスが終了されてから 2 日後に削除されます。

cancelled_running

このスポットフリートリクエストはキャンセルされており、追加のインスタンスは起動されません。その既存のインスタンスは、中断または終了されるまで実行され続けます。リクエストは、すべてのインスタンスが中断されるか終了されるまで、この状態のままになります。

cancelled_terminating

このスポットフリートリクエストはキャンセルされており、対象のインスタンスを終了中です。リクエストは、すべてのインスタンスが終了されるまで、この状態のままになります。

expired

スポットフリートリクエストの有効期限が切れました。このリクエストが TerminateInstancesWithExpiration セットを使用して作成されている場合、後続の terminated イベントは、インスタンスが終了済みなことを示します。

modify_in_progress

スポットフリートリクエストは変更中です。リクエストは、この変更が完全に処理されるまで、同じ状態を維持します。

modify_succeeded

スポットフリートリクエストが変更されました。

submitted

スポットフリートリクエストは評価中です。Amazon EC2 は目標数のインスタンスを起動する準備をしています。

progress

スポットフリートリクエストは受理中です。

EC2 スポットフリートのスポットインスタンスリクエストの変更

スポットフリートは、フリート内のスポットインスタンスリクエストの状態が変更されたときに EC2 Spot Fleet Spot Instance Request Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2", "detail-type": "EC2 Spot Fleet Spot Instance Request Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T08:53:21Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1" ], "detail": { "spot-instance-request-id": "sir-a2w9gc5h", "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running", "sub-type": "cancelled" } }

sub-type に指定できる値は、次のとおりです。

active

スポットインスタンスリクエストは受理された状態であり、スポットインスタンスの関連付けが完了しています。

cancelled

スポットインスタンスリクエストがキャンセルされている、あるいは、そのリクエストの有効期限が切れています。

disabled

スポットインスタンスが停止されています。

submitted

スポットインスタンスリクエストは送信済みです。

EC2 スポットフリートインスタンスの変更

スポットフリートは、フリート内のインスタンスの状態が変更されたときに EC2 Spot Fleet Instance Change イベントを Amazon EventBridge に送信します。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "11591686-5bd7-bbaa-eb40-d46529c2710f", "detail-type": "EC2 Spot Fleet Instance Change", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T07:25:02Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61" ], "detail": { "instance-id": "i-08b90df1e09c30c9b", "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}", "sub-type": "launched" } }

sub-type に指定できる値は、次のとおりです。

launched

新しいインスタンスが起動されました。

terminated

このインスタンスは終了しています。

termination_notified

フリートのターゲット容量のスケールダウン中 (ターゲット容量 が 4 から 3 に変更される場合など) に、Amazon EC2 によってスポットインスタンスが終了されたので、インスタンス終了通知が送信されました。

EC2 スポットフリート情報

スポットフリートは、受理中にエラーが発生したときに EC2 Spot Fleet Information イベントを Amazon EventBridge に送信します。情報イベントは、フリートがターゲット容量を満たすことをブロックしません。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "73a60f70-3409-a66c-635c-7f66c5f5b669", "detail-type": "EC2 Spot Fleet Information", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-08T20:56:12Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1" ], "detail": { "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291", "sub-type": "launchSpecUnusable" } }

sub-type に指定できる値は、次のとおりです。

fleetProgressHalted

すべての起動仕様の料金は、スポット料金を下回っているため無効です (すべての起動仕様が launchSpecUnusable イベントを生成しました)。スポット料金が変更されると、起動仕様が有効になる場合があります。

launchSpecTemporarilyBlacklisted

設定が有効ではなく、インスタンスを起動しようとして何回か失敗しました。詳細については、イベントの説明をご覧ください。

launchSpecUnusable

この起動仕様の料金は、スポット料金を下回っているため無効です。

registerWithLoadBalancersFailed

ロードバランサーにインスタンスを登録しようとして失敗しました。詳細については、イベントの説明をご覧ください。

EC2 スポットフリートのエラー

スポットフリートは、受理中にエラーが発生したときに EC2 Spot Fleet Error イベントを Amazon EventBridge に送信します。エラーイベントは、フリートがターゲット容量を満たすことをブロックします。

以下はこのイベントのサンプルデータです。

{ "version": "0", "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2", "detail-type": "EC2 Spot Fleet Error", "source": "aws.ec2spotfleet", "account": "123456789012", "time": "2020-11-09T06:56:07Z", "region": "us-east-1", "resources": [ "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17" ], "detail": { "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ", "sub-type": "spotFleetRequestConfigurationInvalid" } }

sub-type に指定できる値は、次のとおりです。

iamFleetRoleInvalid

このスポットフリートには、インスタンスの起動または終了に必要なアクセス許可がありません。

allLaunchSpecsTemporarilyBlacklisted

有効な設定はありません。インスタンスを起動しようとして何回か失敗しました。詳細については、イベントの説明をご覧ください。

spotInstanceCountLimitExceeded

起動できるスポットインスタンスの数の上限に達しました。

spotFleetRequestConfigurationInvalid

設定が有効ではありません。詳細については、イベントの説明をご覧ください。