기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
AWS PCS에서 로그 크기 조정
조정 로그는 AWS 병렬 컴퓨팅 서비스가 클러스터의 컴퓨팅 노드 그룹을 조정하는 방법에 대한 레코드를 제공합니다. 각 로그 항목은 인스턴스 시작, 노드 등록, 스케일 다운 또는 이유와 함께 시작 실패 등 하나의 컴퓨팅 노드에 대해 하나의 상태 전환을 기록합니다. 조정 로그를 사용하여 노드 그룹이 목표 크기에 도달하지 못한 이유, 용량상의 이유로 시작되지 않은 이유, 특정 노드가 시작되거나 중지된 시기와 같은 질문에 답할 수 있습니다.
조정 로그를 Amazon CloudWatch, Amazon Simple Storage Service(Amazon S3) 및 Amazon Data Firehose로 전송할 수 있습니다. 각 전환에 대해 AWS PCS는 다음 데이터를 기록합니다.
-
클러스터 및 컴퓨팅 노드 그룹 식별자
-
노드 이름
-
새 상태
-
사유 코드 및 사람이 읽을 수 있는 설명
-
인스턴스가 전환과 연결된 경우의 EC2 인스턴스 ID
-
해당하는 경우 인스턴스 유형 및 서브넷과 같은 시작 컨텍스트
AWS PCS는 로그 유형을 통해 조정 PCS_SCALING_LOGS 로그를 전달합니다. 조정 로그 전송은 옵트인됩니다. AWS PCS는 클러스터에 대한 전송을 구성할 때까지 클러스터에 대한 조정 로그를 전송하지 않습니다.
사전 조건
AWS PCS 클러스터를 관리하는 IAM 보안 주체는 pcs:AllowVendedLogDeliveryForResource 작업을 허용해야 합니다.
다음 예제 IAM 정책은 필요한 권한을 부여합니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PcsAllowVendedLogsDelivery", "Effect": "Allow", "Action": ["pcs:AllowVendedLogDeliveryForResource"], "Resource": [ "arn:aws:pcs:*::cluster/*" ] } ] }
조정 로그 설정
AWS Management Console 또는를 사용하여 AWS PCS 클러스터에 대한 조정 로그를 설정할 수 있습니다 AWS CLI.
조정 로그 찾기
CloudWatch Logs에서 로그 대상을 구성할 수 있으며 Amazon S3. AWS PCS는 다음과 같은 구조화된 경로 이름과 파일 이름을 사용합니다.
CloudWatch Logs
AWS PCS는 CloudWatch Logs 스트림에 다음 이름 형식을 사용합니다.
AWSLogs/PCS/cluster-id/node_lifecycle.log
예: AWSLogs/PCS/pcs_abc123de45/node_lifecycle.log.
Amazon S3
AWS PCS는 S3 경로에 다음 이름 형식을 사용합니다.
AWSLogs/account-id/PCS/region/cluster-id/node_lifecycle/year/month/day/hour/
예: AWSLogs/111122223333/PCS/us-east-1/pcs_abc123de45/node_lifecycle/2026/09/03/11/.
AWS PCS는 로그 파일에 다음 이름 형식을 사용합니다.
PCS_cluster-id_node_lifecycle_year-month-day-hour_random-id.log.gz
예: PCS_pcs_abc123de45_node_lifecycle_2026-09-03-11_04be080b.log.gz.
로그 필드 크기 조정
AWS PCS는 조정 로그 데이터를 JSON 객체로 기록합니다. 각 로그 항목에는 최상위 메타데이터 필드와 details 객체가 포함됩니다. 최상위 필드는 클러스터, 이벤트 시간, 컴퓨팅 노드 그룹 및 스케줄러 노드 ID를 식별합니다. details 객체에는 전환 세부 정보가 들어 있습니다.
다음 표에서는 각 로그 항목의 최상위 필드를 설명합니다.
| 이름 | 예시 값 | 필수 | 참고 |
|---|---|---|---|
resource_id |
"pcs_22l8nzr3t9" |
예 | AWS PCS 클러스터 ID |
resource_type |
"PCS_CLUSTER" |
예 | 항상 "PCS_CLUSTER" |
event_timestamp |
1789179816460 |
예 | 이벤트 발생 시 Unix epoch 밀리초 |
compute_node_group_id |
"pcs_56zr33g8" |
예 | 노드가 속한 컴퓨팅 노드 그룹 |
scheduler_node_id |
"compute-1" |
예 | 스케줄러 노드 ID |
status_code |
"LAUNCH_FAILED" |
예 | 노드의 새 상태입니다. 상태 코드 및 사유 코드 참조 |
reason_code |
"INSUFFICIENT_CAPACITY" |
예 | 전환이 발생한 이유 |
description |
"The launch failed because EC2 did not have enough capacity" |
예 | 상태 및 사유 코드에서 파생된 사람이 읽을 수 있는 요약 |
details |
{...} |
아니요 | 전환을 위한 추가 컨텍스트입니다. 키는 전환 유형에 따라 다릅니다. |
다음 표에서는 details 객체 내에 나타날 수 있는 키를 설명합니다.
| 이름 | 예시 값 | 필수 | 참고 |
|---|---|---|---|
instance_id |
"i-0abcdef01234567a" |
아니요 | 노드와 연결된 EC2 인스턴스입니다. 시작 실패 후와 같이 연결된 인스턴스가 없는 경우 없음 |
ec2_error_code |
"InsufficientInstanceCapacity" |
아니요 | 실패한 시작에 대한 EC2 오류 코드입니다. 계정에서 CreateFleet 호출의 CloudTrail 레코드에 동일한 코드가 나타납니다. |
instance_type |
"t4g.micro" |
아니요 | 시작된 인스턴스 유형 |
subnet_id |
"subnet-0abc123" |
아니요 | 시작의 대상이 되는 서브넷 |
상태 코드 및 사유 코드
status_code 필드는 노드가 입력한 상태를 알려줍니다. reason_code 필드에 이유를 알려줍니다. 예를 들어INSUFFICIENT_CAPACITY, 이유가 인 LAUNCH_FAILED 상태는 Amazon EC2가 대상 서브넷에서 요청된 인스턴스 유형에 용량을 제공할 수 없음을 의미합니다. 는 Amazon EC2 할당량이 시작을 차단했음을 LIMIT_EXCEEDED 의미합니다.
| 상태 코드 | 사유 코드 | 설명 |
|---|---|---|
LAUNCHED |
SCHEDULER_REQUESTED |
스케줄러 스케일 업 요청을 충족하기 위해 시작된 인스턴스 |
LAUNCHED |
MAINTAIN_MIN_CAPACITY |
노드 그룹의 최소 용량을 유지하기 위해 시작된 인스턴스 |
REGISTERED |
REGISTER_SUCCESS |
노드가 PCS 에이전트를 통해 성공적으로 등록됨 |
ACTIVE |
BOOTSTRAP_SUCCESS |
노드 부트스트랩이 완료됨, slurmd가 실행 중이고 작업을 수락함 |
PENDING_REPLACEMENT |
NODE_GROUP_UPDATE |
노드 그룹 업데이트를 위해 전원이 꺼지기 전에 노드가 드레이닝되고 있음 |
PENDING_REPLACEMENT |
EC2_HEALTH_CHECK_FAILED |
노드 또는 해당 인스턴스의 상태 확인이 실패하여 노드가 드레이닝 중입니다. |
PENDING_REPLACEMENT |
EC2_SCHEDULED_EVENT |
인스턴스에 예약된 EC2 유지 관리 이벤트가 있기 때문에 노드가 드레이닝 중입니다. |
LAUNCH_FAILED |
INSUFFICIENT_CAPACITY |
사용 가능한 용량이 충분하지 않아 노드가 인스턴스를 가져오지 못했습니다. |
LAUNCH_FAILED |
LIMIT_EXCEEDED |
계정 할당량을 초과하여 인스턴스 시작에 실패했습니다. |
LAUNCH_FAILED |
LAUNCH_ERROR |
노드가 인스턴스를 시작하지 못했습니다. |
TERMINATED |
SCHEDULER_REQUESTED |
스케줄러가 노드를 릴리스한 후 인스턴스가 종료됨(유휴 제한 시간 또는 전원 꺼짐) |
TERMINATED |
UNHEALTHY_NODE |
스케줄러가 노드를 비정상으로 보고하여 인스턴스가 종료됨 |
TERMINATED |
BOOTSTRAP_FAILED |
노드가 부트스트랩에 실패하여 인스턴스가 종료됨 |
TERMINATED |
EXTERNALLY_TERMINATED |
인스턴스가 PCS 외부에서 종료되었습니다. 노드는 노드를 교체할 수 있도록 릴리스되었습니다. |
TERMINATED |
REPLACEMENT_REQUESTED |
노드가 교체를 위해 드레이닝되어 인스턴스가 종료되었습니다. |
TERMINATED |
NODE_GROUP_DELETION |
컴퓨팅 노드 그룹 삭제의 일부로 종료된 인스턴스 |
TERMINATE_FAILED |
EC2_OPERATION_NOT_PERMITTED |
인스턴스 종료에 실패했습니다. 인스턴스에서 종료 방지 기능이 활성화되지 않았는지 확인 |
TERMINATE_FAILED |
EC2_ERROR |
인스턴스 종료 실패 |
로그 조정 예제
다음 예제에서는 성공적인 인스턴스 시작을 보여줍니다.
{ "resource_id": "pcs_abc123de45", "resource_type": "PCS_CLUSTER", "event_timestamp": 1789179816460, "compute_node_group_id": "pcs_abcdef01", "scheduler_node_id": "compute-1", "status_code": "LAUNCHED", "reason_code": "SCHEDULER_REQUESTED", "description": "Instance launched to satisfy a scheduler scale-up request.", "details": { "instance_id": "i-0abc12345def67890", "instance_type": "c6i.xlarge", "subnet_id": "subnet-0123456789abcdef0" } }
다음 예제에서는 EC2 용량 부족으로 인한 시작 실패를 보여줍니다. 시작된 인스턴스instance_id가 없기 때문에가 없습니다.
{ "resource_id": "pcs_abc123de45", "resource_type": "PCS_CLUSTER", "event_timestamp": 1789179816460, "compute_node_group_id": "pcs_abcdef01", "scheduler_node_id": "compute-2", "status_code": "LAUNCH_FAILED", "reason_code": "INSUFFICIENT_CAPACITY", "description": "Node did not get an instance because there was not enough capacity available.", "details": { "ec2_error_code": "InsufficientInstanceCapacity" } }