

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à.

# Creazione di una definizione di attività di Amazon ECS attraverso la nuova console
<a name="create-task-definition"></a>

Creare una definizione di attività in modo da poter definire l'applicazione che si esegue come attività o servizio.

Quando si crea una definizione di attività per il tipo di avvio esterno, è necessario creare la definizione dell'attività utilizzando l'editor JSON e impostare il parametro `requireCapabilities` su `EXTERNAL`.

È possibile creare una definizione di attività utilizzando l'esperienza della console o specificando un file JSON. È possibile fare in modo che Amazon Q fornisca consigli quando si usa l'editor JSON. Per ulteriori informazioni, consulta [Utilizzo di Amazon Q Developer per fornire i suggerimenti sulla definizione delle attività nella console Amazon ECS](using-amazon-q.md)

## Convalida JSON
<a name="json-validate-for-create"></a>

L'editor JSON della console Amazon ECS verifica quanto segue nel file JSON:
+ Il file è un file JSON valido.
+ Il file non contiene chiavi esterne.
+ Il file contiene il parametro `familyName`.
+ C'è almeno una voce sotto. `containerDefinitions`

## CloudFormation pile
<a name="cloudformation-stack"></a>

Il comportamento seguente si applica alle definizioni di attività che sono state create nella nuova console Amazon ECS prima del 12 gennaio 2023.

Quando crei una definizione di attività, la console Amazon ECS crea automaticamente uno CloudFormation stack con un nome che inizia con. `ECS-Console-V2-TaskDefinition-` Se hai utilizzato AWS CLI o un AWS SDK per annullare la registrazione della definizione dell'attività, devi eliminare manualmente lo stack di definizione dell'attività. Per ulteriori informazioni, consultare [Deleting a stack](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-delete-stack.html) nella *Guida per l'utente di CloudFormation *.

Per le definizioni delle attività create dopo il 12 gennaio 2023 non viene creato automaticamente uno CloudFormation stack per esse.

## Procedura
<a name="create-task-procedure"></a>

------
#### [ Amazon ECS console ]

