

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

# Parametri di definizione di attività Amazon ECS per Fargate
<a name="task_definition_parameters"></a>

Le definizioni delle attività sono suddivise in parti separate: la famiglia di attività, il ruolo dell'attività AWS Identity and Access Management (IAM), la modalità di rete, le definizioni dei contenitori, i volumi e i tipi di avvio. Le definizioni della famiglia e del container sono richieste in una definizione di attività. Al contrario, il ruolo dell'attività, la modalità di rete, i volumi e i tipi di avvio sono facoltativi.

Puoi utilizzare questi parametri in un file JSON per configurare la definizione del processo.

Di seguito sono riportate descrizioni più dettagliate per ogni parametro di definizione delle attività per Fargate.

## Family
<a name="family"></a>

`family`  
Tipo: stringa  
Obbligatorio: sì  
Quando registri una definizione di attività, le assegni una famiglia, ovvero una sorta di nome per più versioni della definizione di attività, specificando un numero di revisione. Alla prima definizione di attività registrata in una determinata famiglia viene assegnato il numero di revisione 1 e a qualsiasi definizione di attività registrata successivamente viene assegnato un numero di revisione sequenziale.

## Capacity
<a name="requires_compatibilities"></a>

Quando si registra una definizione di attività, è possibile specificare la capacità che Amazon ECS deve convalidare per tale definizione. Se la definizione di attività non viene convalidata in base alle compatibilità specificate, viene restituita un'eccezione client. 

Il parametro seguente è permesso in una definizione di attività.

`requiresCompatibilities`  
Tipo: array di stringhe  
Obbligatorio: no  
Valori validi: `FARGATE`  
La capacità per la quale è stata convalidata la definizione di attività. In questo modo viene avviato un controllo per garantire che tutti i parametri utilizzati nella definizione di attività soddisfino i requisiti di Fargate.

## Ruolo del processo
<a name="task_role_arn"></a>

`taskRoleArn`  
▬Tipo: stringa  
Obbligatorio: no  
Quando registri una definizione di attività, puoi fornire un ruolo di attività per un ruolo IAM che consenta ai contenitori inclusi nell'attività di chiamare per tuo conto i dati specificati nelle politiche associate. AWS APIs Per ulteriori informazioni, consulta [Ruolo IAM dell'attività Amazon ECS](task-iam-roles.md).

## Ruolo per l'esecuzione del processo
<a name="execution_role_arn"></a>

`executionRoleArn`  
Tipo: String  
Obbligatorio: condizionale  
L'Amazon Resource Name (ARN) del ruolo di esecuzione dell'attività che concede all'agente container Amazon ECS l'autorizzazione a effettuare chiamate AWS API per tuo conto.   
Il ruolo IAM di esecuzione del processo è richiesto in base ai requisiti del processo. Per ulteriori informazioni, consulta [Ruolo IAM di esecuzione di attività Amazon ECS](task_execution_IAM_role.md).

## Modalità di rete
<a name="network_mode"></a>

`networkMode`  
Tipo: stringa  
Obbligatorio: sì  
La modalità di rete Docker da utilizzare per i container nel processo. Per i processi Amazon ECS ospitati su Fargate, è necessaria la modalità di rete `awsvpc`.

## Piattaforma di runtime
<a name="runtime-platform"></a>

`operatingSystemFamily`  
Tipo: String  
Obbligatorio: condizionale  
Di default: LINUX  
Questo parametro è richiesto per le attività Amazon ECS ospitate su Fargate.  
Quando registri una definizione di attività, devi specificare la famiglia del sistema operativo.   
I valori validi sono `LINUX`, `WINDOWS_SERVER_2025_FULL`, `WINDOWS_SERVER_2025_CORE`, `WINDOWS_SERVER_2022_FULL`, `WINDOWS_SERVER_2022_CORE`, `WINDOWS_SERVER_2019_FULL` e `WINDOWS_SERVER_2019_CORE`.  
Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.  
Quando una definizione di attività fa parte di un servizio, questo valore deve corrispondere al valore `platformFamily` del servizio.

`cpuArchitecture`  
Tipo: String  
Obbligatorio: condizionale  
Valore di default: X86\$164  
Se il parametro viene lasciato come `null`, il valore predefinito viene assegnato automaticamente all'avvio di un'attività ospitata su Fargate.  
Quando registri una definizione di attività, devi specificare l'architettura della CPU. I valori validi sono `X86_64` e `ARM64`.  
Tutte le definizioni di attività utilizzate in un servizio devono avere lo stesso valore per questo parametro.  
Quando si dispone di attività Linux, è possibile impostare il valore su `ARM64`. Per ulteriori informazioni, consulta [Definizioni di attività Amazon ECS per carichi di lavoro ARM a 64 bit](ecs-arm64.md).

## Dimensioni processo
<a name="task_size"></a>

Quando registri una definizione di attività, puoi specificare la quantità totale di CPU e memoria utilizzata per l'attività. Questo valore è separato dai valori `cpu` e `memory` a livello di definizione del container. Per le attività ospitate su Fargate (sia Linux sia Windows), questi campi sono obbligatori e sono supportati valori specifici per `cpu` e `memory`.

Il parametro seguente è permesso in una definizione di attività:

`cpu`  
Tipo: stringa  
Obbligatorio: sì  
I parametri di CPU e memoria a livello di attività sono obbligatori e utilizzati per determinare il tipo e la dimensione dell'istanza su cui vengono eseguite le attività. Per le attività Windows, questi valori non vengono applicati durante il runtime, poiché Windows non dispone di un meccanismo nativo in grado di imporre facilmente limiti collettivi di risorse su un gruppo di container. Se si desidera applicare i limiti delle risorse, consigliamo di utilizzare le risorse a livello di container per quelli di Windows.
Il limite rigido di unità CPU da presentare per il processo. Puoi specificare i valori della CPU nel file JSON come stringa in unità CPU o in modalità virtuale CPUs (v). CPUs Ad esempio, è possibile specificare un valore di CPU come `1024` in unità CPU o `1 vCPU` in vCPUs. Quando la definizione dell'attività viene registrata, un valore vCPU viene convertito in un numero intero che indica le unità CPU.  
Questo campo è obbligatorio ed è necessario utilizzare uno dei seguenti valori che determina l'intervallo di valori validi per il parametro `memory`. La tabella seguente illustra le combinazioni valide di CPU e memoria a livello di attività.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/task_definition_parameters.html)

`memory`  
Tipo: stringa  
Obbligatorio: sì  
I parametri di CPU e memoria a livello di attività sono obbligatori e utilizzati per determinare il tipo e la dimensione dell'istanza su cui vengono eseguite le attività. Per le attività Windows, questi valori non vengono applicati durante il runtime, poiché Windows non dispone di un meccanismo nativo in grado di imporre facilmente limiti collettivi di risorse su un gruppo di container. Se si desidera applicare i limiti delle risorse, consigliamo di utilizzare le risorse a livello di container per quelli di Windows.
Il limite rigido di memoria da presentare al processo. È possibile specificare i valori di memoria nella definizione dell'attività come stringa in mebibytes (MiB) o gigabytes (GB). Ad esempio, è possibile specificare un valore di memoria `3072` in MiB o `3 GB` in GB. Quando la definizione di attività è registrata, un valore GB viene convertito in un numero intero che indica il MiB.  
Questo campo è obbligatorio ed è necessario utilizzare uno dei seguenti valori che determina l'intervallo di valori validi per il parametro `cpu`:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/task_definition_parameters.html)

## Definizioni del container
<a name="container_definitions"></a>

Quando registri una definizione di attività, devi specificare un elenco di definizioni del container che vengono trasmesse al daemon Docker in un'istanza di container. I seguenti parametri sono consentiti in una definizione del container.

