View a markdown version of this page

Scalabilità degli accessi AWS 2 PEZZI - AWS PEZZI

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Scalabilità degli accessi AWS 2 PEZZI

I log di scalabilità forniscono una registrazione del modo in cui AWS Parallel Computing Service ridimensiona i gruppi di nodi di calcolo nel cluster. Ogni voce di registro registra una transizione di stato per un nodo di calcolo: ad esempio, l'avvio di un'istanza, la registrazione di un nodo, un ridimensionamento o un errore di avvio con il relativo motivo. È possibile utilizzare i log di ridimensionamento per rispondere a domande come il motivo per cui un gruppo di nodi non ha raggiunto la dimensione desiderata, quali avvii non sono riusciti per motivi di capacità e quando un nodo specifico è stato avviato o interrotto.

Puoi inviare log di scalabilità ad Amazon CloudWatch, Amazon Simple Storage Service (Amazon S3) e Amazon Data Firehose. Per ogni transizione, AWS PCS registra i seguenti dati:

  • Identificatori dei gruppi di cluster e nodi di calcolo

  • Il nome del nodo

  • Il nuovo stato

  • Un codice di motivazione e una descrizione leggibile dall'uomo

  • L'ID dell'istanza EC2, quando un'istanza è associata alla transizione

  • Contesto di avvio, ad esempio tipo di istanza e sottorete, se pertinente

AWS PCS fornisce log di scalabilità in base al tipo di PCS_SCALING_LOGS registro. La distribuzione scalabile dei log è facoltativa. AWS PCS non fornisce log di scalabilità per un cluster finché non si configura una distribuzione per esso.

Prerequisiti

Il responsabile IAM che gestisce il cluster AWS PCS deve consentire l'pcs:AllowVendedLogDeliveryForResourceazione.

Il seguente esempio di policy IAM concede le autorizzazioni richieste.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "PcsAllowVendedLogsDelivery", "Effect": "Allow", "Action": ["pcs:AllowVendedLogDeliveryForResource"], "Resource": [ "arn:aws:pcs:*::cluster/*" ] } ] }

Configura i log di scalabilità

È possibile impostare i log di scalabilità per il cluster AWS PCS con o. Console di gestione AWS AWS CLI

Console di gestione AWS
Per configurare i log di scalabilità con la console
  1. Aprire la console AWS PCS.

  2. Nel pannello di navigazione scegliere Cluster.

  3. Scegli il cluster in cui desideri aggiungere i log di ridimensionamento.

  4. Nella pagina dei dettagli del cluster, scegli la scheda Logs.

  5. In Scaling Logs, scegli Aggiungi per aggiungere fino a 3 destinazioni di distribuzione dei CloudWatch log tra Logs, Amazon S3 e Firehose.

  6. Scegli Aggiorna le consegne dei log.

AWS CLI
Per configurare la scalabilità dei log con AWS CLI
  1. Crea una destinazione di consegna dei log:

    aws logs put-delivery-destination --region region \ --name pcs-logs-destination \ --delivery-destination-configuration \ destinationResourceArn=resource-arn

    Sostituire:

    • region— La Regione AWS posizione in cui desideri creare la destinazione, ad esempio us-east-1

    • pcs-logs-destination— Un nome per la destinazione

    • resource-arn— L'Amazon Resource Name (ARN) di un gruppo di CloudWatch log Logs, di un bucket S3 o di un flusso di consegna Firehose.

    Per ulteriori informazioni, consulta Amazon CloudWatch Logs PutDeliveryDestination API Reference.

  2. Imposta il cluster PCS come fonte di distribuzione dei log:

    aws logs put-delivery-source --region region \ --name cluster-logs-source-name \ --resource-arn cluster-arn \ --log-type PCS_SCALING_LOGS

    Sostituire:

    • region— Il Regione AWS nome del tuo cluster, ad esempio us-east-1

    • cluster-logs-source-name— Un nome per la fonte

    • cluster-arn— l'ARN del tuo cluster AWS PCS

    Per ulteriori informazioni, consulta PutDeliverySource la sezione Amazon CloudWatch Logs API Reference.

  3. Collega l'origine di consegna alla destinazione di consegna:

    aws logs create-delivery --region region \ --delivery-source-name cluster-logs-source \ --delivery-destination-arn destination-arn

    Sostituire:

    • region— Il Regione AWS, ad esempio us-east-1

    • cluster-logs-source— Il nome della fonte di consegna

    • destination-arn— L'ARN della destinazione di consegna

    Per ulteriori informazioni, consulta CreateDelivery la sezione Amazon CloudWatch Logs API Reference.

Individuazione dei log di scalabilità

Puoi configurare le destinazioni dei CloudWatch log in Logs e Amazon S3. AWS PCS utilizza i seguenti nomi di percorso strutturati e nomi di file.

CloudWatch Registri

AWS PCS utilizza il seguente formato di nome per il flusso di CloudWatch log:

AWSLogs/PCS/cluster-id/node_lifecycle.log

Ad esempio, AWSLogs/PCS/pcs_abc123de45/node_lifecycle.log

Simple Storage Service (Amazon S3)

AWS PCS utilizza il seguente formato di nome per il percorso S3:

AWSLogs/account-id/PCS/region/cluster-id/node_lifecycle/year/month/day/hour/

Ad esempio, AWSLogs/111122223333/PCS/us-east-1/pcs_abc123de45/node_lifecycle/2026/09/03/11/

AWS PCS utilizza il seguente formato di nome per i file di registro:

PCS_cluster-id_node_lifecycle_year-month-day-hour_random-id.log.gz

Ad esempio, PCS_pcs_abc123de45_node_lifecycle_2026-09-03-11_04be080b.log.gz

