

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

# ジョブのフック、イベント、統合ポイント
<a name="integration-points"></a>

Deadline Cloud には、ジョブを中心に独自のロジックを実行できる*統合ポイント*がいくつか用意されています。統合ポイントは、Deadline Cloud がワーカーを準備するスクリプトやジョブイベントに反応するルールなど、設定したサービスに対してカスタムコードまたはハンドコントロールを実行するジョブライフサイクル内の場所です。統合ポイントを使用して Deadline Cloud を本番パイプラインに適応させます。ソフトウェアのインストール、環境変数の設定、ジョブの検証または変更、出力の処理、ダウンストリームオートメーションのトリガーを行います。

統合ポイントは 3 つの質問で異なります。
+ **コードが実行される場所** — ワークステーション、ワーカー、または AWS クラウド。
+ **実行時** – 送信時、作業の前後、またはイベントへの対応時。
+ **設定場所 – **ワークステーション設定、ジョブバンドル、キューまたはフリートプロパティ、または独自の AWS アカウント。

次の図は、ジョブのライフサイクル中に各統合ポイントが実行される場所を示しています。ワークステーションへの送信から、ワーカーの実行、 AWS アカウントのイベント駆動型オートメーションへのフローを制御します。
+ **ワークステーション** – 送信者フックとホスト設定スクリプトは 1 回実行されます。
+ **ワーカー** – キュー、ジョブ、ステップ環境では、セッションスコープの入退出アクションを使用します。タスク実行は作業を実行します。依存ステップは、タスクの完了後に実行されます。
+ **AWS アカウント** – EventBridge イベントと CloudWatch メトリクスとアラームは、状態の変化に非同期的に応答します。