1. [Apri la console nella versione 2https://console.aws.amazon.com/ecs/.](https://console.aws.amazon.com/ecs/v2)

1. Nel pannello di navigazione, scegli **Task Definitions** (Definizioni di processo).

1. Nel menu **Creare nuova definizione di attività**, scegliere **Crea nuova definizione attività**.

1. Per **Task definition family** (Famiglia della definizione di attività) specifica un nome univoco per la definizione di attività.

1. Per **Tipo di avvio**, scegli l'ambiente dell'applicazione. L'impostazione predefinita della console è **AWS Fargate** (che è serverless). Amazon ECS utilizza questo valore per eseguire la convalida così da garantire che i parametri di definizione di attività siano validi per il tipo di infrastruttura.

1. In **Operating system/Architecture** (Sistema operativo/Architettura), scegli il sistema operativo e l'architettura della CPU per il processo. 

   Per eseguire l'attività su un'architettura ARM a 64 bit, scegli **ARM64Linux/**. Per ulteriori informazioni, consulta [Piattaforma di runtime](task_definition_parameters.md#runtime-platform).

   Per eseguire le attività **AWS Fargate** sui container Windows, scegli un sistema operativo Windows supportato. Per ulteriori informazioni, consulta [Sistemi operativi e architetture](fargate-tasks-services.md#fargate-task-os).

1. Per **Task size** (Dimensioni attività), specifica i valori di CPU e memoria da riservare per l'attività. Il valore della CPU è specificato come v CPUs e la memoria è specificata come GB.

   Per i processi ospitati su Fargate, nella tabella seguente sono riportate le combinazioni valide di CPU e memoria.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/create-task-definition.html)

   Per le attività che utilizzano istanze EC2 o istanze esterne, i valori della CPU delle attività supportate sono compresi tra 128 unità CPU (0,125 vCPUs) e 196608 unità CPU (192 v). CPUs

   Per specificare il valore di memoria in GB, immetti **GB** dopo il valore. Ad esempio, per impostare il **valore di memoria** su 3 GB, immetti **3 GB**.
**Nota**  
I parametri della CPU e della memoria a livello di processo vengono ignorati per i container Windows.

1. In **Network mode** (Modalità di rete), scegli la modalità di rete da utilizzare. L'impostazione di default è la modalità **awsvpc**. Per maggiori informazioni, consulta [Networking attività Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html).

   Se si sceglie **bridge**, in **Mappature delle porte**, per **Porta host**, specificare il numero di porta nell'istanza di container per prenotare per il container.

1. (Facoltativo) Espandi la sezione **Task roles** per configurare i ruoli AWS Identity and Access Management (IAM) per l'attività:

   1. Per **Task role** (Ruolo attività), scegli il ruolo IAM da assegnare all'attività. Un ruolo IAM di task fornisce le autorizzazioni per i contenitori di un'attività per richiamare le operazioni AWS API.

   1. Per **Ruolo di esecuzione attività**, scegli il ruolo.

      Per informazioni sui casi in cui utilizzare il ruolo di esecuzione di attività, consulta [Ruolo IAM di esecuzione di attività Amazon ECS](task_execution_IAM_role.md). Se non serve il ruolo, scegliere **Nessuno**.

1. (Facoltativo) Espandere la sezione **Posizionamento delle attività** per aggiungere vincoli di posizionamento. I vincoli di posizionamento dell'attività consentono di filtrare le istanze di container utilizzate per il posizionamento delle attività tramite attributi integrati o personalizzati.

1. (Facoltativo) Espandere la sezione **iniezione di guasti** per abilitarla. L'iniezione di guasti consente di testare la risposta dell'applicazione a determinati scenari di compromissione.

1. Per ogni container da definire nella tua definizione di attività, completa la procedura seguente.

   1. In **Name** (Nome) immetti un nome per il container.

   1. Per **Image URI** (URI immagine), specifica l'immagine da utilizzare per avviare un container. Le immagini nel registro Galleria pubblica di Amazon ECR possono essere specificate utilizzando solo il nome del registro pubblico di Amazon ECR. Ad esempio, se è specificato `public.ecr.aws/ecs/amazon-ecs-agent:latest`, viene utilizzato il container Amazon Linux ospitato su Galleria pubblica di Amazon ECR. Per tutti gli altri repository, specificare il repository utilizzando i formati `repository-url/image:tag` o `repository-url/image@digest`.

   1. Se l'immagine si trova in un registro privato esterno ad Amazon ECR, in **Registro privato**, attiva **Autenticazione del registro privato**. Quindi, in **ARN o nome di Gestione dei segreti**, inserisci il nome della risorsa Amazon (ARN) del segreto.

   1. In **Container essenziale**, se la definizione del processo ha due o più container definiti, è possibile specificare se il container deve essere considerato essenziale. Quando un container è contrassegnato come **Essenziale**, in caso di arresto, il processo viene interrotto. Ogni definizione di attività deve contenere almeno un container essenziale.

   1. La mappatura delle porte consente ai container di accedere alle porte sull'host per inviare o ricevere traffico. In **Port mappings** (Mappature di porte), esegui una delle operazioni seguenti: 
      + Quando utilizzi la modalità di rete **awsvpc**, in **Container port** (Porta del container) e **Protocol** (Protocollo), specifica la mappatura delle porte da utilizzare per il container.
      + Quando utilizzi la modalità di rete **bridge**, in **Container port** (Porta del container) e **Protocol** (Protocollo), specifica la mappatura delle porte da utilizzare per il container.

      Scegli **Add more port mappings** (Aggiungi altre mappature porta) per specificare mappature aggiuntive delle porte del container.

   1. Per consentire al container l'accesso in sola lettura al file system root, per **File system root di sola lettura**, seleziona **Sola lettura**.

   1. (Facoltativo) Per definire dei limiti di CPU, GPU e memoria a livello di container diversi dai valori a livello di attività, in **Limiti di allocazione delle risorse**, procedere come segue:
      + Per **CPU**, inserire il numero di unità di CPU che l'agente di container di Amazon ECS deve riservare per il container.
      + Per **GPU**, inserisci il numero di unità di GPU per l'istanza di container. 

        Un'istanza Amazon EC2 con supporto GPU dispone di 1 unità di GPU per ogni GPU. Per ulteriori informazioni, consulta [Definizioni di attività Amazon ECS per carichi di lavoro GPU](ecs-gpu.md).
      + Per **Limite di memoria rigido**, inserire la quantità di memoria, in GB, da prenotare per il container. Se il container tenta di superare il limite rigido, si arresta.
      + Il Docker 20.10.0 o daemon successivo prenota un minimo di 6 mebibytes (MiB) di memoria per un container, perciò non specificarne di meno per i container.

        Il Docker 19.03.13-ce o daemon precedente prenota un minimo di 4 MiB di memoria per un container, perciò non specificare meno di 4 MiB di memoria per i container.
      + Per **Limite di memoria flessibile**, inserisci il limite flessibile (in GB) di memoria da prenotare per il container. 

        Quando la memoria di sistema è in conflitto, Docker tenta di conservare la memoria del container entro questo limite flessibile. Se non specifichi la memoria a livello di attività, devi indicare un numero intero diverso da zero per uno o entrambi i parametri **Limite di memoria rigido** e **Limite di memoria flessibile**. Se specifichi entrambi, **Limite di memoria rigido** deve essere maggiore di **Limite di memoria flessibile**. 

        Questa funzionalità non è supportata per i container Windows.

   1. (Facoltativo) Espandi la sezione **Variabili di ambiente** per specificare le variabili di ambiente da inserire nel container. È possibile specificare variabili di ambiente singolarmente utilizzando coppie chiave-valore o in blocco specificando un file variabile di ambiente ospitato in un bucket Amazon S3. Per informazioni su come formattare un file di variabile di ambiente, consultare [Passare una singola variabile di ambiente a un container Amazon ECS](taskdef-envfiles.md).

      Quando si specifica una variabile di ambiente per l'archiviazione segreta, immettere il nome segreto in **Chiave**. Quindi **ValueFrom**, inserisci l'ARN completo del segreto di Systems Manager Parameter Store o del segreto di Secrets Manager 

   1. (Facoltativo) Seleziona l'opzione **Usa raccolta di log** per specificare una configurazione di log. Per ogni driver di log disponibile, sono disponibili opzioni del driver di log da specificare. L'opzione predefinita invia i log dei contenitori ad Amazon CloudWatch Logs. Le altre opzioni del driver di registro vengono configurate utilizzando. AWS FireLens Per ulteriori informazioni, consulta [Inviare i log di Amazon ECS a un servizio o AWS AWS Partner](using_firelens.md).

      Di seguito sono riportate descrizioni più dettagliate per ogni destinazione di log di container.
      + **Amazon CloudWatch**: configura l'attività per inviare i log dei container a CloudWatch Logs. Vengono fornite le opzioni predefinite dei driver di registro, che creano un gruppo di CloudWatch log per tuo conto. Per specificare un nome del gruppo di log diverso, modifica i valori dell'opzione del driver.
      + **Esporta i log in Splunk**: configura l'attività per inviare i log del container al driver Splunk che a sua volta li invia a un servizio remoto. È necessario immettere l'URL al servizio Web Splunk. Il token Splunk è specificato come opzione segreta perché può essere trattato come dati sensibili.
      + **Esporta i log in Amazon Data Firehose**: configura l'attività per inviare i log del container a Firehose. Vengono fornite le opzioni di driver di log predefinite che inviano i log a un flusso di consegna Firehose. Per specificare un nome del flusso di consegna diverso, modifica i valori dell'opzione del driver.
      + **Esporta i log in Flusso di dati Amazon Kinesis**: configura l'attività per inviare i log del container a Flusso di dati Kinesis. Vengono fornite le opzioni di driver di log predefinite che inviano i log a un flusso di consegna Kinesis Data Streams. Per specificare un nome del flusso diverso, modifica i valori dell'opzione del driver.
      + **Esporta i log su Amazon OpenSearch Service**: configura l'attività per inviare i log dei container a un dominio di OpenSearch servizio. Devono essere fornite le opzioni del driver di log.
      + **Esporta i log in Amazon S3**: configura l'attività per inviare i log del container a un bucket Amazon S3. Vengono fornite le opzioni del driver di log predefinito, ma è necessario specificare un nome del bucket Amazon S3 valido.

   1. (Facoltativo) Configura i parametri del container aggiuntivi.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/create-task-definition.html)

   1. (Facoltativo) Scegli **Add more containers** (Aggiungi altri container) per aggiungere altri container alla definizione del processo. 

1. (Facoltativo) La sezione **Archiviazione** viene utilizzata per espandere la quantità di archiviazione temporanea per i processi ospitati su Fargate. È inoltre possibile utilizzare questa sezione per aggiungere una configurazione del volume di dati per l'attività.

   1. Per espandere lo spazio di archiviazione temporaneo disponibile oltre il valore predefinito di 20 gibibytes (GiB) per le attività Fargate, in **Quantità**, immetti un valore massimo di 200 GiB.

1. (Facoltativo) Per aggiungere una configurazione del volume di dati per la definizione di attività, scegliere **Aggiungi volume**, quindi seguire questi passaggi.

   1. Per **Nome volume**, immetti un nome per il volume di dati. Il nome del volume di dati viene utilizzato quando si crea un punto di montaggio del container.

   1. Per **Configurazione del volume**, selezionare se si desideri configurare il volume durante la creazione della definizione dell'attività o durante l'implementazione.
**Nota**  
I volumi che possono essere configurati durante la creazione di una definizione di attività includono Bind mountDocker, Amazon EFS e Amazon FSx for Windows File Server. Volumi che possono essere configurati al momento dell'implementazione durante l'esecuzione di un'attività o durante la creazione o l'aggiornamento di un servizio includono Amazon EBS.

   1. Per **Tipo di volume**, selezionare un tipo di volume compatibile con il tipo di configurazione selezionato, quindi configurarlo.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/create-task-definition.html)

1. Per aggiungere un volume da un altro container, scegli **Aggiungi volume da**, quindi configura gli elementi seguenti:
   + Per **Container**, seleziona il container.
   + Per **Origine**, scegli il container contenente il volume da montare.
   + Per **Sola lettura**, seleziona se il container ha accesso in sola lettura al volume.

1. (Facoltativo) Per configurare le impostazioni di tracciamento e raccolta delle metriche dell'applicazione utilizzando l' AWS Distro for OpenTelemetryintegrazione, espandi **Monitoraggio**, quindi seleziona **Usa la raccolta** dei parametri per raccogliere e inviare i parametri per le tue attività ad Amazon o CloudWatch Amazon Managed Service for Prometheus. Quando questa opzione è selezionata, Amazon ECS crea un AWS Distro for OpenTelemetry container sidecar preconfigurato per inviare i parametri dell'applicazione. Per ulteriori informazioni, consulta [Correla le prestazioni delle applicazioni Amazon ECS utilizzando i parametri delle applicazioni](metrics-data.md).

   1. Quando **Amazon CloudWatch** è selezionato, i parametri delle tue applicazioni personalizzate vengono indirizzati a CloudWatch come metriche personalizzate. Per ulteriori informazioni, consulta [Esportazione dei parametri delle applicazioni su Amazon CloudWatch](application-metrics-cloudwatch.md).
**Importante**  
Quando si esportano i parametri delle applicazioni in Amazon CloudWatch, la definizione dell'attività richiede un ruolo IAM dell'attività con le autorizzazioni richieste. Per ulteriori informazioni, consulta [Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon CloudWatch](application-metrics-cloudwatch.md#application-metrics-cloudwatch-iam). 

   1. Quando selezioni **Amazon Managed Service for Prometheus (Prometheus libraries instrumentation)** (Amazon Managed Service for Prometheus [strumentazione delle librerie Prometheus]), la CPU, la memoria, la rete e i parametri di archiviazione a livello di processo e i parametri delle applicazioni personalizzati vengono instradati ad Amazon Managed Service for Prometheus. Per **Endpoint di scrittura remota dell'area di lavoro**, specificare l'URL dell'endpoint di scrittura remota per l'area di lavoro Prometheus. Per **Destinazione di scraping**, specificare l'host e la porta che il raccoglitore AWS Distro for OpenTelemetry può utilizzare per lo scraping dei dati delle metriche. Per ulteriori informazioni, consulta [Esportazione di parametri delle applicazioni in Amazon Managed Service for Prometheus](application-metrics-prometheus.md).
**Importante**  
Quando si esportano i parametri delle applicazioni in Amazon Managed Service for Prometheus, la definizione di attività richiede un ruolo IAM del processo con le autorizzazioni richieste. Per ulteriori informazioni, consulta [Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon Managed Service for Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

   1. Quando selezioni **Amazon Managed Service for Prometheus OpenTelemetry (strumentazione**), i parametri di CPU, memoria, rete e storage a livello di attività e i parametri delle applicazioni personalizzate vengono indirizzati ad Amazon Managed Service for Prometheus. Per **Endpoint di scrittura remota dell'area di lavoro**, specificare l'URL dell'endpoint di scrittura remota per l'area di lavoro Prometheus. Per ulteriori informazioni, consulta [Esportazione di parametri delle applicazioni in Amazon Managed Service for Prometheus](application-metrics-prometheus.md).
**Importante**  
Quando si esportano i parametri delle applicazioni in Amazon Managed Service for Prometheus, la definizione di attività richiede un ruolo IAM del processo con le autorizzazioni richieste. Per ulteriori informazioni, consulta [Autorizzazioni IAM richieste per AWS Distro per OpenTelemetry l'integrazione con Amazon Managed Service for Prometheus](application-metrics-prometheus.md#application-metrics-prometheus-iam). 

1. (Facoltativo) Espandi la sezione **Tags** (Tag) per aggiungere tag, come coppie chiave-valore, alla definizione di attività.
   + [Aggiungi un tag] Scegli **Add tag** (Aggiungi tag), quindi effettuare le seguenti operazioni:
     + In **Chiave**, immetti il nome della chiave.
     + In **Valore**, immetti il valore della chiave.
   + [Rimuovere un tag] Accanto al tag, scegliere **Remove tag (Rimuovi tag)**.

1. Scegli **Crea** per registrare la definizione di attività.

------
#### [ Amazon ECS console JSON editor ]

1. [https://console.aws.amazon.com/ecs/Apri](https://console.aws.amazon.com/ecs/v2) la console nella versione 2.

1. Nel pannello di navigazione, scegli **Task Definitions** (Definizioni di processo).

1. Nel menu **Crea nuova definizione di attività**, scegliere **Crea nuova definizione attività con JSON**.

1. Nella casella dell'editor JSON, modifica il tuo file JSON,

   Il JSON deve superare i controlli di convalida specificati in [Convalida JSON](#json-validate-for-create).

1. Scegli **Create** (Crea).

------