

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 컴퓨팅 작업 용량 사용률 추적
<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
    }
}
```

이 예제에서 대기열은 모든 디스패치된 작업에서 총 96vCPUs를 사용합니다.

------
#### [ 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` 필드는 대기열이 총 192vCPUs를 소비함을 보여줍니다. `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 및 메모리)
+ 작업 정의 및 컴퓨팅 환경 세부 정보
+ 예약 우선 순위 및 재시도 구성
+ 시작 및 중지 시간이 포함된 자세한 시도 정보
+ 컨테이너 로그에 액세스하기 위한 로그 스트림 정보