すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:EventBridge および Cloud Monitor を使用した クラウドアシスタント イベントのサブスクライブ

最終更新日:Mar 01, 2026

クラウドアシスタント イベントをサブスクライブすることで、自動化された運用・保守(O&M)応答ワークフローを構築できます。たとえば、ソフトウェアのインストールや検査スクリプトの実行などの自動化タスクが失敗した場合に即時アラートを受信できます。これにより、コストがかかりかつ遅延の大きい手動ポーリングを排除できます。

操作手順

以下の操作手順では、クラウドアシスタント タスクステータスイベントへのサブスクライブを例として説明します。詳細については、「クラウドアシスタント イベントの説明」をご参照ください。

EventBridge を使用した クラウドアシスタント イベントのサブスクライブ

開始する前に、EventBridge の有効化および必要な権限の付与が完了していることを確認してください。

  1. EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、イベントバスをクリックします。

  2. 上部のメニューバーからリージョンを選択します。

  3. イベントバスページで、defaultをクリックします。

  4. イベントバスページの左側ナビゲーションウィンドウで、イベントルールをクリックし、その後 ルールの作成をクリックします。

  5. 基本情報の設定タブで、名前テキストボックスに名前を入力し、説明テキストボックスに説明を入力します。その後、次へをクリックします。

  6. イベントパターンの設定タブで、以下の設定を完了し、次へをクリックします。

    1. イベントソースドロップダウンリストから、acs.ecsを選択します。

    2. イベントタイプドロップダウンリストから、サブスクライブするクラウドアシスタント イベントのタイプを選択します。

      クラウドアシスタント タスクステータスイベント:ecs:CloudAssistant:TaskCompleted

    3. イベントパターンのデバッグセクションで、サブスクライブ対象のイベントタイプのサンプルを表示します。

      {
          "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
          "source": "acs.ecs",
          "specversion": "1.0",
          "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
          "time": "2020-11-19T21:04:41+08:00",
          "type": "ecs:CloudAssistant:TaskCompleted",
          "aliyunaccountid": "123456789098****",
          "aliyunpublishtime": "2020-11-19T21:04:42Z",
          "aliyuneventbusname": "default",
          "aliyunregionid": "cn-hangzhou",
          "aliyunpublishaddr": "172.25.XX.XX",
          "data": {
              "commandId": "c-hz045**********",
              "commandName": "hello-linux.sh",
              "exitCode": "0",
              "finishTime": "2023-12-14T07:39:48Z",
              "instanceId": "i-bp114***************",
              "invocationStatus": "Success",
              "invokeId": "t-hz045**********",
              "ownerId": "158*************",
              "playerUid": "256***************",
              "repeatMode": "Once",
              "repeats": "1",
              "startTime": "2023-12-14T07:39:48Z",
              "errorCode": "0",
              "errorDesc": ""
          }
      }
    4. サンプルの下にある テスト をクリックして、イベントトリガーをシミュレートします。「一致しました。イベントは想定通りにトリガーされます」というメッセージが表示された場合、イベントは想定通りにトリガーされるように設定されています。

  7. イベントターゲットを構成します。サービスタイプを選択し、プッシュシナリオを構成します。

    プッシュシナリオの詳細については、「プッシュシナリオの設定」をご参照ください。

Cloud Monitor を使用した クラウドアシスタント イベントのサブスクライブ

  1. Cloud Monitor コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、イベントセンター > イベントサブスクリプションを選択します。

  3. サブスクリプションポリシータブで、サブスクリプションポリシーの作成をクリックします。

  4. サブスクリプションポリシーの作成ページで、クラウドアシスタント イベントのサブスクライブに必要なパラメーターを構成します。

    この例では、クラウドアシスタント イベントに関連するパラメーターのみを示しています。その他のパラメーターについては、「サブスクリプションポリシーのパラメーター」をご参照ください。
    • サブスクリプションタイプシステムイベントを選択します。

    • サブスクリプション範囲

      • プロダクトElastic Compute Service (ECS)を選択します。

      • イベントタイプ通知を選択します。

      • イベント名クラウドアシスタント タスクステータスイベントを選択します。

  5. 構成を完了したら、送信をクリックします。

    関連するイベントがトリガーされると、通知を受信します。また、DescribeSystemEventAttribute 操作を呼び出して、システムイベントの詳細を照会することもできます。