![ワークステーション、ワーカー、クラウド間のジョブライフサイクル統合ポイント。](http://docs.aws.amazon.com/ja_jp/deadline-cloud/latest/developerguide/images/integration-points-diagram.png)


次の表は、統合ポイントをまとめたものです。上記の質問に対する回答に基づいて 1 つ選択します。表の後のセクションでは、各オプションと詳細な手順へのリンクについて説明します。


| 統合ポイント | で実行 | で設定 | 実行時 | に を使用する | 
| --- | --- | --- | --- | --- | 
| 送信者フック | ワークステーション | ワークステーション設定 (すべてのジョブ) またはジョブバンドル | 送信中、ジョブが作成される前に | 環境変数の挿入または上書き、ジョブバンドルの検証または書き換え、送信時の本番追跡ソフトウェアとの同期 | 
| ホスト設定スクリプト | ワーカー | フリートプロパティ (サービスマネージドフリート) | 起動時に管理者権限を持つワーカーごとに 1 回 | ネットワーク設定、昇格された権限を必要とするソフトウェアのインストール | 
| キュー環境 | ワーカー | キュープロパティ | キュー内のすべてのジョブについて、セッションが入るまたは終了するとき | プロジェクトレベルの設定: 管理者以外のソフトウェアのインストール、共有環境変数、ライセンスまたはデーモンの設定 | 
| ジョブ環境 | ワーカー | ジョブバンドルまたはジョブテンプレート | ジョブの前後に | ジョブごとのセットアップとティアダウン | 
| ステップ環境 | ワーカー | ジョブバンドルまたはステップテンプレート | ステップの前と後 | ステップごとのセットアップとティアダウン | 
| 依存ステップ | ワーカー | ジョブバンドルまたはステップテンプレート (`dependsOn`) | 同じジョブの前のステップが成功した後 | フレームを映画にエンコードしたり、サムネイルを生成したりするなど、出力ファイルをローカルで必要とするレンダリング後の作業 | 
| Amazon EventBridge (EventBridge) イベント | AWS クラウド |  AWS アカウント (ルールとターゲット) | ジョブ、ステップ、タスク、フリート、または予算の状態の変更 | 本番稼働用追跡、通知、クラウドオートメーション、キュー間のジョブの連鎖 | 
| Amazon CloudWatch (CloudWatch) メトリクスとアラーム | AWS クラウド |  AWS アカウント | 継続的に、しきい値に対して | ライセンス可用性 (`LicensesInUse`) やフリート容量など、イベントが発生しない条件 | 

## ワークステーションでカスタムロジックを実行する
<a name="integration-points-workstation"></a>

送信者フックは、ジョブがサービスに到達する前に、送信中に実行されます。ワークステーションごとに設定し、ワークステーションから送信されたすべてのジョブに適用されるか、ジョブバンドル内に適用します。送信者フックは、送信フローのさまざまなポイントでバンドルを変更できます。環境変数の挿入、送信の検証、または送信時の本番追跡ソフトウェアとの同期に使用します。

詳細については、「[送信フック](submission-hooks.md)」を参照してください。

## ワーカーでカスタムロジックを実行する
<a name="integration-points-worker"></a>

次の統合ポイントは、レンダリングホストで実行されます。最も広いスコープから最も狭いスコープにネストされます。
+ **ホスト設定スクリプトは**、ワーカーの起動時に管理者権限で 1 回実行されます。ホスト設定スクリプトは、サービスマネージドフリート (SMFs。カスタマーマネージドフリート (CMF) では、代わりに独自のイメージをベイクします。ネットワークのセットアップと管理者レベルのソフトウェアのインストールには、ホスト設定スクリプトを使用します。
+ **キュー環境、ジョブ環境、ステップ環境**はそれぞれ `onEnter`アクションと `onExit`アクションを定義します。アクションは、ワーカーのセッションがスコープに入ったときに実行され、逆の順序でセッションがスコープを終了したときに実行されます。キュー環境は、共有ソフトウェア、環境変数、ライセンスまたはデーモンの設定など、キュー内のすべてのジョブに適用されるプロジェクトレベルの設定に適しています。ジョブ環境とステップ環境は、スコープを単一のジョブまたはステップに絞り込みます。
+ **依存ステップ**は、 がレンダリングステップに依存する`dependsOn`ために使用する 2 番目のステップを追加します。たとえば、映画をレンダリングしてエンコードしたり、レンダリングしてサムネイルを生成したりできます。ステップは同じジョブに留まるため、出力はすでにローカルです。依存ステップには、カスタム送信者または手書きのジョブバンドルが必要です。Job-to-job依存関係はネイティブではありません。個別のジョブを連鎖させるには、次のセクションで説明するように、クラウド内のイベントを使用します。

**注記**  
環境はセッションスコープであり、タスクごとではありません。`onExit` アクションは、すべてのタスクの後ではなく、セッションのティアダウンで実行されます。Deadline 10 タスク後のコールバックを移行する場合は、環境`onExit`アクションの代わりに依存ステップを使用します。

詳細については次を参照してください:
+ [管理者権限を持つホスト設定スクリプトを実行する](smf-admin.md)
+ [キュー環境を作成する](https://docs.aws.amazon.com/deadline-cloud/latest/userguide/create-queue-environment.html)
+ [ジョブにアプリケーションを提供する](provide-applications.md)
+ [ステップの依存関係](build-jobs-scheduling.md#jobs-scheduling-dependencies)
+ GitHub ウェブサイトの `onEnter`および `onExit` スコープの[ジョブ記述テンプレートスキーマ](https://github.com/OpenJobDescription/openjd-specifications/wiki/2023-09-Template-Schemas)を開く

## クラウド内のイベントに対応する
<a name="integration-points-cloud"></a>

EventBridge と CloudWatch を使用すると、ファームの容量を消費することなく、ジョブアクティビティに対応できます。ジョブの一部として実行するのではなく、ロジックがジョブの結果に応答するときに使用します。
+ Deadline Cloud は、ソースを含むイベント`aws.deadline`を AWS アカウントのデフォルトのイベントバスに送信します。イベントには、ジョブ、ステップ、タスクの状態の変更、フリートサイズの推奨事項、予算のしきい値が含まれます。ルール、 AWS Lambda (Lambda) 関数、およびデッドレターキュー (DLQ) を所有している。通知、アセット登録、またはキュー間のジョブの連鎖 (Lambda へのイベントまたは () から へのイベント) のルールを Lambda 関数にワイヤリングします`CreateJob`。配信はベストエフォートであり、イベントが順不同で到着する可能性があるため、コンシューマーをべき等にし、再試行と DLQ を設定します。
+ CloudWatch メトリクスとアラームは、EventBridge が適用しない条件をカバーします。最も重要なのは、可用性とフリート容量をライセンスすることです。ライセンスの可用性に関するイベントが存在しないため、`LicensesInUse`メトリクスと制限数を警告します。`Fleet Size Recommendation Change` イベントと `RecommendedFleetSize`メトリクスは、カスタマーマネージドフリートの自動スケーリングも推進します。

詳細については次を参照してください:
+ [を使用した Deadline Cloud イベントの管理 Amazon EventBridge](eventbridge-integration.md)
+ [Deadline Cloud イベントの詳細リファレンス](events-detail-reference.md)
+ [CloudWatch メトリクス](cloudwatch-metrics.md)
+ [Amazon EC2 Auto Scaling グループを使用してフリートインフラストラクチャを作成する](create-auto-scaling.md)
+ *EventBridge *[サービスリファレンスの Deadline Cloud イベント](https://docs.aws.amazon.com/eventbridge/latest/ref/events-ref-deadline.html) 
+ *Lambda デベロッパーガイド*の[非同期呼び出し](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) 
+ *EventBridge *[ユーザーガイドのイベント再試行ポリシーとデッドレターキューの使用](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rule-retry-policy.html) 

## 統合ポイントを選択する
<a name="integration-points-choose"></a>

一般的なニーズに合わせて統合ポイントを選択するには、次のガイダンスを使用します。
+ ジョブを送信する前に変更するには、送信者フックを使用します。
+ 作業の周囲でレンダーホストでロジックを実行するには、ホスト設定スクリプトまたはキュー、ジョブ、またはステップ環境を使用します。最も広範なスコープを選択し、プロジェクトレベルの設定にキュー環境を使用します。
+ ジョブ出力をローカルのまま処理するには、依存ステップを使用します。
+ ファームの容量を消費せずにジョブの結果に対応するには、Lambda 関数で EventBridge ルールを使用します。
+ ライセンスや容量の制限など、イベントが発生しない条件の場合は、CloudWatch アラームを使用します。

## その他のリソース
<a name="integration-points-resources"></a>

関連する概念と参考資料については、以下を参照してください。
+ [Deadline Cloud に送信するジョブを構築する](building-jobs.md)
+ [キュー環境を使用してジョブを設定する](configure-jobs.md)
+ [AWSDeadline Cloud のモニタリング](monitoring-overview.md)