View a markdown version of this page

コンピューティングジョブの容量使用率を追跡する - AWS Batch

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

コンピューティングジョブの容量使用率を追跡する

AWS Batch には、キュー内の ECS、EKS、Fargate コンピューティングジョブの容量使用率を追跡するために一緒に使用できる複数の API オペレーションが用意されています。モニタリングワークフローは、ジョブキューにアタッチされているスケジューリングポリシーのタイプによって異なります。

先入れ先出し (FIFO) スケジューリングポリシーを使用するジョブキューの場合:

  1. キューの合計使用率 () を確認しますGetJobQueueSnapshot

  2. ジョブを RUNNABLERUNNING () などのステータスで一覧表示しますListJobs

  3. 特定のジョブ () を調べますDescribeJobs

公平配分 (FSS) スケジューリングポリシーを使用するジョブキューの場合:

  1. キューの合計使用率 () を確認しますGetJobQueueSnapshot

  2. 共有あたりの使用率 () を表示しますGetJobQueueSnapshot

  3. ステータス別にジョブを一覧表示し、 RUNNABLERUNNING () など、使用率に積極的に寄与しているジョブを共有しますListJobs

  4. 特定のジョブ () を調べますDescribeJobs

以下のセクションでは、各ステップについて詳しく説明します。

サービスジョブの容量使用率の追跡については、「」を参照してくださいサービスジョブの容量使用率を追跡する

キューの使用率を確認する

GetJobQueueSnapshot レスポンスの queueUtilizationフィールドには、キューからディスパッチされたジョブによって消費されるコンピューティングキャパシティーのpoint-in-timeビューが表示されます。容量は、コンピューティングジョブの vCPUs で測定されます。

公平配分スケジューリングポリシーを使用するジョブキューの場合、レスポンスには共有ごとの内訳も含まれるため、共有間で容量がどのように配分されるかを確認できます。詳細については、「共有あたりの使用率を表示する」を参照してください。

キャパシティ使用率の表示 (AWS CLI)

get-job-queue-snapshot コマンドを使用して、ジョブキューの容量使用率のスナップショットを取得します。

aws batch get-job-queue-snapshot \ --job-queue my-job-queue

レスポンスは、ジョブキューにアタッチされているスケジューリングポリシーによって異なります。スケジューリングポリシータイプのタブを選択すると、レスポンスの例が表示されます。

First-in, first-out (FIFO)

コンピューティングジョブを実行する FIFO ジョブキューのレスポンスの例を次に示します。FIFO キューはスケジューリングポリシーを使用しないため、レスポンスには共有あたりの使用率は含まれません。

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 96.0 } ], "lastUpdatedAt": 1700000000000 } }

この例では、キューはディスパッチされたすべてのジョブで合計 96 vCPUs を消費します。

Fair-share scheduling (FSS)

以下は、公平配分ジョブキューのレスポンスの例です。queueUtilization オブジェクトには、キューからディスパッチされたすべてのジョブが消費した合計容量のpoint-in-timeスナップショットと、共有ごとの内訳が含まれます。

{ "frontOfQueue": { "jobs": [], "lastUpdatedAt": 1700000000000 }, "queueUtilization": { "totalCapacityUsage": [ { "capacityUnit": "vCPU", "quantity": 192.0 } ], "fairshareUtilization": { "activeShareCount": 2, "topCapacityUtilization": [ { "shareIdentifier": "team-a", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 128.0 } ] }, { "shareIdentifier": "team-b", "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 64.0 } ] } ] }, "lastUpdatedAt": 1700000000000 } }

この例では、 totalCapacityUsageフィールドはキューが合計 192 個の vCPUsを消費していることを示しています。fairshareUtilization オブジェクトには、共有ごとの内訳が表示されます。共有は 128 vCPUs をteam-a消費し、共有は 64 個の vCPU をteam-b消費します。 vCPUs

共有あたりの使用率を表示する

公平配分スケジューリングポリシーを持つジョブキューの場合、 からのqueueUtilizationレスポンスには、上位のアクティブな共有を消費別に一覧表示するtopCapacityUtilization配列を持つfairshareUtilizationオブジェクトGetJobQueueSnapshotが含まれます。

この情報は、以下に役立ちます。

  • リソースを最も多く消費する共有を特定します。

  • 公平配分スケジューリングが想定どおりにリソースを配布していることを確認します。

  • 割り当てを飽和または十分に活用していない可能性のある共有を検出します。

  • スケジューリングポリシーで共有の重みを調整するかどうかを決定します。

公平配分スケジューリングポリシーの詳細については、「」を参照してください公平配分スケジューリングポリシー

コンピューティングジョブをステータス別に一覧表示して共有する

キュー全体と共有ごとの使用率を特定したら、 ListJobs API オペレーションを使用して、使用率に積極的に寄与しているコンピューティングジョブを見つけます。ジョブステータスでフィルタリングしてRUNNING、、RUNNABLE、または別の状態のジョブを表示できます。公平配分スケジューリングポリシーを持つキューの場合、共有識別子でフィルタリングして結果を特定の共有に絞り込むこともできます。

注記

SHARE_IDENTIFIER フィルターは、 jobStatusパラメータと組み合わせることができる唯一のフィルターです。他のフィルターを使用すると、 jobStatusパラメータは無視されます。

コンピューティングジョブを一覧表示する (AWS CLI)

list-jobs コマンドと --job-statusパラメータを使用して、ステータスでフィルタリングします。

キューで実行中のコンピューティングジョブを表示します。

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNING

ディスパッチ待ちのコンピューティングジョブを表示します。

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNABLE

公平配分スケジューリングポリシーを持つキューの場合、 --filtersパラメータを とともに使用SHARE_IDENTIFIERして、特定の共有のジョブを一覧表示します。これは、キャパシティ消費量が多い共有を特定し、どのジョブが責任を負うかを確認する場合に便利です。

公平配分キューから共有のRUNNINGコンピューティングジョブのみを一覧表示します。

aws batch list-jobs \ --job-queue my-job-queue \ --job-status RUNNING \ --filters name=SHARE_IDENTIFIER,values="team-a"

以下は、実行中のコンピューティングジョブを一覧表示するためのレスポンスの例です。

{ "jobSummaryList": [ { "jobArn": "arn:aws:batch:us-east-1:123456789012:job/b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobId": "b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f", "jobName": "my-data-processing-job", "status": "RUNNING", "shareIdentifier": "team-a", "createdAt": 1700000000000, "startedAt": 1700000120000, "capacityUsage": [ { "capacityUnit": "vCPU", "quantity": 4.0 } ], "container": { "exitCode": null }, "jobDefinition": "arn:aws:batch:us-east-1:123456789012:job-definition/my-job-def:1" } ] }

特定のコンピューティングジョブを調べる

目的のコンピューティングジョブを特定したら、 DescribeJobsオペレーションを使用して、現在のステータス、コンテナの詳細、リソース設定など、ジョブに関する包括的な情報を取得します。

特定のコンピューティングジョブに関する詳細情報を表示します。

aws batch describe-jobs \ --jobs b5e7d839-9ff9-5d76-9f3b-0b6f9g5c8e4f

このコマンドは、次のようなジョブに関する包括的な情報を返します。

  • ジョブ ARN と現在のステータス

  • コンテナ設定とリソース要件 (vCPUsとメモリ)

  • ジョブ定義とコンピューティング環境の詳細

  • 優先度と再試行設定のスケジューリング

  • 開始時刻と停止時刻を含む詳細な試行情報

  • コンテナログにアクセスするためのログストリーム情報