AWS Deadline Cloud のイベントを Amazon EventBridge で監視してみた
こんにちは。ゲームソリューションの出村です。
皆さんは AWS Deadline Cloud を利用していますか? Deadline Cloud は、AWSをレンダリングファームとして活用できるマネージドサービスです。
Deadline Cloud は Amazon EventBridge と連携することで、ジョブ管理などができる他、ジョブやタスクのステータス変化をリアルタイムに取得できます。これを活用すれば、「レンダリングが完了したら通知を送る」「特定のタスクが失敗したらアラートを上げる」といった自動化が実現可能です。
ここでは、実際にDeadline Cloudでレンダリングを実行し、EventBridge にどのようなイベントが発行されるかを検証してみました。
公式ドキュメントは以下を参照してください。
ジョブとタスクの関係
イベントの内容を理解するために、まずジョブとタスクの関係を整理しておきます。
| 概念 | 説明 |
|---|---|
| ジョブ(Job) | レンダリングにおける「1つの作業依頼全体」。例えば「シーン全体を 250 フレームレンダリングする」という単位 |
| タスク(Task) | ジョブを細かく分割した「実行単位」。例えば「1フレームごと」や「数フレームごと」のレンダリング処理 |
つまり、1つのジョブは複数のタスクから構成されています。
押さえておくべきイベントタイプ
ドキュメントにはさまざまなイベントタイプが記載されていますが、実際のレンダリングファーム運用で重要なのは以下の2つではないかと思います。
- Task Run Status Change — タスク単位のステータス変化
- Job Run Status Change — ジョブ単位のステータス変化
タスクのステータス変化のイベントを取得することで、現在のジョブが順調に処理されているのか、どこかでなにか失敗しているのか、といったことを調べることができます。またジョブのステータス変化のイベントを取得することで、ジョブの進行状況が取得できます。
では、これらを順にもう少し詳しくみていきましょう。
Task Run Status Change — タスクのステータス変化
Task Run Status Change イベントでは、個々のタスクのステータス変化をキャッチできます。タスクは基本的に以下の順序でステータスが遷移します。
READY → SCHEDULED → RUNNING → SUCCEEDED
これ以外にも、失敗時にはFAILEDが発行されるなどのイベントも取得できます。
イベントログの例
実際に出力されたイベントログは以下のとおりです。previousRunStatus に変更前のステータス、runStatus に変更後のステータスが格納されています。
{
"version": "0",
"id": "2e7742e5-e67e-598f-c2a8-bcb703026bbe",
"detail-type": "Task Run Status Change",
"source": "aws.deadline",
"account": "123456789012",
"time": "2026-02-27T08:38:43Z",
"region": "ap-northeast-1",
"resources": [],
"detail": {
"farmId": "farm-0123456789abcdef0123456789abcdef",
"queueId": "queue-0123456789abcdef0123456789abcdef",
"jobId": "job-0123456789abcdef0123456789abcdef",
"stepId": "step-0123456789abcdef0123456789abcdef",
"taskId": "task-0123456789abcdef0123456789abcdef-0",
"previousRunStatus": "READY",
"runStatus": "SCHEDULED"
}
}
Job Run Status Change — ジョブのステータス変化
Job Run Status Change イベントでは、ジョブ全体のステータス変化を監視できます。このイベントで注目すべきフィールドは以下の 2 つです。
| フィールド | 説明 |
|---|---|
previousTaskRunStatus |
変更前のステータス |
taskRunStatus |
変更後のステータス |
さらに、taskRunStatusCounts フィールドには各ステータスごとのタスク数が出力されます。この情報を参照することで、「レンダリングがどこまで進んでいるか」「いくつのタスクが成功(完了)しているか」といった進捗状況をリアルタイムに把握できます。
レンダリング実行中のイベントログ
以下はレンダリング実行中に取得したイベントログの例です。SUCCEEDED が 147 となっており、250 タスク中 147 タスクが完了していることがわかります。なお、250 という数値はイベントに直接記載されていませんが、taskRunStatusCounts 内の全ステータスの数値を合算することで算出できます。
{
"version": "0",
"id": "02d80516-a749-be3b-d718-d6ef5476c164",
"detail-type": "Job Run Status Change",
"source": "aws.deadline",
"account": "123456789012",
"time": "2026-02-27T09:11:53Z",
"region": "ap-northeast-1",
"resources": [],
"detail": {
"farmId": "farm-0123456789abcdef0123456789abcdef",
"queueId": "queue-0123456789abcdef0123456789abcdef",
"jobId": "job-0123456789abcdef0123456789abcdef",
"previousTaskRunStatus": "RUNNING",
"taskRunStatus": "ASSIGNED",
"taskRunStatusCounts": {
"PENDING": 0,
"READY": 101,
"RUNNING": 0,
"ASSIGNED": 1,
"STARTING": 0,
"SCHEDULED": 1,
"INTERRUPTING": 0,
"SUSPENDED": 0,
"CANCELED": 0,
"FAILED": 0,
"SUCCEEDED": 147,
"NOT_COMPATIBLE": 0
}
}
}
レンダリング完了時のイベントログ
すべてのタスクが完了すると、以下のようなイベントが発行されます。今回は250のジョブに分割されたデータをレンダリングしたため、SUCCEEDED が250となり、それ以外のステータスのカウントはすべて0です。これにより、全タスクが正常に完了した=レンダリングが完了したことを確認できます。
{
"version": "0",
"id": "dc5eb875-c6ad-0dfe-1cb6-34b6ee444ae8",
"detail-type": "Step Run Status Change",
"source": "aws.deadline",
"account": "123456789012",
"time": "2026-02-27T09:34:27Z",
"region": "ap-northeast-1",
"resources": [],
"detail": {
"farmId": "farm-0123456789abcdef0123456789abcdef",
"queueId": "queue-0123456789abcdef0123456789abcdef",
"jobId": "job-0123456789abcdef0123456789abcdef",
"stepId": "step-0123456789abcdef0123456789abcdef",
"previousTaskRunStatus": "RUNNING",
"taskRunStatus": "SUCCEEDED",
"taskRunStatusCounts": {
"PENDING": 0,
"READY": 0,
"RUNNING": 0,
"ASSIGNED": 0,
"STARTING": 0,
"SCHEDULED": 0,
"INTERRUPTING": 0,
"SUSPENDED": 0,
"CANCELED": 0,
"FAILED": 0,
"SUCCEEDED": 250,
"NOT_COMPATIBLE": 0
}
}
}
さいごに
レンダーファームでの処理は長時間にわたることが多く、完了を待って手動で次の作業に取りかかるのは非効率です。EventBridge のイベントを活用すれば、レンダリング結果を自動的に次のプロセスへ引き渡すといった処理が実現できます。
たとえば、レンダリング完了時の Slack 通知や、失敗時のリトライ処理など、さまざまな自動化ワークフローが考えられます。
Deadline Cloud と EventBridge を組み合わせて、レンダーファームの自動化を進めてみてはいかがでしょうか。






