

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

# コンピューティングジョブの容量使用率を追跡する
<a name="track-capacity-utilization-compute-jobs"></a>

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

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

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

1. ジョブを `RUNNABLE`や `RUNNING` () などのステータスで一覧表示します`ListJobs`。

1. 特定のジョブ () を調べます`DescribeJobs`。

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

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

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

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

1. 特定のジョブ () を調べます`DescribeJobs`。

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

サービスジョブの容量使用率の追跡については、「」を参照してください[サービスジョブの容量使用率を追跡する](track-capacity-utilization-service-jobs.md)。

**Topics**
+ [キューの使用率を確認する](#capacity-utilization-snapshots-compute)
+ [共有あたりの使用率を表示する](#share-utilization-monitoring-compute)
+ [コンピューティングジョブをステータス別に一覧表示して共有する](#list-compute-jobs-by-share)
+ [特定のコンピューティングジョブを調べる](#examine-compute-job)

## キューの使用率を確認する
<a name="capacity-utilization-snapshots-compute"></a>

[https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_GetJobQueueSnapshot.html) レスポンスの `queueUtilization`フィールドには、キューからディスパッチされたジョブによって消費されるコンピューティングキャパシティーのpoint-in-timeビューが表示されます。容量は、コンピューティングジョブの vCPUs で測定されます。

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

### キャパシティ使用率の表示 (AWS CLI)
<a name="capacity-snapshots-compute-cli"></a>

[get-job-queue-snapshot](https://docs.aws.amazon.com/cli/latest/reference/batch/get-job-queue-snapshot.html) コマンドを使用して、ジョブキューの容量使用率のスナップショットを取得します。

```
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

------

## 共有あたりの使用率を表示する
<a name="share-utilization-monitoring-compute"></a>

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

この情報は、以下に役立ちます。
+ リソースを最も多く消費する共有を特定します。
+ 公平配分スケジューリングが想定どおりにリソースを配布していることを確認します。
+ 割り当てを飽和または十分に活用していない可能性のある共有を検出します。
+ スケジューリングポリシーで共有の重みを調整するかどうかを決定します。

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

## コンピューティングジョブをステータス別に一覧表示して共有する
<a name="list-compute-jobs-by-share"></a>

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

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

### コンピューティングジョブを一覧表示する (AWS CLI)
<a name="list-compute-jobs-by-share-cli"></a>

list[-jobs](https://docs.aws.amazon.com/cli/latest/reference/batch/list-jobs.html) コマンドと `--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"
        }
    ]
}
```

## 特定のコンピューティングジョブを調べる
<a name="examine-compute-job"></a>

目的のコンピューティングジョブを特定したら、 [https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)オペレーションを使用して、現在のステータス、コンテナの詳細、リソース設定など、ジョブに関する包括的な情報を取得します。

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

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

このコマンドは、次のようなジョブに関する包括的な情報を返します。
+ ジョブ ARN と現在のステータス
+ コンテナ設定とリソース要件 (vCPUsとメモリ)
+ ジョブ定義とコンピューティング環境の詳細
+ 優先度と再試行設定のスケジューリング
+ 開始時刻と停止時刻を含む詳細な試行情報
+ コンテナログにアクセスするためのログストリーム情報