クラウドアシスタント イベントの説明

クラウドアシスタント タスクステータスイベント

イベントの説明

コマンドおよびスクリプトの実行には時間がかかります。クラウドアシスタント タスクステータスイベントは、タスクの完了状況を追跡するのに役立ちます。これらのイベントは、以下のような目的で利用できます。

  • クラウドアシスタント タスクの失敗または完了時に通知を受信します。この通知はアラートや後続処理に利用できます。

  • ポーリングは API 呼び出しのクォータを消費します。これを回避するため、イベントサブスクリプションを利用してください。

  • 長時間のポーリング処理中にアプリケーションのリリースによって中断が発生する可能性があります。イベントを利用することで、ワークフローを簡素化できます。

トリガー条件および制限事項

トリガー条件: RunCommand または InvokeCommand 操作を呼び出してタスクを実行すると、クラウドアシスタントがタスクのステータスを監視します。タスクが完了すると、タスクステータスイベントが送信されます。

制限事項:

  • ECS インスタンス上のタスクが以下のいずれかの最終状態(InvocationStatus)に遷移した場合にのみ、クラウドアシスタント タスクステータスイベントが送信されます。

    • Aborted:タスクの送信に失敗しました。

    • Success:タスクは正常に完了しました。

    • Failed:タスクは失敗しました。

    • Invalid:タスクの内容が無効です。

    • Timeout:タスクがタイムアウトしました。

    • Cancelled:タスクはキャンセルされました。

    • Terminated:タスクは終了されました。

  • DescribeInvocations および DescribeInvocationResults 操作は array<object> 形式でデータを返します。ただし、タスクステータスイベントは単一のインスタンス上の単一のタスクのステータスのみを報告し、複数のタスクを報告しません。

イベントフィールド

フィールド

説明

instanceId

インスタンス ID。

i-bp114***************

invokeId

コマンド実行 ID。

t-hz045**********

commandId

コマンド ID。

c-hz045**********

commandName

コマンド名。

ACS-ECS-ResetPassword-for-linux.sh

ownerUid

コマンドが実行されるインスタンスの所有者アカウント。

158*************

playerUid

ロールを引き受けてコマンドを実行するアカウントの ID。

256***************

repeatMode

コマンドの実行モード。`InstanceId` も指定されている場合は、このパラメーターは無視されます。有効な値:

  • Once:コマンドを即時に実行します。

  • Period:スケジュールに従ってコマンドを実行します。

  • NextRebootOnly:次回インスタンスが起動したときにコマンドを実行します。

  • EveryReboot:インスタンスが起動するたびにコマンドを実行します。

Once

repeats

インスタンス上でコマンドが実行された回数。

  • 実行方法が即時実行の場合、値は 0 または 1 です。

    • 0:コマンドの送信に失敗し、スクリプトは開始されませんでした。

    • 1:コマンドは正常に送信されました。これは、インスタンス上でコマンドが初めて実行される場合です。

  • `repeatMode` が `Period` の場合、値はコマンドが実行された回数です。

0

invocationStatus

コマンドの実行ステータス。

  • Invalid:コマンドタイプまたはパラメーターが無効です。

  • Aborted:コマンドがインスタンスへの送信に失敗しました。インスタンスは `Running` 状態である必要があり、コマンドは 1 分以内に送信する必要があります。

  • Success:

    • 1 回限りの実行コマンド:コマンドは完了し、終了コードが 0 です。

    • スケジュール実行コマンド:前回の実行が終了コード 0 で成功しており、指定された実行時間が終了しています。

  • Failed:

    • 1 回限りの実行コマンド:コマンドは完了しましたが、終了コードが 0 ではありません。

    • スケジュール実行コマンド:前回の実行が非ゼロの終了コードで成功しており、指定された実行スケジュールは中止されます。

  • Timeout:コマンド実行がタイムアウトしました。

  • Cancelled:コマンド実行は開始前にキャンセルされました。

  • Terminated:コマンドは実行中に終了されました。

Success

exitCode

コマンドプロセスの終了コード。

0

startTime

タスクの開始時刻。

