翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
PCS AWS でのログのスケーリング
スケーリングログは、 AWS Parallel Computing Service がクラスター内のコンピューティングノードグループをスケーリングする方法の記録を提供します。各ログエントリは、インスタンスの起動、ノード登録、スケールダウン、起動失敗など、1 つのコンピューティングノードに対して 1 つの状態遷移を記録します。スケーリングログを使用して、ノードグループがターゲットサイズに達しなかった理由、容量の理由で起動に失敗した理由、特定のノードがいつ起動または停止したかなどの質問に回答できます。
スケーリングログは、Amazon CloudWatch、Amazon Simple Storage Service (Amazon S3)、および Amazon Data Firehose に送信できます。移行ごとに、 AWS PCS は次のデータを記録します。
-
クラスターおよびコンピューティングノードグループ識別子
-
ノード名
-
新しいステータス
-
理由コードと人間が読める説明
-
インスタンスが移行に関連付けられているときの EC2 インスタンス ID
-
必要に応じて、インスタンスタイプやサブネットなどの起動コンテキスト
AWS PCS は、 ログタイプを通じてスケーリングPCS_SCALING_LOGSログを配信します。スケーリングログ配信はオプトインです。 AWS PCS は、配信を設定するまで、クラスターのスケーリングログを配信しません。
前提条件
PCS クラスターを管理する IAM AWS プリンシパルは、 pcs:AllowVendedLogDeliveryForResourceアクションを許可する必要があります。
次の IAM ポリシーの例では、必要なアクセス許可を付与します。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PcsAllowVendedLogsDelivery", "Effect": "Allow", "Action": ["pcs:AllowVendedLogDeliveryForResource"], "Resource": [ "arn:aws:pcs:*::cluster/*" ] } ] }
スケーリングログの設定
AWS マネジメントコンソール または を使用して、PCS AWS クラスターのスケーリングログを設定できます 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" |
はい | PCS AWS クラスター ID |
resource_type |
"PCS_CLUSTER" |
はい | 常に "PCS_CLUSTER" |
event_timestamp |
1789179816460 |
はい | イベント発生時の Unix エポックミリ秒 |
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" } }