**Topics**
+ [

### Parametri standard di definizione del container
](#standard_container_definition_params)
+ [

### Parametri avanzati di definizione del container
](#advanced_container_definition_params)
+ [

### Altri parametri di definizione del container
](#other_container_definition_params)

### Parametri standard di definizione del container
<a name="standard_container_definition_params"></a>

I seguenti parametri di definizione di attività sono obbligatori o utilizzati nella maggior parte delle definizioni del container.

**Topics**
+ [

#### Nome
](#container_definition_name)
+ [

#### Immagine
](#container_definition_image)
+ [

#### Memoria
](#container_definition_memory)
+ [

#### Mappature di porte
](#container_definition_portmappings)
+ [

#### Credenziali del repository privato
](#container_definition_repositoryCredentials)

#### Nome
<a name="container_definition_name"></a>

`name`  
Tipo: stringa  
Obbligatorio: sì  
Il nome di un container. Sono consentiti fino a 255 lettere (maiuscole e minuscole), numeri, trattini e trattini bassi. Se colleghi più container in una definizione di attività, il parametro `name` di uno dei container può essere inserito nel parametro `links` di un altro container. Questo per collegare i container.

#### Immagine
<a name="container_definition_image"></a>

`image`  
Tipo: stringa  
Obbligatorio: sì  
L'immagine utilizzata per avviare un container. Questa stringa viene trasmessa direttamente al daemon Docker. Per impostazione predefinita, le immagini nel registro Docker Hub sono disponibili. Puoi anche specificare altri repository con `repository-url/image:tag` o `repository-url/image@digest`. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole); sono consentiti numeri, trattini, caratteri di sottolineatura, due punti, punti, barre e cancelletti. Questo parametro è mappato su `Image` nel comando creazione container e nel parametro `IMAGE` del docker di esecuzione del comando.  
+ Quando viene avviato un nuovo processo, l'agente del container Amazon ECS esegue il pull della versione più recente dell'immagine e del tag specificati per il container da utilizzare. Tuttavia, gli aggiornamenti successivi a un'immagine del repository non vengono propagate alle attività già in esecuzione.
+ Quando non specifichi un tag o un digest nel percorso dell'immagine nella definizione dell'attività, l'agente contenitore Amazon ECS utilizza il `latest` tag per estrarre l'immagine specificata. 
+  Gli aggiornamenti successivi a un'immagine del repository non vengono propagati alle attività già in esecuzione.
+ Le immagini nei registri privati sono supportate. Per ulteriori informazioni, consulta [Utilizzo di immagini non AWS containerizzate in Amazon ECS](private-auth.md).
+ Le immagini nei repository Amazon ECR possono essere specificate utilizzando la convenzione di denominazione `registry/repository:tag` o `registry/repository@digest`, ad esempio, `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app:latest` o `aws_account_id.dkr.ecr.region.amazonaws.com``/my-web-app@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE`.
+ Le immagini in repository ufficiali su Docker Hub utilizzano un singolo nome (ad esempio `ubuntu` o `mongo`).
+ Le immagini in altri repository su Docker Hub vengono qualificate con un nome di organizzazione (ad esempio, `amazon/amazon-ecs-agent`).
+ Le immagini in altri archivi online vengono ulteriormente qualificate da un nome di dominio (ad esempi, `quay.io/assemblyline/ubuntu`).

`versionConsistency`  
Tipo: String  
Valori validi: `enabled`\$1`disabled`  
Obbligatorio: no  
Specificare se Amazon ECS risolverà il tag dell'immagine del container fornito nella definizione del container in un digest di immagini. Per impostazione predefinita, questo comportamento è `enabled`. Se si imposta il valore per un container come `disabled`, Amazon ECS non risolverà il tag dell'immagine del container in un digest e utilizzerà l'URI dell'immagine originale specificato nella definizione del container per l'implementazione. Per ulteriori informazioni sulla risoluzione dell'immagine del container, consultare [Risoluzione dell’immagine del container](deployment-type-ecs.md#deployment-container-image-stability).

#### Memoria
<a name="container_definition_memory"></a>

`memory`  
Tipo: Integer  
Obbligatorio: no  
La quantità (in MiB) della memoria da presentare al container. Se il container tenta di superare la memoria specificata qui, viene terminato. La quantità totale di memoria prenotata per tutti i container all'interno di un processo deve essere inferiore al valore `memory` del processo, se specificato. Questo parametro è mappato a `Memory` nella creazione container del comando del docker e l'opzione `--memory` per docker run.  
Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.  
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.  
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta [Allocazione della memoria di un'istanza di container Amazon ECS Linux](memory-management.md).

`memoryReservation`  
Tipo: Integer  
Obbligatorio: no  
Il limite flessibile (in MiB) della 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. Tuttavia, il container può utilizzare una quantità maggiore di memoria, se necessario. Il container può utilizzare memoria fino al limite rigido specificato con il parametro `memory` (se applicabile) o tutta la memoria disponibile sull'istanza di container, a seconda di quale evento si verifica prima. Questo parametro è mappato a `MemoryReservation` nella creazione container del comando del docker e l'opzione `--memory-reservation` per docker run.  
Se non viene specificato un valore di memoria a livello di attività, è necessario specificare un numero intero diverso da zero per uno o entrambi i codici `memory` o `memoryReservation` in una definizione del container. Se specifichi entrambe, `memory` deve essere superiore a `memoryReservation`. Se specifichi `memoryReservation`, tale valore viene sottratto dalle risorse di memoria disponibili per l'istanza di container in cui il container viene posizionato. in caso contrario, viene utilizzato il valore `memory`.  
Ad esempio, supponiamo che il container normalmente utilizza 128 MiB di memoria, ma con picchi occasionali di 256 MiB di memoria per brevi periodi di tempo. Puoi impostare un valore di `memoryReservation` di 128 MiB e un limite rigido `memory` di 300 MiB. Questa configurazione consente al container di riservare 128 MiB di memoria solo dalle risorse restanti nell'istanza di container. Allo stesso tempo, questa configurazione consente al container di utilizzare più risorse di memoria quando necessario.  
Questo parametro non è supportato per i container Windows.
Il daemon Docker 20.10.0 o versione successiva prenota un minimo di 6 MiB di memoria per un container. Pertanto, non specificare meno di 6 MiB di memoria per i container.  
Il daemon Docker 19.03.13-ce o versione precedente prenota un minimo di 4 MiB di memoria per un container. Pertanto, non specificare meno di 4 MiB di memoria per i container.  
Per ottimizzare l'utilizzo delle risorse, assegnando all'attività quanta più memoria possibile per un determinato tipo di istanza, consulta [Allocazione della memoria di un'istanza di container Amazon ECS Linux](memory-management.md).

#### Mappature di porte
<a name="container_definition_portmappings"></a>

`portMappings`  
Tipo: array di oggetti  
Obbligatorio: no  
Le mappature delle porte espongono le porte di rete del container al mondo esterno. Ciò consente ai client di accedere all'applicazione. Viene anche utilizzato per la comunicazione tra container all'interno della stessa attività.  
Per le definizioni di attività che utilizzano la modalità di rete `awsvpc`, specifica solo il parametro `containerPort`. `hostPort` viene sempre ignorato e la porta del container viene mappata automaticamente su una casuale con numero alto sull'host.  
La mappatura delle porte su Windows usa l’indirizzo gateway `NetNAT` anziché `localhost`. Non vi è alcun loopback per le mappature delle porte su Windows, perciò non è possibile accedere alla porta mappata di un container dall'host stesso.   
La maggior parte dei campi di questo parametro (inclusi `containerPort`, `hostPort` e `protocol`) è associata a `PortBindings` nella sezione creazione container del comando e l'opzione `--publish` per docker run. Se la modalità di rete di una definizione di attività è impostata su `host`, le porte host devono essere non definite o devono corrispondere alla porta del container nella mappatura della porta.  
Dopo che un processo raggiunge lo stato `RUNNING`, gli incarichi manuali e automatici relativi alle porte del container e dell'host sono visibili nelle posizioni seguenti:  
+ Console: sezione **Binding di rete** della descrizione di un container per un processo selezionato.
+ AWS CLI: la sezione `networkBindings` dell'output del comando **describe-tasks**.
+ API: risposta `DescribeTasks`.
+ Metadati: l'endpoint dei metadati dell'attività.  
`appProtocol`  
▬Tipo: stringa  
Obbligatorio: no  
Il protocollo dell'applicazione utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect. Ti consigliamo di impostare questo parametro in maniera coerente con il protocollo utilizzato dall'applicazione. Se imposti questo parametro, Amazon ECS aggiunge la gestione delle connessioni specifica del protocollo al proxy Service Connect. Se imposti questo parametro, Amazon ECS aggiunge la telemetria specifica del protocollo nella console Amazon ECS e. CloudWatch  
Se non imposti un valore per questo parametro, viene utilizzato TCP. Amazon ECS, tuttavia, non aggiunge la telemetria specifica del protocollo TCP.  
Per ulteriori informazioni, consulta [Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi](service-connect.md).  
Valori di protocollo validi: `"http" | "http2" | "grpc" `  
`containerPort`  
Tipo: numero intero  
Obbligatorio: sì, quando si utilizzano `portMappings`  
Il numero di porta nel container associato alla porta dell'host definito dall'utente o assegnata automaticamente.  
Per le attività che utilizzano la modalità di rete `awsvpc`, utilizzare `containerPort` per specificare le porte esposte.  
Per i container Windows su Fargate, non è possibile utilizzare la porta 3150 per `containerPort`. Questo perché la porta è riservata.  
`containerPortRange`  
▬Tipo: stringa  
Obbligatorio: no  
L'intervallo dei numeri di porta nel container associato all'intervallo di porte host mappato in maniera dinamica.   
È possibile impostare questo parametro solo utilizzando l'API `register-task-definition`. L'opzione è disponibile nel parametro `portMappings`. Per ulteriori informazioni, consulta [register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html) nella *documentazione di riferimento AWS Command Line Interface *.  
Quando specifichi un `containerPortRange`, si applicano le seguenti regole:  
+ È necessario utilizzare la modalità di rete `awsvpc`.
+ Questo parametro è disponibile per sistemi operativi sia Linux che Windows.
+ L'istanza di container deve avere almeno la versione 1.67.0 dell'agente del container e almeno la versione 1.67.0-1 del pacchetto `ecs-init`.
+ Puoi specificare fino a 100 intervalli di porte per container.
+ Non specificare un `hostPortRange`. Il valore dell'`hostPortRange` è impostato come indicato di seguito:
  + Per i container in un'attività con la modalità di rete `awsvpc`, la `hostPort` è impostata sullo stesso valore della `containerPort`. Questa è una strategia di mappatura statica.
+ I valori validi di `containerPortRange` sono compresi tra 1 e 65535.
+ Una porta può essere inclusa solo in una sola mappatura delle porte per ogni container.
+ Non puoi specificare intervalli di porte sovrapposti.
+ La prima porta nell'intervallo deve essere minore dell'ultima porta nell'intervallo.
+ Docker consiglia di disattivare il proxy docker nel file di configurazione del daemon Docker quando disponi di un numero elevato di porte.

  [Per ulteriori informazioni, consulta il numero \$111185 su.](https://github.com/moby/moby/issues/11185) GitHub

  Per informazioni sulla modalità di disattivazione del proxy docker nel file di configurazione del daemon Docker, consulta [Daemon Docker](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/bootstrap_container_instance.html#bootstrap_docker_daemon) nella *Guida per lo sviluppatore di Amazon ECS*.
Puoi effettuare la chiamata a [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) per visualizzare l'`hostPortRange`, cioè le porte dell'host associate alle porte del container.  
Gli intervalli di porte non sono inclusi negli eventi delle attività di Amazon ECS, a EventBridge cui vengono inviati. Per ulteriori informazioni, consulta [Automatizza le risposte agli errori di Amazon ECS utilizzando EventBridge](cloudwatch_event_stream.md).  
`hostPortRange`  
▬Tipo: stringa  
Obbligatorio: no  
L'intervallo di numeri di porta sull'host utilizzato con il collegamento di rete. Questo viene assegnato da Docker e consegnato dall'agente Amazon ECS.  
`hostPort`  
Tipo: Integer  
Obbligatorio: no  
Il numero di porta nell'istanza di container per prenotare per il container.  
`hostPort` può essere lasciato vuoto o deve essere lo stesso valore di `containerPort`.  
L'intervallo di porte temporanee predefinite per Docker versione 1.6.0 e successive è elencato nell'istanza in `/proc/sys/net/ipv4/ip_local_port_range`. Se questo parametro kernel non è disponibile, viene utilizzato l'intervallo delle porte temporaneo di default da `49153–65535`. Non tentare di specificare una porta dell'host nell'intervallo di porte effimere. Questo perché sono riservate per l'assegnazione automatica. In generale, le porte al di sotto di `32768` non rientrano nell'intervallo delle porte temporanee.   
Le porte prenotate di default sono `22` per SSH, le porte Docker `2375` e `2376` e le porte `51678-51680` dell'agente del container di Amazon ECS. Qualsiasi porta dell'host precedentemente specificata dall'utente per un'attività in esecuzione viene prenotata anche mentre tale attività è in esecuzione. Dopo l'arresto di un'attività, la porta dell'host viene rilasciata. Le porte prenotate correnti vengono visualizzate nel parametro `remainingResources` dell'output **describe-container-instances**. Un'istanza di container può contenere fino a 100 porte prenotate alla volta, incluse quelle predefinite. Le porte assegnate automaticamente non vengono conteggiate ai fini della quota di 100 porte prenotate.  
`name`  
Tipo: String  
Obbligatorio: no, necessario per configurare Service Connect e VPC Lattice in un servizio  
Il nome utilizzato per la mappatura delle porte. Questo parametro si applica solo a Service Connect e VPC Lattice. Questo parametro è il nome utilizzato nella configurazione di Service Connect e VPC Lattice di un servizio.  
Per ulteriori informazioni, consulta [Usa Service Connect per connettere i servizi Amazon ECS con nomi brevi](service-connect.md).  
Nell'esempio seguente, vengono visualizzati entrambi i campi obbligatori per Service Connect e VPC Lattice.  

```
"portMappings": [
    {
        "name": string,
        "containerPort": integer
    }
]
```  
`protocol`  
▬Tipo: stringa  
Obbligatorio: no  
Il protocollo utilizzato per la mappatura delle porte. I valori validi sono `tcp` e `udp`. Il valore predefinito è `tcp`.  
È supportato solo `tcp` per Service Connect. Ricorda che `tcp` è implicito se questo campo non è impostato. 
Se specifichi una porta dell'host, utilizza la seguente sintassi.  

```
"portMappings": [
    {
        "containerPort": integer,
        "hostPort": integer
    }
    ...
]
```
Se desideri una porta dell'host assegnata automaticamente, utilizza la seguente sintassi.  

```
"portMappings": [
    {
        "containerPort": integer
    }
    ...
]
```

#### Credenziali del repository privato
<a name="container_definition_repositoryCredentials"></a>

`repositoryCredentials`  
Tipo: oggetto [RepositoryCredentials](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RepositoryCredentials.html)  
Obbligatorio: no  
Le credenziali dell'archivio per l'autenticazione di un registro privato.  
Per ulteriori informazioni, consulta [Utilizzo di immagini non AWS containerizzate in Amazon ECS](private-auth.md).    
 `credentialsParameter`  
Tipo: String  
Obbligatorio: sì, quando si utilizzano `repositoryCredentials`  
L'Amazon Resource Name (ARN) del segreto contenente le credenziali dell'archivio privato.  
Per ulteriori informazioni, consulta [Utilizzo di immagini non AWS containerizzate in Amazon ECS](private-auth.md).  
Quando utilizzi l'API Amazon ECS o AWS SDKs se il segreto esiste nella stessa regione dell'attività che stai avviando, puoi utilizzare l'ARN completo o il nome del segreto. AWS CLI Quando si utilizza il Console di gestione AWS, è necessario specificare l'ARN completo del segreto.
Di seguito viene riportato un frammento di una definizione di attività che mostra i parametri obbligatori:  

```
"containerDefinitions": [
    {
        "image": "private-repo/private-image",
        "repositoryCredentials": {
            "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name"
        }
    }
]
```

### Parametri avanzati di definizione del container
<a name="advanced_container_definition_params"></a>

I seguenti parametri avanzati di definizione del container forniscono funzionalità estese al comando di esecuzione del docker che viene utilizzato per lanciare container nelle istanze di container di Amazon ECS.

**Topics**
+ [

#### Politica di riavvio
](#container_definition_restart_policy)
+ [

#### Controllo dell’integrità
](#container_definition_healthcheck)
+ [

#### Ambiente
](#container_definition_environment)
+ [

#### Impostazioni di rete
](#container_definition_network)
+ [

#### Archiviazione e registrazione
](#container_definition_storage)
+ [

#### Sicurezza
](#container_definition_security)
+ [

#### Limiti delle risorse
](#container_definition_limits)
+ [

#### Etichette Docker
](#container_definition_labels)

#### Politica di riavvio
<a name="container_definition_restart_policy"></a>

`restartPolicy`  
La politica di riavvio del container e i parametri di configurazione associati. Quando configuri una politica di riavvio per un container, Amazon ECS può riavviare il container senza dover sostituire l'attività. Per ulteriori informazioni, consulta [Riavviare singoli container nelle attività Amazon ECS con policy di riavvio dei container](container-restart-policy.md).    
`enabled`  
Tipo: Booleano  
Obbligatorio: sì  
Specificare se è abilitata una politica di riavvio per il container.  
`ignoredExitCodes`  
Tipo: array di numeri interi  
Obbligatorio: no  
Un elenco di codici di uscita che Amazon ECS ignorerà e non tenterà di riavviare. È possibile specificare fino a 50 codici di uscita dei container. Per impostazione predefinita, Amazon ECS non ignora alcun codice di uscita.  
`restartAttemptPeriod`  
Tipo: Integer  
Obbligatorio: no  
Un periodo di tempo (in secondi) durante il quale il container deve essere eseguito prima che venga tentato un riavvio. Un container può essere riavviato solo una volta ogni `restartAttemptPeriod` secondi. Se un container non è in grado di funzionare per questo periodo di tempo ed esce in anticipo, non verrà riavviato. È possibile specificare un `restartAttemptPeriod` minimo di 60 secondi e un `restartAttemptPeriod` massimo di 1.800 secondi. Per impostazione predefinita, un container deve funzionare per 300 secondi prima di poter essere riavviato.

#### Controllo dell’integrità
<a name="container_definition_healthcheck"></a>

`healthCheck`  
Comando di controllo dell'integrità del container e parametri di configurazione associati per il container. Per ulteriori informazioni, consulta [Determina lo stato delle attività di Amazon ECS utilizzando i controlli dell’integrità dei container](healthcheck.md).    
`command`  
Matrice di stringhe che rappresenta il comando eseguito dal container per determinare l'integrità. La matrice di stringhe può iniziare con `CMD` per eseguire direttamente gli argomenti del comando oppure con `CMD-SHELL` per eseguire il comando con la shell predefinita del container. Se non è specificato nessuno dei due, viene utilizzato `CMD`.  
Quando si registra una definizione di attività in Console di gestione AWS, utilizzare un elenco di comandi separati da virgole. Questi comandi vengono convertiti in stringa dopo la creazione della definizione delle attività. Di seguito è riportato un esempio di input per il controllo dell'integrità.  

```
CMD-SHELL, curl -f http://localhost/ || exit 1
```
Quando si registra una definizione di attività utilizzando il pannello Console di gestione AWS JSON, o il AWS CLI APIs, racchiude l'elenco dei comandi tra parentesi. Di seguito è riportato un esempio di input per il controllo dell'integrità.  

```
[ "CMD-SHELL", "curl -f http://localhost/ || exit 1" ]
```
Un codice di uscita 0, senza output `stderr`, indica l'esito positivo, mentre un codice di uscita diverso da zero indica un errore.   
`interval`  
Intervallo di tempo (in secondi) tra ogni controllo dell'integrità. Puoi specificare un valore compreso tra 5 e 300 secondi. Il valore di predefinito è 30 secondi.  
`timeout`  
Periodo di tempo in secondi per cui attendere che un controllo dell'integrità venga superato prima di considerarlo un errore. Puoi specificare un valore compreso tra 2 e 60 secondi. Il valore predefinito è 5 secondi.  
`retries`  
Numero di tentativi per cui riprovare un controllo dello stato non riuscito prima che il container venga considerato non integro. Puoi specificare un valore compreso tra 1 e 10 tentativi. Il valore predefinito è tre tentativi.  
`startPeriod`  
Periodo di tolleranza facoltativo entro il quale concedere ai container il tempo necessario per il bootstrap prima che i controlli dell'integrità non riusciti vengano conteggiati rispetto al numero massimo di nuovi tentativi. È possibile specificare un valore compreso tra 0 e 300 secondi. Per impostazione predefinita, `startPeriod` è disabilitato.  
Se un controllo dello stato va a buon fine all'interno di `startPeriod`, il container è considerato integro e gli errori successivi vengono conteggiati rispetto al numero massimo di nuovi tentativi.

#### Ambiente
<a name="container_definition_environment"></a>

`cpu`  
Tipo: Integer  
Obbligatorio: no  
Il numero di unità `cpu` che l'agente del container Amazon ECS riserverà per il container. Su Linux, questo parametro è mappato a `CpuShares` nella sezione [Creazione di un container](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate).  
Questo campo è facoltativo solo per le attività che utilizzano Fargate. La quantità totale di CPU riservata per tutti i container all'interno di un'attività deve essere inferiore al valore `cpu` a livello di attività.  
I container Linux condividono unità CPU non assegnate con altri container nell'istanza di container con lo stesso rapporto della quantità assegnata. Ad esempio, supponiamo di eseguire un'attività di container singolo in un tipo di istanza single core con 512 unità di CPU specificate per tale container. Inoltre, tale attività è l'unica in esecuzione sull'istanza di container. In questo esempio, il container può utilizzare la condivisione completa di 1.024 unità CPU in qualsiasi momento. Tuttavia, si supponga di aver avviato un'altra copia della stessa attività su quell'istanza di container. A ogni attività viene garantito un minimo di 512 unità CPU quando necessario. Analogamente, se l'altro container non utilizza la CPU rimanente, ogni container può passare a un maggiore utilizzo della CPU. Tuttavia, se entrambe le attività sono sempre attive al 100%, sono limitate a 512 unità CPU.  
Sulle istanze di container Linux, il daemon Docker nell'istanza di container utilizza il valore CPU per calcolare i relativi rapporti di quote di CPU per i container in esecuzione. Il valore minimo valido per la quota di CPU ammesso dal kernel Linux è 2, mentre quello massimo valido per la quota di CPU ammesso dal kernel Linux è 262.144. Tuttavia, il parametro CPU non è obbligatorio e puoi usare valori di CPU minori di 2 e superiori a 262.144 nelle definizioni del container. Per i valori di CPU minori di 2 (incluso un valore null) e superiori a 262.144, il comportamento varia in base alla versione dell'agente del container Amazon ECS:  
Sulle istanze di container Windows, la quota di CPU viene applicata come assoluta. I container Windows hanno accesso solo alla quantità di CPU specificata nella definizione delle attività. Un valore di CPU null o zero viene trasmesso a Docker come `0`, che Windows interpreta come l'1% di una CPU.  
Per ulteriori esempi, consulta [Modalità di gestione delle risorse di CPU e memoria di Amazon ECS](https://aws.amazon.com/blogs/containers/how-amazon-ecs-manages-cpu-and-memory-resources/).

`gpu`  
Questo parametro non è supportato per i container ospitati su Fargate.  
Tipo: oggetto [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Obbligatorio: no  
Il numero di `GPUs` fisiche che l'agente del container Amazon ECS riserva per il container. Il numero di contenitori GPUs riservati per tutti i contenitori di un'attività non deve superare il numero di disponibili GPUs sull'istanza del contenitore su cui viene avviata l'attività. Per ulteriori informazioni, consulta [Definizioni di attività Amazon ECS per carichi di lavoro GPU](ecs-gpu.md).

`Elastic Inference accelerator`  
Questo parametro non è supportato per i container ospitati su Fargate.  
Tipo: oggetto [ResourceRequirement](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ResourceRequirement.html)  
Obbligatorio: no  
Per il tipo `InferenceAccelerator`, il `value` corrisponde a `deviceName` per un `InferenceAccelerator` specificato in una definizione di attività. Per ulteriori informazioni, consulta [Nome dell'acceleratore Elastic Inference (obsoleto)](#elastic-Inference-accelerator).

`essential`  
Tipo: Booleano  
Obbligatorio: no  
Si supponga che il parametro `essential` di un container sia contrassegnato come `true` e che tale container abbia esito negativo o si arresti per qualsiasi motivo. Di conseguenza, tutti gli altri container che fanno parte dell'attività vengono arrestati. Se il parametro `essential` di un container è contrassegnato come `false`, il suo esito negativo non influenza il resto dei container in un'attività. Se questo parametro viene omesso, un container si considera essenziale.  
Tutti i processi devono avere almeno un container essenziale. Supponiamo di avere un'applicazione composta da più container. In questo caso, si raggruppano i container utilizzati per uno scopo comune in componenti e si separano i diversi componenti in più definizioni delle attività. Per ulteriori informazioni, consulta [Progetta la tua applicazione per Amazon ECS](application_architecture.md).  

```
"essential": true|false
```

`entryPoint`  
Le versioni precedenti dell'agente del container Amazon ECS non gestiscono correttamente i parametri `entryPoint`. In caso di problemi durante l'utilizzo `entryPoint`, aggiorna l'agente del container o inserisci i comandi e gli argomenti come elementi di matrice `command`.
Tipo: array di stringhe  
Obbligatorio: no  
Il punto di ingresso che viene trasmesso al container.   

```
"entryPoint": ["string", ...]
```

`command`  
Tipo: array di stringhe  
Obbligatorio: no  
Il comando che viene inviato al container. Questo parametro è mappato a `Cmd` nella creazione container del comando e il parametro `COMMAND` per docker run. In caso di più argomenti, ognuno di questi deve essere una stringa separata nella matrice.  

```
"command": ["string", ...]
```

`workingDirectory`  
▬Tipo: stringa  
Obbligatorio: no  
La directory di lavoro nel container in cui eseguire i comandi. Questo parametro è mappato a `WorkingDir` nella sezione [Create a container](https://docs.docker.com/reference/api/engine/version/v1.38/#operation/ContainerCreate) di [Docker Remote API](https://docs.docker.com/reference/api/engine/version/v1.38/) e l'opzione `--workdir` a [https://docs.docker.com/reference/cli/docker/container/run/](https://docs.docker.com/reference/cli/docker/container/run/).  

```
"workingDirectory": "string"
```

`environmentFiles`  
Non è disponibile per i contenitori Windows su Fargate.  
Tipo: array di oggetti  
Obbligatorio: no  
Un elenco di file contenenti le variabili di ambiente da passare a un container. Questo parametro è mappato all'opzione `--env-file` al comando esecuzione del docker.  
Puoi specificare fino a 10 file di ambiente. Il file deve avere un'estensione `.env`. Ogni riga di un file di ambiente deve contenere una variabile di ambiente nel formato `VARIABLE=VALUE`. Le righe che iniziano con `#` vengono trattate come commenti e vengono ignorate.   
Se nella definizione del container sono specificate singole variabili di ambiente, hanno la precedenza sulle variabili contenute in un file di ambiente. Se vengono specificati più file di ambiente che contengono la stessa variabile, vengono elaborati dall'alto verso il basso. Consigliamo di utilizzare nomi di variabili univoci. Per ulteriori informazioni, consulta [Passare una singola variabile di ambiente a un container Amazon ECS](taskdef-envfiles.md).    
`value`  
Tipo: stringa  
Obbligatorio: sì  
L'Amazon Resource Name (ARN) dell'oggetto Amazon S3 contenente il file della variabile di ambiente.  
`type`  
Tipo: stringa  
Obbligatorio: sì  
Il tipo di file da utilizzare L’unico valore supportato è `s3`.

`environment`  
Tipo: array di oggetti  
Obbligatorio: no  
Le variabili di ambiente da passare a un container. Questo parametro è mappato a `Env` nella creazione container del comando del docker e l'opzione `--env` al comando per docker run.  
Non è consigliabile utilizzare variabili di ambiente non crittografate per informazioni sensibili, ad esempio dati di credenziali.  
`name`  
Tipo: String  
Obbligatorio: sì, quando viene utilizzato `environment`  
Il nome della variabile di ambiente.  
`value`  
Tipo: String  
Obbligatorio: sì, quando viene utilizzato `environment`  
Il valore della variabile di ambiente.

```
"environment" : [
    { "name" : "string", "value" : "string" },
    { "name" : "string", "value" : "string" }
]
```

`secrets`  
Tipo: array di oggetti  
Obbligatorio: no  
Un oggetto che rappresenta il segreto da esporre al container. Per ulteriori informazioni, consulta [Trasferimento di dati sensibili a un container Amazon ECS](specifying-sensitive-data.md).    
`name`  
Tipo: stringa  
Obbligatorio: sì  
Il valore da impostare come variabile di ambiente sul container.  
`valueFrom`  
Tipo: stringa  
Obbligatorio: sì  
Il segreto da esporre al container. I valori supportati sono l'Amazon Resource Name (ARN) completo del Gestione dei segreti AWS segreto o l'ARN completo del parametro nel Parameter Store. AWS Systems Manager   
Se il parametro Systems Manager Parameter Store o il parametro Secrets Manager esiste nella Regione AWS stessa operazione che si sta avviando, è possibile utilizzare l'ARN completo o il nome del segreto. Se il parametro esiste in una Regione diversa, deve essere specificato l'ARN completo.

```
"secrets": [
    {
        "name": "environment_variable_name",
        "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name"
    }
]
```

#### Impostazioni di rete
<a name="container_definition_network"></a>

`disableNetworking`  
Questo parametro non è supportato per le attività eseguite su Fargate.  
Tipo: Booleano  
Obbligatorio: no  
Quando questo parametro è true, le reti sono disabilitate all'interno del container.  
Il valore predefinito è `false`.  

```
"disableNetworking": true|false
```

`links`  
Questo parametro non è supportato per le attività che utilizzano la modalità di rete `awsvpc`.  
Tipo: array di stringhe  
Obbligatorio: no  
Il parametro `link` consente ai container di comunicare tra loro senza la necessità di mappatura delle porte. Questo parametro è supportato solo se la modalità di rete di una definizione delle attività è impostata su `bridge`. Il costrutto `name:internalName` è analogo a `name:alias` nei collegamenti Docker. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini e trattini bassi.  
I container che vengono posizionati nella stessa istanza di container potrebbero comunicare tra loro senza necessità di collegamenti o mappature delle porte dell'host. L'isolamento di rete su un'istanza di container è controllato da gruppi di sicurezza e impostazioni VPC.

```
"links": ["name:internalName", ...]
```

`hostname`  
▬Tipo: stringa  
Obbligatorio: no  
Il nome host da utilizzare per il container. Questo parametro è mappato a `Hostname` nella creazione container del docker e l'opzione `--hostname` per docker run.  
Se utilizzi la modalità di rete `awsvpc`, il parametro `hostname` non è supportato.

```
"hostname": "string"
```

`dnsServers`  
Non è supportato per le attività eseguite su Fargate.  
Tipo: array di stringhe  
Obbligatorio: no  
Un elenco di server DNS presentato al container.  

```
"dnsServers": ["string", ...]
```

`extraHosts`  
Questo parametro non è supportato per le attività che utilizzano la modalità di rete `awsvpc`.  
Tipo: array di oggetti  
Obbligatorio: no  
Un elenco di nomi host e mappature di indirizzi IP da aggiungere al file `/etc/hosts` nel container.   
Questo parametro è mappato a `ExtraHosts` nella creazione container del comando del docker e l'opzione `--add-host` per docker run.  

```
"extraHosts": [
      {
        "hostname": "string",
        "ipAddress": "string"
      }
      ...
    ]
```  
`hostname`  
Tipo: String  
Obbligatorio: sì, quando si utilizzano `extraHosts`  
Il nome host da utilizzare nella voce `/etc/hosts`.  
`ipAddress`  
Tipo: String  
Obbligatorio: sì, quando si utilizzano `extraHosts`  
L'indirizzo IP da utilizzare nella voce `/etc/hosts`.

#### Archiviazione e registrazione
<a name="container_definition_storage"></a>

`readonlyRootFilesystem`  
Tipo: Booleano  
Obbligatorio: no  
Se il parametro è true, al container viene assegnato l'accesso in sola lettura al file system radice. Questo parametro è mappato a `ReadonlyRootfs` nella creazione container del comando del docker e l'opzione `--read-only` per docker run.  
Questo parametro non è supportato per i container Windows.
Il valore predefinito è `false`.  

```
"readonlyRootFilesystem": true|false
```

`mountPoints`  
Tipo: array di oggetti  
Obbligatorio: no  
I punti di montaggio per i volumi di dati nel container. Questo parametro è mappato ai `Volumes` nella creazione container dell'API Docker e l'opzione `--volume` per docker run.  
I container Windows possono montare intere directory sulla stessa unità di `$env:ProgramData`. I container Windows non possono montare le directory su un'unità diversa e i punti di montaggio non possono essere utilizzati tra le unità. È necessario specificare i punti di montaggio per collegare un volume Amazon EBS direttamente a un'attività Amazon ECS.    
`sourceVolume`  
Tipo: String  
Obbligatorio: sì, quando si utilizzano `mountPoints`  
Il nome del volume da montare.  
`containerPath`  
Tipo: String  
Obbligatorio: sì, quando si utilizzano `mountPoints`  
Il percorso nel container in cui verrà montato il volume.  
`readOnly`  
Tipo: Booleano  
Obbligatorio: no  
Se il valore è `true`, il container avrà accesso in sola lettura al volume. Se il valore è `false`, il container avrà accesso in scrittura al volume. Il valore predefinito è `false`.  
Per le attività su istanze EC2 che eseguono il sistema operativo Windows, lasciare il valore predefinito di `false`.

`volumesFrom`  
Tipo: array di oggetti  
Obbligatorio: no  
I volumi di dati da montare da un altro container. Questo parametro è mappato a `VolumesFrom` nella creazione container del comando del docker e l'opzione `--volumes-from` per docker run.    
`sourceContainer`  
Tipo: String  
Obbligatorio: sì, quando viene utilizzato `volumesFrom`  
Il nome del container da cui montare volumi.  
`readOnly`  
Tipo: Booleano  
Obbligatorio: no  
Se il valore è `true`, il container avrà accesso in sola lettura al volume. Se il valore è `false`, il container avrà accesso in scrittura al volume. Il valore predefinito è `false`.

```
"volumesFrom": [
                {
                  "sourceContainer": "string",
                  "readOnly": true|false
                }
              ]
```

`logConfiguration`  
Tipo: oggetto [LogConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LogConfiguration.html)  
Obbligatorio: no  
La specifica di configurazione dei log per il container.  
Per definizioni dell'attività di esempio che utilizzano una configurazione di log, consulta [Esempio di definizione di attività di Amazon ECS](example_task_definitions.md).  
Questo parametro è mappato a `LogConfig` nella creazione container del comando del docker e l'opzione `--log-driver` per docker run. Per impostazione predefinita, i container utilizzano lo stesso driver di log utilizzato dal daemon Docker. Tuttavia, il container può utilizzare un driver di log diverso da quello del daemon Docker, specificando un driver di log con questo parametro nella definizione del container. Per utilizzare un altro driver di log per un container, il sistema di log deve essere configurato correttamente nell'istanza di container (o su un altro server di log per le opzioni di logging in remoto).   
Si noti quanto segue quando si specifica una configurazione di log per i container:  
+ Amazon ECS supporta un sottoinsieme dei driver di log disponibili per il daemon Docker.
+ Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull'istanza di container.
+ È necessario installare qualsiasi software aggiuntivo al di fuori dell'attività. Ad esempio, gli aggregatori di output Fluentd o un host remoto che esegue Logstash per inviare i log Gelf.

```
"logConfiguration": {
      "logDriver": "awslogs","fluentd","gelf","json-file","journald","splunk","syslog","awsfirelens",
      "options": {"string": "string"
        ...},
	"secretOptions": [{
		"name": "string",
		"valueFrom": "string"
	}]
}
```  
`logDriver`  
Tipo: String  
Valori validi: `"awslogs","fluentd","gelf","json-file","journald","splunk","syslog","awsfirelens"`  
Obbligatorio: sì, quando viene utilizzato `logConfiguration`  
Il driver di log da utilizzare per il container. Per impostazione predefinita, i valori validi elencati in precedenza sono driver di log con i quali l'agente del container Amazon ECS può comunicare.  
I driver di log supportati sono `awslogs`, `splunk` e `awsfirelens`.  
Per ulteriori informazioni su come utilizzare il driver di `awslogs` registro nelle definizioni delle attività per inviare i log dei contenitori a CloudWatch Logs, vedere. [Invia i log di Amazon ECS a CloudWatch](using_awslogs.md)  
Per ulteriori informazioni sull'utilizzo del driver di log `awsfirelens`, consulta [Routing di log personalizzato](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_firelens.html).  
Se disponi di un driver personalizzato che non è elencato, puoi eseguire il fork del progetto Amazon ECS Container Agent [disponibile su GitHub](https://github.com/aws/amazon-ecs-agent) e personalizzarlo in modo che funzioni con quel driver. Ti consigliamo di inviare le richieste pull per le modifiche che desideri siano incluse. Tuttavia, attualmente non forniamo il supporto per eseguire copie modificate di questo software.
Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull’istanza di container.  
`options`  
Tipo: mappatura stringa a stringa  
Obbligatorio: no  
La key/value mappa delle opzioni di configurazione da inviare al driver di registro.  
Le opzioni che è possibile specificare dipendono dal driver di log. Alcune delle opzioni che puoi specificare quando utilizzi il `awslogs` router per indirizzare i log ad Amazon CloudWatch includono:    
`awslogs-create-group`  
Obbligatorio: no  
Specifica se desideri che il gruppo di log venga creato automaticamente. Se questa opzione non è specificata, viene impostata in modo predefinito su `false`.  
La tua policy IAM deve includere l'autorizzazione `logs:CreateLogGroup`prima di provare a utilizzare `awslogs-create-group`.  
`awslogs-region`  
Obbligatorio: sì  
Specificate il Regione AWS driver di `awslogs` registro a cui inviare i log Docker. Puoi scegliere di inviare tutti i log dai cluster di diverse regioni a una singola regione in Logs. CloudWatch In questo modo saranno tutti visibili in un'unica posizione. In caso contrario, puoi separarli per regione per una maggiore granularità. Assicurati che il gruppo di log specificato esista nella regione definita tramite questa opzione.  
`awslogs-group`  
Obbligatorio: sì  
Assicurati di specificare un gruppo di log a cui il driver di log `awslogs` invia i flussi di log.  
`awslogs-stream-prefix`  
Obbligatorio: sì  
Utilizza l'opzione `awslogs-stream-prefix` per associare un flusso di log al prefisso selezionato, al nome del container e all'ID dell'attività Amazon ECS al quale appartiene il container. Se specifichi un prefisso con questa opzione, il flusso di log assume il formato seguente.  

```
prefix-name/container-name/ecs-task-id
```
Se non specifichi un prefisso con questa opzione, il flusso di log viene denominato secondo l'ID del container assegnato dal daemon Docker nell'istanza di container. Poiché è difficile ricollegare i log al container che li ha inviati con il solo ID container Docker (disponibile solo sulle istanze di container), è consigliabile specificare un prefisso con questa opzione.  
Per i servizi Amazon ECS, puoi utilizzare il nome del servizio come prefisso. In questo modo puoi ricollegare i flussi di log al servizio a cui appartiene il container, al nome del container che li ha inviati e all'ID dell'attività a cui appartiene il container.  
Perché i log compaiano nell'apposito riquadro della console Amazon ECS, devi specificare un prefisso per il flusso dei log.  
`awslogs-datetime-format`  
Obbligatorio: no  
Questa opzione definisce un modello di inizio multilinea nel formato `strftime` Python. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.  
Un esempio di un caso d'uso per l'utilizzo di questo formato è per l'analisi di output, ad esempio uno dump dello stack, che potrebbe altrimenti essere registrato in più voci. Il modello corretto consente di acquisirlo in una sola voce.  
Per ulteriori informazioni, consulta [awslogs-datetime-format](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-datetime-format).  
Non è possibile configurare entrambe le opzioni `awslogs-datetime-format` e `awslogs-multiline-pattern`.  
Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.  
`awslogs-multiline-pattern`  
Obbligatorio: no  
Questa opzione definisce un modello di inizio multilinea che utilizza un'espressione regolare. Un messaggio di log è composto da una riga corrispondente al modello e da tutte le righe successive non corrispondenti al modello. In questo modo la riga associata è il delimitatore tra i messaggi di log.  
Per ulteriori informazioni, consulta [awslogs-multiline-pattern](https://docs.docker.com/engine/logging/drivers/awslogs/#awslogs-multiline-pattern).  
Questa opzione viene ignorata se anche `awslogs-datetime-format` è configurato.  
Non è possibile configurare entrambe le opzioni `awslogs-datetime-format` e `awslogs-multiline-pattern`.  
Il logging multilinea esegue un'espressione regolare per l'analisi e il confronto di tutti i messaggi di log. L'operazione potrebbe avere ripercussioni negative sulle prestazioni del logging.
Le seguenti opzioni si applicano a tutti i driver di log supportati.    
`mode`  
Obbligatorio: no  
Valori validi: `non-blocking` \$1 `blocking`  
Questa opzione definisce la modalità di consegna dei messaggi di log dal container al driver di log specificato utilizzando `logDriver`. La modalità di distribuzione scelta influisce sulla disponibilità dell'applicazione quando il flusso di log dal container viene interrotto.  
Se si utilizza la modalità `blocking` e il flusso di log viene interrotto, le chiamate provenienti dal codice del container e utilizzate per la scrittura sui flussi `stdout` e `stderr` verranno bloccate. Di conseguenza, il thread di registrazione dell'applicazione si bloccherà. Ciò può causare la mancata risposta dell'applicazione e la presenza di errori nel controllo d'integrità del container.   
Se utilizzi la modalità `non-blocking`, i log del container vengono invece archiviati in un buffer intermedio in memoria configurato con l'opzione `max-buffer-size`. In questo modo si evita la mancata risposta dell'applicazione quando non è possibile inviare i log. Ti consigliamo di utilizzare questa modalità se vuoi garantire la disponibilità del servizio nonostante una certa perdita di log. Per ulteriori informazioni, consultare [Preventing log loss with non-blocking mode in the `awslogs` container log driver](https://aws.amazon.com/blogs/containers/preventing-log-loss-with-non-blocking-mode-in-the-awslogs-container-log-driver/).  
È possibile impostare un valore predefinito `mode` per tutti i container in un Regione AWS specifico utilizzando le impostazioni dell'account `defaultLogDriverMode`. Se non si specifica l'opzione `mode` in `logConfiguration` o non si configura l'impostazione dell'account, Amazon ECS utilizzerà per impostazione predefinita la modalità `non-blocking`. Per ulteriori informazioni sulle impostazioni dell'account, consultare [Modalità driver log predefinita](ecs-account-settings.md#default-log-driver-mode).  
Quando viene utilizzata la modalità `non-blocking`, l'opzione di log `max-buffer-size` controlla la dimensione del buffer utilizzato per l'archiviazione dei messaggi intermedi. Assicurati di specificare una dimensione del buffer adeguata in base all'applicazione in uso. La quantità totale di memoria allocata a livello di attività deve essere superiore a quella allocata per tutti i container oltre al driver di log del buffer di memoria.  
Il 25 giugno 2025, Amazon ECS ha cambiato la modalità predefinita del driver di log da `blocking` a `non-blocking` per dare priorità alla disponibilità delle attività rispetto al logging. Per continuare a utilizzare la modalità `blocking` dopo questa modifica, procedere in uno dei seguenti modi:  
+ Impostare l'opzione `mode` nella definizione del container `logConfiguration` come `blocking`.
+ Impostare le impostazioni dell'account `defaultLogDriverMode` su `blocking`.  
`max-buffer-size`  
Obbligatorio: no  
Valore predefinito: `10m`  
Quando viene utilizzata la modalità `non-blocking`, l'opzione di log `max-buffer-size` controlla la dimensione del buffer utilizzato per l'archiviazione dei messaggi intermedi. Assicurati di specificare una dimensione del buffer adeguata in base all'applicazione in uso. Quando il buffer è pieno, non è possibile archiviare ulteriori log. I log che non possono essere archiviati vengono persi. 
Per indirizzare i log utilizzando il router di log `splunk`, è necessario specificare `splunk-token` e `splunk-url`.  
Quando si utilizza il router di `awsfirelens` log per indirizzare i log verso una AWS Partner Network destinazione Servizio AWS OR per l'archiviazione e l'analisi dei log, è possibile impostare l'`log-driver-buffer-limit`opzione per limitare il numero di righe di registro memorizzate nel buffer prima di essere inviate al contenitore del log router. Può aiutarti a risolvere potenziali problemi di perdita di log perché un throughput elevato potrebbe comportare l'esaurimento della memoria per il buffer all'interno di Docker. Per ulteriori informazioni, consulta [Configurazione dei log di Amazon ECS per un throughput elevato](firelens-docker-buffer-limit.md).  
Le altre opzioni che è possibile specificare quando si utilizza `awsfirelens` per indirizzare i log dipendono dalla destinazione. Quando esporti i log in Amazon Data Firehose, puoi specificare Regione AWS il `region` with e un nome per il flusso di log con. `delivery_stream`  
Quando si esportano i log in flusso di dati Amazon Kinesis, è possibile specificare Regione AWS con `region` e un nome per il flusso di dati con `stream`.  
 Quando esporti i log su Amazon OpenSearch Service, puoi specificare opzioni come`Name`, `Host` (Endpoint del OpenSearch servizio senza protocollo),`Port`,`Index`,`Type`, `Aws_auth` `Aws_region``Suppress_Type_Name`, e. `tls`  
Quando si esportano i log in Amazon S3, è possibile specificare il bucket utilizzando l'opzione `bucket`. È possibile anche specificare `region`, `total_file_size`, `upload_timeout` e `use_put_object` come opzioni.  
Questo parametro richiede la versione 1.19 o successiva di Docker Remote API sull'istanza di container.  
`secretOptions`  
Tipo: array di oggetti  
Obbligatorio: no  
Un oggetto che rappresenta il segreto da inviare alla configurazione di log. I segreti utilizzati nella configurazione di log possono includere un token di autenticazione, un certificato o una chiave di crittografia. Per ulteriori informazioni, consulta [Trasferimento di dati sensibili a un container Amazon ECS](specifying-sensitive-data.md).    
`name`  
Tipo: stringa  
Obbligatorio: sì  
Il valore da impostare come variabile di ambiente sul container.  
`valueFrom`  
Tipo: stringa  
Obbligatorio: sì  
Il segreto da esporre alla configurazione di log del container.

```
"logConfiguration": {
	"logDriver": "splunk",
	"options": {
		"splunk-url": "https://cloud.splunk.com:8080",
		"splunk-token": "...",
		"tag": "...",
		...
	},
	"secretOptions": [{
		"name": "splunk-token",
		"valueFrom": "/ecs/logconfig/splunkcred"
	}]
}
```

`firelensConfiguration`  
Tipo: oggetto [FirelensConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FirelensConfiguration.html)  
Obbligatorio: no  
La FireLens configurazione per il contenitore. Si utilizza per specificare e configurare un router di log per i log del container. Per ulteriori informazioni, consulta [Inviare i log di Amazon ECS a un servizio o AWS AWS Partner](using_firelens.md).  

```
{
    "firelensConfiguration": {
        "type": "fluentd",
        "options": {
            "KeyName": ""
        }
    }
}
```  
`options`  
Tipo: mappatura stringa a stringa  
Obbligatorio: no  
La key/value mappa delle opzioni da usare durante la configurazione del log router. Questo campo è facoltativo e può essere utilizzato per aggiungere ulteriori metadati, ad esempio il processo, la definizione di attività, il cluster e i dettagli dell'istanza di container all'evento di log. Se specificato, la sintassi da utilizzare è `"options":{"enable-ecs-log-metadata":"true|false","config-file-type:"s3|file","config-file-value":"arn:aws:s3:::amzn-s3-demo-bucket/fluent.conf|filepath"}`. Per ulteriori informazioni, consulta [Esempio di definizione dell'attività Amazon ECS: indirizzare i log a FireLens](firelens-taskdef.md).  
`type`  
Tipo: stringa  
Obbligatorio: sì  
Il router di log da utilizzare. I valori validi sono `fluentd` o `fluentbit`.

#### Sicurezza
<a name="container_definition_security"></a>

Per ulteriori informazioni sulla sicurezza di container, consultare [Best practice per la sicurezza delle attività e dei container di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/security-tasks-containers.html).

`credentialSpecs`  
Tipo: array di stringhe  
Obbligatorio: no  
Un elenco di file ARNs in SSM o Amazon S3 in un file spec `CredSpec` () delle credenziali che configura il contenitore per l'autenticazione Active Directory. Consigliamo di utilizzare questo parametro anziché `dockerSecurityOptions`. Il numero massimo di è 1. ARNs   
Esistono due formati per ogni ARN.    
credentialspecdomainless:MyARN  
Utilizza `credentialspecdomainless:MyARN` per fornire un file `CredSpec` con una sezione aggiuntiva per un segreto in Secrets Manager. Specifica le credenziali di accesso al dominio nel campo segreto.  
Ogni attività eseguita su qualsiasi istanza di container può aggiungere domini diversi.  
Puoi utilizzare questo formato senza aggiungere l'istanza di container a un dominio.  
credentialspec:MyARN  
Utilizza `credentialspec:MyARN` per fornire un nome a un file `CredSpec` per un singolo dominio.  
Devi aggiungere l'istanza di container al dominio prima di iniziare qualsiasi attività che utilizzi questa definizione delle attività.
In entrambi i formati, sostituisci `MyARN` con l'ARN in SSM o Amazon S3.  
Il file `credspec` deve fornire un ARN in Secrets Manager per un segreto contenente il nome utente, la password e il dominio a cui collegarsi. Per una maggiore sicurezza, l'istanza non viene aggiunta al dominio per l'autenticazione senza dominio. Le altre applicazioni sull'istanza non possono utilizzare le credenziali senza dominio. Puoi utilizzare questo parametro per eseguire attività sulla stessa istanza, anche se le attività devono aggiungere domini diversi. Per ulteriori informazioni, vedere [Usare g MSAs per Windows Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/windows-gmsa.html) e [Using g MSAs for Linux Containers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/linux-gmsa.html).

`user`  
▬Tipo: stringa  
Obbligatorio: no  
L'utente da usare all'interno del container. Questo parametro è mappato a `User` nella creazione container del comando del docker e l'opzione `--user` per docker run.  
Quando esegui attività che utilizzano la modalità di rete `host`, non eseguire container utilizzando l'utente root (UID 0). Come best practice per la sicurezza, utilizza sempre un utente non root.
È possibile specificare `user` utilizzando i seguenti formati. Un eventuale UID o GID deve essere specificato come numero intero positivo.  
+ `user`
+ `user:group`
+ `uid`
+ `uid:gid`
+ `user:gid`
+ `uid:group`
Questo parametro non è supportato per i container Windows.

```
"user": "string"
```

#### Limiti delle risorse
<a name="container_definition_limits"></a>

`ulimits`  
Tipo: array di oggetti  
Obbligatorio: no  
Un elenco di valori `ulimit` da definire per un container. Questo valore sovrascrive l'impostazione della quota di risorse predefinite per il sistema operativo. Questo parametro è mappato a `Ulimits` nella creazione container del comando del docker e l'opzione `--ulimit` per docker run.  
I processi di Amazon ECS ospitati su Fargate utilizzano i valori del limite di risorse predefinito impostato dal sistema operativo, ad eccezione del parametro del limite di risorse `nofile`. Il limite di risorse `nofile` imposta una restrizione sul numero di file aperti che un container può utilizzare. Su Fargate, il limite flessibile `nofile` predefinito è ` 65535` mentre il limite rigido è `65535`. Puoi impostare i valori di entrambi i limiti fino a `1048576`. Per ulteriori informazioni, consulta [Limiti delle risorse dei processi](fargate-tasks-services.md#fargate-resource-limits).  
Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull’istanza di container.  
Questo parametro non è supportato per i container Windows.

```
"ulimits": [
      {
        "name": "core"|"cpu"|"data"|"fsize"|"locks"|"memlock"|"msgqueue"|"nice"|"nofile"|"nproc"|"rss"|"rtprio"|"rttime"|"sigpending"|"stack",
        "softLimit": integer,
        "hardLimit": integer
      }
      ...
    ]
```  
`name`  
Tipo: String  
Valori validi: `"core" | "cpu" | "data" | "fsize" | "locks" | "memlock" | "msgqueue" | "nice" | "nofile" | "nproc" | "rss" | "rtprio" | "rttime" | "sigpending" | "stack"`  
Obbligatorio: sì, quando si utilizzano `ulimits`  
`type` di `ulimit`.  
`hardLimit`  
Tipo: numero intero  
Obbligatorio: sì, quando si utilizzano `ulimits`  
Il limite rigido per il tipo `ulimit`. Il valore può essere specificato in byte, secondi o come conteggio, a seconda del `type` di `ulimit`.  
`softLimit`  
Tipo: numero intero  
Obbligatorio: sì, quando si utilizzano `ulimits`  
Il limite flessibile per il tipo `ulimit`. Il valore può essere specificato in byte, secondi o come conteggio, a seconda del `type` di `ulimit`.

#### Etichette Docker
<a name="container_definition_labels"></a>

`dockerLabels`  
Tipo: mappatura stringa a stringa  
Obbligatorio: no  
Una key/value mappa di etichette da aggiungere al contenitore. Questo parametro è mappato a `Labels` nella creazione container del comando del docker e l'opzione `--label` per docker run.   
Questo parametro richiede la versione 1.18 o successiva di Docker Remote API sull’istanza di container.  

```
"dockerLabels": {"string": "string"
      ...}
```

### Altri parametri di definizione del container
<a name="other_container_definition_params"></a>

I seguenti parametri di definizione del container possono essere utilizzati quando si registrano le definizioni di attività nella console Amazon ECS utilizzando l'opzione **Configure via JSON** (Configura tramite JSON). Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

**Topics**
+ [

#### Parametri Linux
](#container_definition_linuxparameters)
+ [

#### Dipendenze per i container
](#container_definition_dependson)
+ [

#### Timeout del container
](#container_definition_timeout)
+ [

#### Controlli di sistema
](#container_definition_systemcontrols)
+ [

#### Interactive
](#container_definition_interactive)
+ [

#### Pseudoterminale
](#container_definition_pseudoterminal)

#### Parametri Linux
<a name="container_definition_linuxparameters"></a>

`linuxParameters`  
Tipo: oggetto [LinuxParameters](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_LinuxParameters.html)  
Obbligatorio: no  
Linux-opzioni specifiche applicate al contenitore, ad esempio [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html).  
Questo parametro non è supportato per i container Windows.

```
"linuxParameters": {
      "capabilities": {
        "add": ["string", ...],
        "drop": ["string", ...]
        }
      }
```  
`capabilities`  
Tipo: oggetto [KernelCapabilities](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KernelCapabilities.html)  
Obbligatorio: no  
Le funzionalità di Linux per il container che vengono eliminate dalla configurazione predefinita fornita da Docker. Per ulteriori informazioni su queste funzionalità di Linux, consulta la pagina del manuale Linux [capabilities(7)](http://man7.org/linux/man-pages/man7/capabilities.7.html).    
`add`  
Tipo: array di stringhe  
Valori validi: `"SYS_PTRACE"`  
Campo obbligatorio: no  
Le funzionalità di Linux per il container da aggiungere alla configurazione predefinita fornita da Docker. Questo parametro è mappato a `CapAdd` nella creazione container del comando del docker e l'opzione `--cap-add` per docker run.  
`drop`  
Tipo: array di stringhe  
Valori validi: `"ALL" | "AUDIT_CONTROL" | "AUDIT_WRITE" | "BLOCK_SUSPEND" | "CHOWN" | "DAC_OVERRIDE" | "DAC_READ_SEARCH" | "FOWNER" | "FSETID" | "IPC_LOCK" | "IPC_OWNER" | "KILL" | "LEASE" | "LINUX_IMMUTABLE" | "MAC_ADMIN" | "MAC_OVERRIDE" | "MKNOD" | "NET_ADMIN" | "NET_BIND_SERVICE" | "NET_BROADCAST" | "NET_RAW" | "SETFCAP" | "SETGID" | "SETPCAP" | "SETUID" | "SYS_ADMIN" | "SYS_BOOT" | "SYS_CHROOT" | "SYS_MODULE" | "SYS_NICE" | "SYS_PACCT" | "SYS_PTRACE" | "SYS_RAWIO" | "SYS_RESOURCE" | "SYS_TIME" | "SYS_TTY_CONFIG" | "SYSLOG" | "WAKE_ALARM"`  
Campo obbligatorio: no  
Le funzionalità di Linux per il container da eliminare dalla configurazione predefinita fornita da Docker. Questo parametro è mappato a `CapDrop` nella creazione container del comando del docker e l'opzione `--cap-drop` per docker run.  
`devices`  
Qualsiasi dispositivi host da esporre nel container. Questo parametro è mappato a `Devices` nella creazione container del comando del docker e l'opzione `--device` per docker run.  
Il parametro `devices` non è supportato quando si utilizza il tipo di avvio Fargate.
Tipo: matrice di oggetti [Device](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Device.html)  
Obbligatorio: no    
`hostPath`  
Il percorso per il dispositivo nell'istanza di container dell'host.  
Tipo: stringa  
Obbligatorio: sì  
`containerPath`  
Il percorso nel container in cui esporre il dispositivo dell'host.  
▬Tipo: stringa  
Obbligatorio: no  
`permissions`  
Le autorizzazioni esplicite da fornire al container per il dispositivo. Di default, il container dispone di autorizzazioni per `read`, `write` e `mknod` sul dispositivo.  
Tipo: array di stringhe  
Valori validi: `read` \$1 `write` \$1 `mknod`  
`initProcessEnabled`  
Esegui un processo `init` nel container che inoltra segnali e raccoglie i processi. Questo parametro è mappato all'opzione `--init` su docker run.  
Questo parametro richiede la versione 1.25 o successiva di Docker Remote API sull'istanza di container.  
`maxSwap`  
Non è supportato per le attività eseguite su Fargate.  
La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene convertito nell'opzione `--memory-swap` in docker run dove il valore sarebbe la somma della memoria del container più il valore `maxSwap`.  
Se viene specificato il valore `maxSwap` di `0`, il container non utilizzerà lo swap. I valori accettati sono `0` o qualsiasi numero intero positivo. Se il parametro `maxSwap` viene omesso, il container utilizza la configurazione di swap per l'istanza di container su cui è in esecuzione. È necessario impostare un valore `maxSwap` per il parametro `swappiness` da utilizzare.  
`sharedMemorySize`  
Valore per le dimensioni (in MiB) del volume `/dev/shm`. Questo parametro è mappato all'opzione `--shm-size` su docker run.  
Se si utilizzano attività che ricorrono a Fargate, il parametro `sharedMemorySize` non è supportato.
Tipo: numero intero  
`tmpfs`  
Il percorso del container, le opzioni di montaggio e le dimensioni massime (in MiB) del montaggio tmpfs. Questo parametro è mappato all'opzione `--tmpfs` su docker run.  
Tipo: matrice di oggetti [Tmpfs](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Tmpfs.html)  
Obbligatorio: no    
`containerPath`  
Percorso assoluto in cui deve essere montato il volume tmpfs.  
Tipo: stringa  
Obbligatorio: sì  
`mountOptions`  
L'elenco delle opzioni di montaggio del volume tmpfs.  
Tipo: array di stringhe  
Obbligatorio: no  
Valori validi: `"defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev" | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" | "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" | "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode" | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"`  
`size`  
Le dimensioni massime (in MiB) del volume tmpfs.  
Tipo: numero intero  
Obbligatorio: sì

#### Dipendenze per i container
<a name="container_definition_dependson"></a>

`dependsOn`  
Tipo: matrice di oggetti [ContainerDependency](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ContainerDependency.html)  
Obbligatorio: no  
Le dipendenze definite per l'avvio e la chiusura dei container. Un contenitore può contenere più dipendenze. Se una dipendenza è definita per l'avvio del container, per la sua chiusura è invertita. Per un esempio, consulta [Dipendenze per i container](example_task_definitions.md#example_task_definition-containerdependency).  
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma `1.3.0` o successive (Linux) o `1.0.0` (Windows).  

```
"dependsOn": [
    {
        "containerName": "string",
        "condition": "string"
    }
]
```  
`containerName`  
Tipo: stringa  
Obbligatorio: sì  
Il nome del container che deve soddisfare la condizione specificata.  
`condition`  
Tipo: stringa  
Obbligatorio: sì  
La condizione di dipendenza del container. Di seguito sono elencate le condizioni disponibili e il loro comportamento:  
+ `START`: questa condizione emula il comportamento dei collegamenti e dei volumi. La condizione convalida l'avvio di un container dipendente prima di consentire l'avvio di altri container.
+ `COMPLETE`: questa condizione verifica l'esecuzione fino al completamento (uscita) di un container dipendente prima di consentire l'avvio di altri container. Può rivelarsi utile per container non essenziali che eseguono uno script e quindi escono. Questa condizione non può essere impostata su un container essenziale.
+ `SUCCESS`: questa condizione è uguale a `COMPLETE`, ma richiede anche che il container esca con stato `zero`. Questa condizione non può essere impostata su un container essenziale.
+ `HEALTHY`: questa condizione verifica che il container dipendente superi il controllo dell'integrità del container prima di consentire l'avvio di altri container. Ciò richiede che per il container dipendente siano configurati i controlli dell'integrità nella definizione di attività. Questa condizione è confermata solo all'avvio dell'attività.

#### Timeout del container
<a name="container_definition_timeout"></a>

`startTimeout`  
Tipo: Integer  
Obbligatorio: no  
Valori di esempio: `120`  
Tempo di attesa (in secondi) prima di rinunciare a risolvere le dipendenze per un container.  
Ad esempio, vengono specificati due container in una definizione di attività: `containerA` ha una dipendenza sul `containerB` quando raggiunge lo stato `COMPLETE`, `SUCCESS` o `HEALTHY`. Se per `containerB` è specificato un valore `startTimeout` e non raggiunge lo stato desiderato entro tale periodo di tempo, allora `containerA` non viene avviato.  
Se un container non soddisfa un vincolo di dipendenza o si verifica un timeout prima di rispondere al vincolo, Amazon ECS non avanza i container dipendenti allo stato successivo.
Questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma `1.3.0` o successive (Linux). Il valore massimo è 120 secondi.

`stopTimeout`  
Tipo: Integer  
Obbligatorio: no  
Valori di esempio: `120`  
Durata (in secondi) di attesa prima che sia forzata la chiusura se il container non si arresta da solo normalmente.  
Questo parametro richiede che l'attività o il servizio utilizzi la versione della piattaforma `1.3.0` o successive (Linux). Se il parametro non è specificato, viene utilizzato il valore predefinito di 30 secondi. Il valore massimo è 120 secondi.

#### Controlli di sistema
<a name="container_definition_systemcontrols"></a>

`systemControls`  
Tipo: oggetto [SystemControl](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_SystemControl.html)  
Obbligatorio: no  
Un elenco di parametri kernel associati a un namespace da impostare nel container. Questo parametro è mappato a `Sysctls` nella creazione container del comando del docker e l'opzione `--sysctl` per docker run. Ad esempio, puoi configurare l'impostazione `net.ipv4.tcp_keepalive_time` per mantenere le connessioni di lunga durata.  
Non è consigliabile specificare i parametri `systemControls` correlati alla rete per più container in un'unica attività che utilizza anche la modalità di rete `awsvpc` o `host`. Ciò comporta i seguenti svantaggi:  
+ Se sono stati impostati `systemControls` per qualsiasi container, si applicano a tutti i container nell'attività. Se sono stati impostati diversi `systemControls` per più container in un'unica attività, il container che viene avviato per ultimo determina quale `systemControls` diventa effettivo.
Se stai impostando un namespace della risorsa IPC per utilizzare i container nell'attività, ai controlli di sistema si applicano le seguenti condizioni. Per ulteriori informazioni, consulta [Modalità IPC](#task_definition_ipcmode).  
+ Per le attività che utilizzano la modalità `host` IPC, i valori `systemControls` del namespace IPC non sono supportati.
+ Per le attività che utilizzano la modalità IPC `task`, i valori di `systemControls` del namespace IPC si applicano a tutti i container all'interno di un'attività.
Questo parametro non è supportato per i container Windows.
Questo parametro è supportato solo per le attività ospitate su AWS Fargate se le attività utilizzano la versione della piattaforma `1.4.0` o successive (Linux). Non è supportato per i container Windows su Fargate.

```
"systemControls": [
    {
         "namespace":"string",
         "value":"string"
    }
]
```  
`namespace`  
▬Tipo: stringa  
Obbligatorio: no  
Il parametro kernel associato a un namespace per il quale impostare un parametro `value`.  
Valori del namespace IPC validi: `"kernel.msgmax" | "kernel.msgmnb" | "kernel.msgmni" | "kernel.sem" | "kernel.shmall" | "kernel.shmmax" | "kernel.shmmni" | "kernel.shm_rmid_forced"` e `Sysctls` che iniziano con `"fs.mqueue.*"`  
Valori dello namespace di rete validi: `Sysctls` che iniziano con `"net.*"`. In Fargate, vengono accettati solo i namespace `Sysctls` esistenti all'interno del container.  
Tutti questi valori sono supportati da Fargate.  
`value`  
▬Tipo: stringa  
Obbligatorio: no  
Il valore per il parametro kernel associato a un namespace specificato in `namespace`.

#### Interactive
<a name="container_definition_interactive"></a>

`interactive`  
Tipo: Booleano  
Obbligatorio: no  
Quando questo parametro è `true`, puoi implementare le applicazioni containerizzate che richiedono l'allocazione di `stdin` o `tty`. Questo parametro è mappato a `OpenStdin` nella creazione container del comando del docker e l'opzione `--interactive` per docker run.  
Il valore predefinito è `false`.

#### Pseudoterminale
<a name="container_definition_pseudoterminal"></a>

`pseudoTerminal`  
Tipo: Booleano  
Obbligatorio: no  
Quando il parametro è `true`, è allocato un TTY. Questo parametro è mappato a `Tty` nella creazione container del comando del docker e l'opzione `--tty` per docker run.  
Il valore predefinito è `false`.

## Nome dell'acceleratore Elastic Inference (obsoleto)
<a name="elastic-Inference-accelerator"></a>

Il requisito della risorsa dell'acceleratore di Elastic Inference per la definizione di attività. 

**Nota**  
Amazon Elastic Inference (EI) non è più disponibile per i clienti.

I parametri seguenti sono permessi nella definizione di un processo:

`deviceName`  
Tipo: stringa  
Obbligatorio: sì  
Il nome del dispositivo dell'acceleratore di inferenza elastica. Il `deviceName` deve anche essere riferito in una definizione del container; consulta [Elastic Inference accelerator](#ContainerDefinition-elastic-inference).

`deviceType`  
Tipo: stringa  
Obbligatorio: sì  
L'acceleratore di inferenza elastica da utilizzare.

## Configurazione del proxy
<a name="proxyConfiguration"></a>

`proxyConfiguration`  
Tipo: oggetto [ProxyConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ProxyConfiguration.html)  
Obbligatorio: no  
I dettagli di configurazione del proxy App Mesh.  
Questo parametro non è supportato per i container Windows.

```
"proxyConfiguration": {
    "type": "APPMESH",
    "containerName": "string",
    "properties": [
        {
           "name": "string",
           "value": "string"
        }
    ]
}
```  
`type`  
Tipo: String  
Valori del valore: `APPMESH`  
Obbligatorio: no  
Il tipo di proxy. L’unico valore supportato è `APPMESH`.  
`containerName`  
Tipo: stringa  
Obbligatorio: sì  
Il nome del container che agirà come proxy App Mesh.  
`properties`  
Tipo: matrice di oggetti [KeyValuePair](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_KeyValuePair.html)  
Obbligatorio: no  
Il set di parametri di configurazione di rete per il plug-in Container Network Interface (CNI), specificati come coppie chiave-valore.  
+ `IgnoredUID`: (obbligatorio) l'ID utente (UID) del container proxy come definito dal parametro `user` in una definizione del container. Serve a garantire che il proxy ignori il proprio traffico. Se è specificato `IgnoredGID`, questo campo può rimanere vuoto.
+ `IgnoredGID`: (obbligatorio) l'ID gruppo (GID) del container proxy come definito dal parametro `user` in una definizione del container. Serve a garantire che il proxy ignori il proprio traffico. Se è specificato `IgnoredUID`, questo campo può rimanere vuoto.
+ `AppPorts` (obbligatorio): l'elenco delle porte utilizzate dall'applicazione. Il traffico di rete per queste porte viene inoltrato alle porte `ProxyIngressPort` e `ProxyEgressPort`.
+ `ProxyIngressPort` (obbligatorio): specifica la porta a cui è diretto il traffico in entrata per le `AppPorts`.
+ `ProxyEgressPort` (obbligatorio): specifica la porta a cui è diretto il traffico in uscita da `AppPorts`.
+ `EgressIgnoredPorts`: (obbligatorio) il traffico in uscita diretto verso le porte specificate viene ignorato e non reindirizzato alla `ProxyEgressPort`. Può essere un elenco vuoto.
+ `EgressIgnoredIPs`: (obbligatorio) il traffico in uscita diretto verso gli indirizzi IP specificati viene ignorato e non reindirizzato alla `ProxyEgressPort`. Può essere un elenco vuoto.  
`name`  
▬Tipo: stringa  
Obbligatorio: no  
Nome della coppia chiave-valore.  
`value`  
▬Tipo: stringa  
Obbligatorio: no  
Valore della coppia chiave-valore.

## Volumi
<a name="volumes"></a>

Quando si registra una definizione di attività, è possibile eventualmente specificare un elenco di volumi da trasferire al daemon Docker su un'istanza di container, che diventerà poi accessibile ad altri container nella stessa istanza.

Di seguito sono elencati i tipi di volumi di dati che è possibile utilizzare:
+ Volumi Amazon EBS: forniscono un'archiviazione a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. È possibile collegare 1 volume Amazon EBS a ogni attività Amazon ECS durante l'esecuzione di un'attività isolata oppure durante la creazione o l'aggiornamento di un servizio. I volumi Amazon EBS sono supportati per le attività Linux ospitate su Fargate. Per ulteriori informazioni, consulta [Usare i volumi Amazon EBS con Amazon ECS](ebs-volumes.md).
+ Volumi Amazon EFS: offre uno spazio di archiviazione di file semplice, scalabile e persistente da utilizzare con i processi Amazon ECS. Con Amazon EFS, la capacità di storage è elastica. Cresce e si riduce automaticamente man mano che aggiungi e rimuovi file. Le tue applicazioni possono disporre dello spazio di archiviazione di cui hanno bisogno e quando ne hanno bisogno. I volumi Amazon EFS sono supportati per le attività ospitate su istanze di Fargate. Per ulteriori informazioni, consulta [Usare i volumi Amazon EFS con Amazon ECS](efs-volumes.md).
+ FSx per volumi Windows File Server: fornisce file server Microsoft Windows completamente gestiti. Questi server di file sono supportati da un file system Windows. Quando si utilizza FSx Windows File Server insieme ad Amazon ECS, è possibile effettuare il provisioning delle attività Windows con uno storage di file persistente, distribuito, condiviso e statico. Per ulteriori informazioni, consulta [Utilizzo FSx per volumi Windows File Server con Amazon ECS](wfsx-volumes.md).

  Questa opzione non è supportata per i container Windows su Fargate.
+ Montaggi vincolati: un file o una directory sulla macchina host montato in un container. I volumi host di montaggio vincolato sono supportati durante l'esecuzione delle attività. Per usare i volumi host di montaggi vincolati, specifica un valore `host` e un valore opzionale `sourcePath` nella definizione di attività.

Per ulteriori informazioni, consulta [Opzioni di archiviazione per le attività di Amazon ECS](using_data_volumes.md).

I seguenti parametri sono consentiti in una definizione del container.

`name`  
▬Tipo: stringa  
Obbligatorio: no  
Nome del volume. Il nome può contenere un massimo di 255 lettere (maiuscole e minuscole), numeri, trattini (`-`) e trattini bassi (`_`). Nel parametro `sourceVolume` dell'oggetto `mountPoints` della definizione del container viene fatto riferimento a questo nome.

`host`  
Obbligatorio: no  
Il parametro `host` viene utilizzato per legare il ciclo di vita del montaggio vincolato all'istanza host di Amazon EC2 anziché al processo, dove invece è archiviato. Se il parametro `host` è vuoto, il daemon Docker assegna un percorso host per il tuo volume di dati, ma non è garantito che i dati vengano mantenuti dopo che viene interrotta l'esecuzione del container a essi associato.  
I container Windows possono montare intere directory sulla stessa unità di `$env:ProgramData`.  
Il `sourcePath` parametro è supportato solo quando si utilizzano attività ospitate su istanze Amazon EC2 o Amazon ECS Managed Instances.  
`sourcePath`  
▬Tipo: stringa  
Obbligatorio: no  
Quando viene utilizzato il parametro `host`, specifica un `sourcePath` per dichiarare il percorso sull'istanza Amazon EC2 dell'host presentata al container. Se questo parametro è vuoto, il daemon Docker assegna automaticamente un percorso host. Se il parametro `host` contiene una posizione del file `sourcePath`, il volume di dati rimane nella posizione specificata sull'istanza Amazon EC2 dell'host finché non viene eliminato manualmente. Se il valore `sourcePath` non esiste nell'istanza Amazon EC2 dell'host, viene creato automaticamente dal daemon Docker. Se la posizione è presente, i contenuti della cartella del percorso di origine vengono esportati.

`configuredAtLaunch`  
Tipo: Booleano  
Obbligatorio: no  
Specificare se un volume è configurabile all'avvio. Se impostato su `true`, è possibile configurare il volume quando si esegue un'attività autonoma o quando si crea o si aggiorna un servizio. Se impostato su `true`, non sarà possibile fornire un'altra configurazione di volume nella definizione dell'attività. Questo parametro deve essere impostato su `true` per configurare un volume Amazon EBS da allegare a un'attività. L'impostazione di `configuredAtLaunch` su `true` e il rinvio della configurazione del volume alla fase di avvio consentono di creare definizioni di attività che non sono limitate a un tipo di volume o a impostazioni di volume specifiche. In questo modo, la definizione dell'attività è riutilizzabile in diversi ambienti di esecuzione. Per ulteriori informazioni consulta [Amazon EBS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html).

`dockerVolumeConfiguration`  
Tipo: oggetto [DockerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DockerVolumeConfiguration.html)  
Obbligatorio: no  
Questo parametro viene specificato quando si utilizzano volumi docker. I volumi Docker sono supportati solo se i processi vengono eseguiti su istanze EC2. I container Windows supportano solo l’uso del driver `local`. Per utilizzare i montaggi vincolati, specifica invece un `host`.    
`scope`  
Tipo: String  
Valori validi: `task` \$1 `shared`  
Obbligatorio: no  
L'ambito del volume Docker che determina il suo ciclo di vita. I volumi Docker che rientrano nell'ambito `task` vengono automaticamente assegnati all'avvio del processo e distrutti quando il processo viene arrestato. I volumi Docker che vengono definiti come `shared` vengono mantenuti dopo l'arresto del processo.  
`autoprovision`  
Tipo: Booleano  
Valore predefinito: `false`  
Obbligatorio: no  
Se questo valore è `true`, viene creato il volume Docker, se non è già presente. Questo campo è utilizzato solo se `scope` è `shared`. Se `scope` è `task`, questo parametro deve essere omesso.  
`driver`  
▬Tipo: stringa  
Obbligatorio: no  
Il driver del volume Docker da utilizzare. Il valore del driver deve corrispondere al nome del driver fornito da Docker perché questo nome è utilizzato per il posizionamento dell'attività. Se il driver è stato installato utilizzando la CLI del plugin Docker, utilizzare `docker plugin ls` per richiamare il nome del driver dall'istanza di container. Se il driver è stato installato utilizzando un altro metodo, utilizzare il rilevamento del plugin Docker per richiamare il nome del driver.  
`driverOpts`  
▬Tipo: stringa  
Obbligatorio: no  
Una mappa delle opzioni specifiche del driver Docker da inviare. Questo parametro fa riferimento a `DriverOpts` nella sezione Crea un volume di Docker.  
`labels`  
▬Tipo: stringa  
Obbligatorio: no  
Metadati personalizzati da aggiungere al volume Docker.

`efsVolumeConfiguration`  
Tipo: oggetto [EFSVolumedi configurazione](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSVolumeConfiguration.html)  
Obbligatorio: no  
Questo parametro viene specificato quando si utilizzano volumi Amazon EFS.    
`fileSystemId`  
Tipo: stringa  
Obbligatorio: sì  
L'ID del file system Amazon EFS da utilizzare.  
`rootDirectory`  
▬Tipo: stringa  
Obbligatorio: no  
La directory all'interno del file system Amazon EFS da montare come directory principale all'interno dell'host. Se questo parametro viene omesso, verrà utilizzata la radice del volume Amazon EFS. La specifica di `/` avrà lo stesso effetto dell'omissione di questo parametro.  
Se un punto di accesso EFS è specificato in `authorizationConfig`, il parametro della directory radice deve essere omesso o impostato su `/` per applicare il percorso impostato sul punto di accesso EFS.  
`transitEncryption`  
Tipo: String  
Valori validi: `ENABLED` \$1 `DISABLED`  
Obbligatorio: no  
Specifica se abilitare o meno la crittografia per i dati Amazon EFS in transito tra l'host Amazon ECS e il server Amazon EFS. Se si utilizza l'autorizzazione IAM di Amazon EFS, è necessario abilitare la crittografia di transito. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di `DISABLED`. Per ulteriori informazioni, consulta [Encrypting Data in Transit](https://docs.aws.amazon.com/efs/latest/ug/encryption-in-transit.html) nella *Guida per l'utente di Amazon Elastic File System*.  
`transitEncryptionPort`  
Tipo: Integer  
Obbligatorio: no  
La porta da utilizzare per l'invio di dati crittografati tra l'host Amazon ECS e il server Amazon EFS. Se non si specifica una porta di crittografia di transito, l'attività utilizzerà la strategia di selezione della porta usata dall'helper per il montaggio di Amazon EFS. Per ulteriori informazioni, consulta [Assistente per il montaggio di EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-mount-helper.html) nella *Guida per l'utente di Amazon Elastic File System*.  
`authorizationConfig`  
Tipo: oggetto [EFSAuthorizationConfig](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EFSAuthorizationConfig.html)  
Obbligatorio: no  
I dettagli di configurazione dell'autorizzazione per il file system Amazon EFS.    
`accessPointId`  
▬Tipo: stringa  
Obbligatorio: no  
L'ID del punto di accesso da utilizzare. Se viene specificato un punto di accesso, il valore della directory root specificato in `efsVolumeConfiguration` deve essere omesso o impostato su `/` per applicare il percorso impostato sul punto di accesso EFS. Se si utilizza un punto di accesso, la crittografia di transito deve essere abilitata in `EFSVolumeConfiguration`. Per ulteriori informazioni, consulta [Utilizzo dei punti di accesso Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) nella *Guida per l'utente di Amazon Elastic File System*.  
`iam`  
Tipo: String  
Valori validi: `ENABLED` \$1 `DISABLED`  
Obbligatorio: no  
Specificare se utilizzare o meno il ruolo IAM dell'attività Amazon ECS riportato in una definizione di attività durante il montaggio del file system Amazon EFS. Se abilitato, la crittografia di transito deve essere abilitata nella casella `EFSVolumeConfiguration`. Se questo parametro viene omesso, viene utilizzato il comportamento predefinito di `DISABLED`. Per ulteriori informazioni consulta [Ruoli IAM per le attività](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html).

`FSxWindowsFileServerVolumeConfiguration`  
Tipo: oggetto [FSxWindowsFileServerVolumeConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_FSxWindowsFileServerVolumeConfiguration.html)  
Obbligatorio: sì  
Questo parametro viene specificato quando utilizzi un file system [Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) per l'archiviazione delle attività.    
`fileSystemId`  
Tipo: stringa  
Obbligatorio: sì  
L' FSx ID del file system Windows File Server da utilizzare.  
`rootDirectory`  
Tipo: stringa  
Obbligatorio: sì  
La directory all'interno del FSx file system Windows File Server da montare come directory principale all'interno dell'host.  
`authorizationConfig`    
`credentialsParameter`  
Tipo: stringa  
Obbligatorio: sì  
Le opzioni delle credenziali di autorizzazione.  

**opzioni:**
+ Nome della risorsa Amazon (ARN) del segreto [Gestione dei segreti AWS](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).
+ ARN di un parametro [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html).  
`domain`  
Tipo: stringa  
Obbligatorio: sì  
Un nome di dominio completo ospitato da una directory [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) (AWS Managed Microsoft AD) o da una directory EC2 Active autonoma.

## Tag
<a name="tags"></a>

Quando registri una definizione di attività, puoi facoltativamente specificare tag di metadati applicati alla definizione di attività. I tag consentono di suddividere in categorie e organizzare la definizione di attività. Ciascun tag è formato da una chiave e da un valore facoltativo. Li definisci entrambi. Per ulteriori informazioni, consulta [Aggiunta di tag alle risorse Amazon ECS](ecs-using-tags.md).

**Importante**  
Non aggiungere Informazioni personali di identificazione o altre informazioni riservate o sensibili nei tag. I tag sono accessibili a molti AWS servizi, inclusa la fatturazione. I tag non sono destinati a essere utilizzati per dati privati o sensibili.

I seguenti parametri sono consentiti in un oggetto di tag.

`key`  
▬Tipo: stringa  
Obbligatorio: no  
Una parte di una coppia chiave-valore che costituisce un tag. Una chiave è un'etichetta generale che funge da categoria per più valori di tag specifici.

`value`  
▬Tipo: stringa  
Obbligatorio: no  
La parte facoltativa di una coppia chiave-valore che costituisce un tag. Un valore agisce come descrittore all'interno di una categoria di tag (chiave).

## Altri parametri di definizione di attività
<a name="other_task_definition_params"></a>

I seguenti parametri di definizione di attività possono essere utilizzati quando si registrano le definizioni di attività nella console Amazon ECS con l'opzione **Configure via JSON** (Configura tramite JSON). Per ulteriori informazioni, consulta [Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

**Topics**
+ [

### Archiviazione temporanea
](#task_definition_ephemeralStorage)
+ [

### Modalità IPC
](#task_definition_ipcmode)
+ [

### Modalità PID
](#task_definition_pidmode)
+ [

### Iniezione di guasti
](#task_definition_faultInjection)

### Archiviazione temporanea
<a name="task_definition_ephemeralStorage"></a>

`ephemeralStorage`  
Tipo: oggetto [EphemeralStorage](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_EphemeralStorage.html)  
Obbligatorio: no  
La quantità di archiviazione temporanea in GB da allocare per l'attività. Questo parametro viene utilizzato per espandere la quantità totale di archiviazione temporanea disponibile, oltre l'importo predefinito, per le attività ospitate su AWS Fargate. Per ulteriori informazioni, consulta [Utilizzo di montaggio vincolato con Amazon ECS](bind-mounts.md).  
Questo parametro è supportato solo sulla versione della piattaforma `1.4.0` o successive (Linux) oppure `1.0.0` o successive (Windows).

### Modalità IPC
<a name="task_definition_ipcmode"></a>

`ipcMode`  
Non è supportato per le attività eseguite su Fargate.  
▬Tipo: stringa  
Obbligatorio: no  
Il namespace della risorsa IPC da utilizzare per i container nell'attività. I valori validi sono `host`, `task` o `none`. Se è specificato `host`, tutti i container all'interno delle attività che hanno specificato la modalità `host` IPC sulla stessa istanza di container condividono le stesse risorse IPC con l'istanza host Amazon EC2. Se è stato specificato `task`, tutti i container all'interno dell'attività specificata condividono le stesse risorse IPC. Se è stato specificato `none`, le risorse IPC all'interno dei container di un'attività sono private e non condivise con altri container in un'attività o sull'istanza di container. Se non è stato specificato alcun valore, la condivisione del namespace della risorsa IPC dipende dalle impostazioni del daemon Docker sull'istanza del container.  
Se viene utilizzata la modalità `host` IPC, tieni presente che esiste un maggiore rischio di esposizione a spazi dei nomi IPC indesiderati.  
Se stai impostando parametri kernel associati a un namespace utilizzando `systemControls` per i container nell'attività, al namespace della risorsa IPC si applica quanto segue.   
+ Per le attività che utilizzano la modalità `host` IPC, spazi dei nomi IPC correlati a `systemControls` non sono supportati.
+ Per le attività che utilizzano la modalità `task` IPC, `systemControls` correlati al namespace IPC vengono applicati a tutti i container all'interno di un'attività.

**Nota**  
Questo parametro non è supportato per i container o le attività Windows che utilizzano il tipo di avvio Fargate.

### Modalità PID
<a name="task_definition_pidmode"></a>

`pidMode`  
Tipo: String  
Valori validi: `host` \$1 `task`  
Obbligatorio: no  
Il namespace del processo da utilizzare per i container nell'attività. I valori validi sono `host` o `task`. Per i container Linux, l'unico valore valido è `task`. Ad esempio, i sidecar di monitoraggio potrebbero aver bisogno di `pidMode` per accedere a informazioni su altri container in esecuzione nella stessa attività.  
Se è stato specificato `task`, tutti i container all'interno dell'attività specificata condividono lo stesso namespace del processo.  
Se non è stato specificato alcun valore, l'impostazione predefinita è un namespace privato per ogni container. 

**Nota**  
Questo parametro è supportato solo per le attività ospitate su AWS Fargate se le attività utilizzano la versione della piattaforma `1.4.0` o successive (Linux). Non è supportato per i container Windows su Fargate.

### Iniezione di guasti
<a name="task_definition_faultInjection"></a>

`enableFaultInjection`  
Tipo: Booleano  
Valori validi: `true` \$1 `false`  
Obbligatorio: no  
Se questo parametro è impostato su `true`, nel payload di un'attività, Amazon ECS e Fargate accettano richieste di iniezione di guasti dai container della stessa. Il valore del parametro è `false` per impostazione predefinita.