2023-12-20T06:15:55Z

finishTime

タスクの終了時刻。

2023-12-20T06:15:59Z

errorCode

コマンドの送信または実行に失敗した場合に返されるエラーコード。

0

errorDesc

コマンドの送信または実行に失敗した際の詳細情報。

-

クラウドアシスタント 初回ハートビートイベント

イベントの説明

クラウドアシスタント ハートビートは、インスタンスのオペレーティングシステムのステータスを判断する手段の 1 つです。初回ハートビートは、オペレーティングシステムが起動したタイミングを示します。この情報を使用して、インスタンスの健全性を確認したり、クラウドアシスタント コマンドを送信するタイミングを決定したりできます。

DescribeCloudAssistantStatus 操作をポーリングする代わりに、初回ハートビートイベントを使用すると、以下の問題を解決できます。

  • DescribeCloudAssistantStatus をポーリングしてステータスが `true` に変更されたかどうかを確認するのは複雑です。不適切なポーリング間隔を設定すると、過剰なリクエストが生成され、速度制限が発生したり、システムに負荷がかかる可能性があります。

  • インスタンスのオペレーティングシステムの起動時間は大きく異なります。一部の Windows インスタンスでは、起動に最大 5 分かかる場合があります。そのため、ポーリングの総実行時間を制御することが困難です。

  • DescribeCloudAssistantStatus が返すステータスには遅延があります。ハートビートが停止してからステータスが変更されるまでの遅延は 2 分です。このため、DescribeCloudAssistantStatus ではインスタンスの再起動を検出することが困難です。

トリガー条件および制限事項

トリガー条件: クラウドアシスタントがハートビートを報告すると、クラウドアシスタント クライアントの起動後に初回ハートビートを検出した場合に初回ハートビートイベントが送信されます。

クラウドアシスタントのバージョン制限:

  • Windows インスタンス:クラウドアシスタントエージェントのバージョンは 1.0.0.149 より新しい必要があります。

  • Linux インスタンス:クラウドアシスタントエージェントのバージョンは 1.0.2.569 より新しい必要があります。

古いバージョンのクラウドアシスタントでは、ハートビートが毎分報告されない、またはインデックスフィールドが報告されないため、起動後の初回ハートビートを正確に識別できません。これらの古いバージョンはサポートされていません。

イベントフィールド

フィールド

説明

bizEventId

イベント ID。

ea33c3e2-aaf0-****-****-5d49b1ecce99

vmName

イベントに関連付けられたインスタンスの ID。

i-bp19****************

extensions

ビジネス拡張に関する情報。

-

azone

ゾーン。

cn-shenzhen-e

region

リージョン。

cn-shenzhen

agentVersion

クラウドアシスタントエージェント のバージョン。

2.2.3.529

uptime

オペレーティングシステムが実行中の時間(ミリ秒単位)。

19000

クラウドアシスタント タスク実行出力配信結果イベント

イベントの説明

  • コマンドを実行すると、最大 24 KB のコマンド出力が保持されます。この制限を超える出力は切り捨てられます。

  • 完全な出力を取得したり、出力を永続化したりする場合は、コマンド実行が最終状態に達した際に、出力を Object Storage Service (OSS) のパスに配信するよう構成できます。

  • このイベントは、以下のような目的で利用できます。

    • 出力配信に関する通知および詳細情報を受信します。成功通知を受信した場合、対応する OSS バケットから出力ファイルをダウンロードできます。これにより、DescribeInvocations 操作をポーリングして結果を取得する必要がなくなり、効率が向上します。

    • 配信が失敗した場合、イベントから失敗の詳細な原因を取得できます。

トリガー条件および制限事項

トリガー条件: RunCommand または InvokeCommand を使用してタスクを実行し、有効な OssOutputDelivery パラメーターを指定した場合、タスクが最終状態に達するとこのイベントが送信されます。

制限事項:

  • インスタンス上のタスクが以下のいずれかの最終状態(InvocationStatus)に遷移した場合にのみ、イベントが送信されます。

    • Aborted:タスクの送信に失敗しました。

    • Success:タスクは正常に完了しました。

    • Failed:タスクは失敗しました。

    • Invalid:タスクの内容が無効です。

    • Timeout:タスクがタイムアウトしました。

    • Cancelled:タスクはキャンセルされました。

    • Terminated:タスクは終了されました。