Ridimensionamento dei campi di registro

AWS PCS scrive i dati di registro di ridimensionamento come oggetti JSON. Ogni voce di registro contiene campi di metadati di primo livello e un oggetto. details I campi di primo livello identificano il cluster, l'ora dell'evento e gli ID del gruppo di nodi di calcolo e dei nodi dello scheduler. L'detailsoggetto contiene i dettagli della transizione.

La tabella seguente descrive i campi di primo livello in ogni voce di registro.

Top-level campi
Nome Valore di esempio Richiesto Note
resource_id "pcs_22l8nzr3t9" Sì L'ID del cluster AWS PCS
resource_type "PCS_CLUSTER" Sì Sempre "PCS_CLUSTER"
event_timestamp 1789179816460 Sì Epoca Unix (millisecondi) in cui si è verificato l'evento
compute_node_group_id "pcs_56zr33g8" Sì Il gruppo di nodi di calcolo a cui appartiene il nodo
scheduler_node_id "compute-1" Sì L'id del nodo di pianificazione
status_code "LAUNCH_FAILED" Sì Il nuovo stato del nodo. Per informazioni, consultare Codici di stato e codici motivazionali
reason_code "INSUFFICIENT_CAPACITY" Sì Perché è avvenuta la transizione
description "The launch failed because EC2 did not have enough capacity" Sì Un riepilogo leggibile dall'uomo derivato dai codici di stato e motivo
details {...} No Contesto aggiuntivo per la transizione. Le chiavi dipendono dal tipo di transizione

La tabella seguente descrive le chiavi che possono apparire all'interno dell'detailsoggetto.

Campi all'interno dell'oggetto dei dettagli
Nome Valore di esempio Richiesto Note
instance_id "i-0abcdef01234567a" No L'istanza EC2 associata al nodo. Assente quando non è associata alcuna istanza, ad esempio dopo un errore di avvio
ec2_error_code "InsufficientInstanceCapacity" No Il codice di errore EC2 per un avvio fallito. Lo stesso codice appare nel CloudTrail record della CreateFleet chiamata nel tuo account
instance_type "t4g.micro" No Il tipo di istanza avviato
subnet_id "subnet-0abc123" No La sottorete oggetto del lancio

Codici di stato e codici motivazionali

Il status_code campo indica lo stato immesso dal nodo. Il reason_code campo indica il motivo. Ad esempio, uno LAUNCH_FAILED stato con un INSUFFICIENT_CAPACITY motivo indica che Amazon EC2 non è in grado di fornire capacità per il tipo di istanza richiesto nella sottorete di destinazione. A LIMIT_EXCEEDED significa che una quota Amazon EC2 ha bloccato il lancio.

Codici di stato e codici causali
Codice di stato Codice di motivo Description
LAUNCHED SCHEDULER_REQUESTED Istanza lanciata per soddisfare una richiesta di scalabilità dello scheduler
LAUNCHED MAINTAIN_MIN_CAPACITY Istanza avviata per mantenere la capacità minima del gruppo di nodi
REGISTERED REGISTER_SUCCESS Nodo registrato correttamente tramite l'agente PCS
ACTIVE BOOTSTRAP_SUCCESS Il bootstrap del nodo è stato completato; slurmd è in esecuzione e accetta lavori
PENDING_REPLACEMENT NODE_GROUP_UPDATE Il nodo si sta esaurendo prima di essere spento per un aggiornamento del gruppo di nodi
PENDING_REPLACEMENT EC2_HEALTH_CHECK_FAILED Il nodo si sta esaurendo perché un controllo dello stato del nodo o della sua istanza non è riuscito
PENDING_REPLACEMENT EC2_SCHEDULED_EVENT Il nodo si sta esaurendo perché la sua istanza ha un evento di manutenzione EC2 pianificato
LAUNCH_FAILED INSUFFICIENT_CAPACITY Il nodo non ha ricevuto un'istanza perché la capacità disponibile non era sufficiente
LAUNCH_FAILED LIMIT_EXCEEDED L'avvio dell'istanza non è riuscito perché è stata superata la quota di un account
LAUNCH_FAILED LAUNCH_ERROR Il nodo non è riuscito ad avviare la propria istanza
TERMINATED SCHEDULER_REQUESTED Istanza terminata dopo che lo scheduler ha rilasciato il nodo (timeout di inattività o spegnimento)
TERMINATED UNHEALTHY_NODE Istanza terminata perché lo scheduler ha segnalato il nodo come non integro
TERMINATED BOOTSTRAP_FAILED Istanza terminata perché il nodo non è riuscito a eseguire il bootstrap
TERMINATED EXTERNALLY_TERMINATED L'istanza è stata terminata all'esterno del PCS; il nodo è stato rilasciato in modo da poter essere sostituito
TERMINATED REPLACEMENT_REQUESTED L'istanza è stata terminata perché il nodo è stato esaurito per la sostituzione
TERMINATED NODE_GROUP_DELETION Istanza terminata come parte dell'eliminazione del gruppo di nodi di calcolo
TERMINATE_FAILED EC2_OPERATION_NOT_PERMITTED Chiusura dell'istanza non riuscita. Assicurati che la protezione dalla terminazione non sia abilitata sull'istanza
TERMINATE_FAILED EC2_ERROR Chiusura dell'istanza non riuscita

Esempi di log di ridimensionamento

L'esempio seguente mostra un avvio riuscito dell'istanza:

{ "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" } }

L'esempio seguente mostra un errore di avvio causato da una capacità EC2 insufficiente. No instance_id è presente perché non è stata avviata alcuna istanza.

{ "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" } }