

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
<a name="monitoring_scaling-logs"></a>

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.

**Contents**
+ [Prerequisiti](#monitoring_scaling-logs_prereqs)
+ [Configura i log di scalabilità](#monitoring_scaling-logs_setup)
+ [Individuazione dei log di scalabilità](#monitoring_scaling-logs_access)
  + [CloudWatch Registri](#monitoring_scaling-logs_access_cloudwatch)
  + [Simple Storage Service (Amazon S3)](#monitoring_scaling-logs_access_s3)
+ [Ridimensionamento dei campi di registro](#monitoring_scaling-logs_fields)
+ [Codici di stato e codici motivazionali](#monitoring_scaling_logs-status-codes-and-reason-codes)
+ [Esempi di log di ridimensionamento](#monitoring_scaling-logs_example)

## Prerequisiti
<a name="monitoring_scaling-logs_prereqs"></a>

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

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à
<a name="monitoring_scaling-logs_setup"></a>

È 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](https://console.aws.amazon.com/pcs) PCS.

1. Nel pannello di navigazione scegliere **Cluster**.

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

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

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

1. 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 ](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliveryDestination.html) API Reference. *

1. 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 ](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutDeliverySource.html) la sezione * Amazon CloudWatch Logs API Reference*.

1. 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 ](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_CreateDelivery.html) la sezione * Amazon CloudWatch Logs API Reference*.

------

## Individuazione dei log di scalabilità
<a name="monitoring_scaling-logs_access"></a>

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
<a name="monitoring_scaling-logs_access_cloudwatch"></a>

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)
<a name="monitoring_scaling-logs_access_s3"></a>

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
<a name="monitoring_scaling-logs_fields"></a>

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'`details`oggetto 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](#monitoring_scaling_logs-status-codes-and-reason-codes) | 
| 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'`details`oggetto.


**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
<a name="monitoring_scaling_logs-status-codes-and-reason-codes"></a>

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
<a name="monitoring_scaling-logs_example"></a>

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