クラウドアシスタントのバージョン制限:

  • Windows インスタンス:クラウドアシスタントエージェントのバージョンは 2.1.4.1007 より新しい必要があります。

  • Linux インスタンス:クラウドアシスタントエージェントのバージョンは 2.2.4.1007 より新しい必要があります。

イベントフィールド

フィールド

説明

instanceId

インスタンス ID。

invokeId

コマンド実行 ID。

ownerUid

コマンドが実行されるインスタンスの所有者アカウント。

playerUid

ロールを引き受けてコマンドを実行するアカウントの ID。

repeatMode

コマンドの実行モード。有効な値:

  • Once:コマンドを即時に実行します。

  • Period:スケジュールに従ってコマンドを実行します。

  • NextRebootOnly:次回インスタンスが起動したときにコマンドを実行します。

  • EveryReboot:インスタンスが起動するたびにコマンドを実行します。

repeats

インスタンス上でコマンドが実行された回数。

  • 実行モードが即時実行の場合、値は 0 または 1 です。

    • 0:コマンドの送信に失敗し、スクリプトは開始されませんでした。

    • 1:コマンドは正常に送信されました。これは、インスタンス上でコマンドが初めて実行される場合です。

  • `repeatMode` が `Period` の場合、値はコマンドが実行された回数です。

ossOutputDelivery

コマンド出力配信の OSS 構成。

ossOutputUri

コマンド出力が配信される OSS ファイルの URI。

status

配信ステータス。

  • InProgress:配信中です。

  • Finished:配信が完了しました。

  • Failed:配信に失敗しました。

statusCode

配信ステータスコード。ステータスが `Failed` の場合にのみ返されます。

errorCode

配信失敗のエラーコード。ステータスが `Failed` の場合にのみ返されます。可能な値:

  • UnsupportedInvocationStatus:コマンドの送信または検証に失敗しました。

  • ClientNeedUpgrade:クラウドアシスタントエージェントのバージョンが配信機能をサポートしていません。

  • OSS 配信失敗。詳細については、「エラーコード」をご参照ください。

  • ネットワークが切断された場合、対応するネットワークライブラリのエラーコードが返されます。

errorInfo

配信失敗のエラー詳細。ステータスが `Failed` の場合にのみ返されます。

クラウドアシスタントエージェント アップグレード失敗通知イベント

イベントの説明

  • クラウドアシスタントエージェントは、デフォルトで 30 分ごとにバージョンアップグレードを自動的にチェックします。

  • アップグレード失敗通知イベントをサブスクライブすることで、失敗の原因と解決策を迅速に把握でき、トラブルシューティングが簡素化されます。

イベントフィールドの説明

フィールド

説明

instanceId

インスタンス ID。

i-bp114***************

currentVersion

クラウドアシスタントエージェントの現在のバージョン。

2.2.3.529

expectedVersion

アップグレード先のクラウドアシスタントエージェントのバージョン。

2.2.4.1007

errorCode

アップグレード失敗のエラーコード。エラーコードの詳細については、以下の「エラーコードの説明」をご参照ください。

AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout

errorInfo

アップグレード失敗の理由。

Alibaba Cloud サービスのネットワークがブロックされています。

occurrenceTime

アップグレード失敗の発生時刻。

2026-02-28T03:30:00Z

エラーコードの説明

エラーコードはプレフィックス AgentUpdateFailure: で始まります。以下の表にエラーコードを示します。

失敗の原因

エラーの説明

errorCode

ダウンロード失敗

アクセスが拒否されました。

DownloadPackageFailed:AccessDenied

ネットワークタイムアウト。

DownloadPackageFailed:NetworkTimeout

ディスク領域が不足しています。

DownloadPackageFailed:NoEnoughSpace

予期しないファイル終端(不完全なデータまたは接続が途中で終了)。

DownloadPackageFailed:UnexpectedEOF

MD5 検証失敗

MD5 検証に失敗しました。

CheckMD5Failed

パッケージ展開失敗

パッケージ展開に失敗しました。

ExtractPackageFailed

実行可能ファイル検証失敗

実行可能ファイルの検証に失敗しました。

ValidateExecutableFailed

アップグレードスクリプト実行タイムアウト

スクリプトファイルが存在しません。

ExecuteUpdateScriptRunnerTimeout:FileNotExist

プロセスがシグナル(SIGKILL や SIGTERM など)によって終了しました。

ExecuteUpdateScriptRunnerTimeout:ExitedBySignal

プロセスが強制終了されました。

ExecuteUpdateScriptRunnerTimeout:Killed

異常なプロセス終了ステータス(予期しない終了コード)。

ExecuteUpdateScriptRunnerTimeout:UnexpectedExitStatus

アップグレードスクリプト実行失敗

スクリプトファイルが存在しません。

ExecuteUpdateScriptRunnerFailed:FileNotExist

プロセスがシグナル(SIGKILL や SIGTERM など)によって終了しました。

ExecuteUpdateScriptRunnerFailed:ExitedBySignal

プロセスが強制終了されました。

ExecuteUpdateScriptRunnerFailed:Killed

異常なプロセス終了ステータス(予期しない終了コード)。

ExecuteUpdateScriptRunnerFailed:UnexpectedExitStatus

イベント JSON サンプル

{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateFailed",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.3.529",
        "expectedVersion": "2.2.4.1007",
        "errorCode": "AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout",
        "errorInfo": "The aliyun service network is blocked.",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

クラウドアシスタントエージェント アップグレード成功通知イベント

イベントの説明

  • クラウドアシスタントエージェントは、デフォルトで 30 分ごとにバージョンアップグレードを自動的にチェックします。

  • アップグレード成功通知イベントをサブスクライブすることで、アップグレードのステータスを常に把握でき、トラブルシューティングが簡素化されます。

イベントフィールドの説明

フィールド

説明

instanceId

インスタンス ID。

i-bp114***************

currentVersion

クラウドアシスタントエージェントの現在のバージョン。

2.2.4.1007

occurrenceTime

アップグレード成功の発生時刻。

2026-02-28T03:30:00Z

イベント JSON サンプル

{
    "id": "f1e2d3c4-b5a6-7890-abcd-123456****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateCompleted",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.4.1007",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

本番環境に適用する際の推奨事項

  • 冪等性:ネットワーク障害やリトライなどにより、イベントシステムが同一のイベントを複数回配信する可能性があります。そのため、処理ロジックは冪等である必要があります。つまり、同一のイベントを複数回処理しても、1 回だけ処理した場合と同じ結果が得られる必要があります。イベント内の id または data.bizEventId を一意の識別子として利用できます。イベントを処理する前に、この ID が既に処理済みかどうかを確認してください。

  • リトライおよびデッドレターキュー:EventBridge のイベントターゲットを構成する際は、リトライポリシー および デッドレターキュー の構成を強く推奨します。処理関数が一時的に失敗した場合、EventBridge が自動的にリトライを実行します。リトライが失敗した場合、イベントは Message Service (MNS) キューなどのデッドレターキューに送信されます。その後、手動で調査および復旧を行い、データ損失を防止できます。

  • モニタリングおよびアラート:イベント処理関数自体をモニタリングします。実行成功率、実行時間、エラーログを監視し、アラートを設定します。これにより、処理ロジックが継続的に失敗した場合に即座に対応できます。

よくある質問

EventBridge を使用して クラウドアシスタント イベントをサブスクライブした後、イベント通知が受信できないのはなぜですか?

  1. 前提条件の確認:クラウドアシスタントエージェントのバージョンが要件を満たしているか確認します。

  2. EventBridge ルールの確認

    • EventBridge コンソールにログインします。ルールの イベントパターン が正しいか確認します。sourceacs.ecs である必要があり、type は正しいイベントタイプである必要があります。

    • イベントパターンのデバッグ 機能を使用して、ルールが実際のイベント JSON サンプルと一致するかどうかをテストします。

  3. イベントターゲットの健全性の確認

    • EventBridge コンソールのイベントルール詳細ページで、イベントターゲット の呼び出し記録およびエラーログを確認します。

    • Function Compute や Webhook などのターゲットサービスが正常に稼働しており、ネットワーク経由で到達可能であることを確認します。