

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

# Gestione delle istanze di container Amazon ECS Linux
<a name="manage-linux"></a>

Quando usi le istanze EC2 per i carichi di lavoro Amazon ECS, sei responsabile della manutenzione delle istanze

**Topics**
+ [Avvio di un'istanza di container](launch_container_instance.md)
+ [Bootstrap delle istanze di container Linux](bootstrap_container_instance.md)
+ [Configurazione delle istanze di container per ricevere avvisi sulle istanze spot](spot-instance-draining-linux-container.md)
+ [Esecuzione di uno script quando si avvia un'istanza di container](start_task_at_launch.md)
+ [Aumento delle interfacce di rete delle istanze di container Linux di Amazon ECS](container-instance-eni.md)
+ [Allocazione della memoria di un'istanza di container](memory-management.md)
+ [Gestione remota delle istanze di container](ec2-run-command.md)
+ [Uso di un proxy HTTP per istanze di container Linux](http_proxy_config.md)
+ [Configurazione delle istanze preinizializzate per il tuo gruppo Auto Scaling](using-warm-pool.md)
+ [Aggiornamento dell'agente del container Amazon ECS](ecs-agent-update.md)

Ogni versione dell'agente del container di Amazon ECS supporta una serie di funzioni differenti e assicura le correzioni dei bug delle versioni precedenti. Quando possibile, consigliamo sempre di utilizzare la versione più recente dell'agente del container di Amazon ECS. Per passare all'ultima versione dell'agente del container, consulta [Aggiornamento dell'agente del container Amazon ECS](ecs-agent-update.md).

[Per scoprire quali funzionalità e miglioramenti sono inclusi in ogni versione dell'agente, consulta /releases. https://github.com/aws/ amazon-ecs-agent](https://github.com/aws/amazon-ecs-agent/releases)

**Importante**  
La versione Docker minima per parametri affidabili è `v20.10.13` e successive, inclusa nell'AMI `20220607` ottimizzata per Amazon ECS e versioni successive.  
Le versioni dell'agente Amazon ECS `1.20.0` e successive non supportano più le versioni di Docker precedenti alla `18.01.0`.

# Avvio di un'istanza di container Linux di Amazon ECS
<a name="launch_container_instance"></a>

Puoi creare istanze di container di Amazon ECS utilizzando la console Amazon EC2. 

Puoi avviare un'istanza con vari metodi, tra cui la console Amazon EC2 e l' AWS CLI SDK. Per informazioni sugli altri metodi per avviare un'istanza, consulta [Avvio dell'istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) nella *Guida per l'utente di Amazon EC2*.

Per ulteriori informazioni sulla procedura guidata di avvio, consulta[Avvio di un'istanza tramite la nuova procedura guidata di avvio istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-instance-wizard.html) nella *Guida per l'utente di Amazon EC2*. 

Prima di iniziare, completa i passaggi descritti in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md).

È possibile utilizzare la nuova procedura guidata Amazon EC2 per avviare un'istanza. La procedura guidata di avvio specifica tutti i parametri di avvio necessari per l'avvio di un'istanza. 

**Topics**
+ [Procedura](#linux-liw-initiate-instance-launch)
+ [Nome e tag](#linux-liw-name-and-tags)
+ [Immagini di applicazioni e sistema operativo (Amazon Machine Image)](#linux-liw-ami)
+ [Tipo di istanza](#linux-liw-instance-type)
+ [Coppia di chiavi (login)](#linux-liw-key-pair)
+ [Impostazioni di rete](#linux-liw-network-settings)
+ [Per configurare l'archiviazione](#linux-liw-storage)
+ [Dettagli avanzati](#linux-liw-advanced-details)

## Procedura
<a name="linux-liw-initiate-instance-launch"></a>

Prima di iniziare, completa i passaggi descritti in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md).

1. Apri la console Amazon EC2 all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nella barra di navigazione nella parte superiore dello schermo, viene visualizzata la AWS regione corrente (ad esempio, Stati Uniti orientali (Ohio)). Selezionare una regione in cui avviare l'istanza. 

1. Dal pannello di controllo della console Amazon EC2, scegli **Launch Instance (Avvia istanza)**.

## Nome e tag
<a name="linux-liw-name-and-tags"></a>

Il nome dell'istanza è un tag, dove la chiave è **Name (Nome)** e il valore è il nome specificato. È possibile aggiungere tag all'istanza, ai volumi e alla grafica elastica. Per le istanze spot, è possibile aggiungere un tag solo alla richiesta di istanza spot. 

La specifica di un nome di istanza e dei tag aggiuntivi è facoltativa.
+ Per **Name (Nome)**, inserire un nome descrittivo per l'istanza. Se non si specifica un nome, l'istanza può essere identificata dal relativo ID, che viene generato automaticamente all'avvio dell'istanza.
+ Per aggiungere altri tag, scegliere **Add additional tags (Aggiungi altri tag)**. Scegliere **Add tag (Aggiungi tag)**, quindi immettere una chiave e un valore e selezionare il tipo di risorsa da taggare. Scegliere **Add tag (Aggiungi tag)** per ogni tag aggiuntivo.

## Immagini di applicazioni e sistema operativo (Amazon Machine Image)
<a name="linux-liw-ami"></a>

Un'Amazon Machine Image (AMI) contiene tutte le informazioni necessarie per creare un'istanza. Ad esempio, un'AMI può contenere il software necessario per fungere da server Web, ad esempio Apache e il sito Web.

Utilizza la barra **di ricerca** per trovare un'AMI ottimizzata per Amazon ECS adatta pubblicata da. AWS

1. Inserisci uno dei seguenti termini nella barra **Search** (cerca).
   + **ami-ecs**
   + Il **Valore** di un'AMI ottimizzata per Amazon ECS.

     Per le ultime versioni ottimizzate per Amazon ECS AMIs e i relativi valori, consulta Linux AMI ottimizzata per [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux).

1. Premere **Invio**.

1. Nella pagina **Choose an Amazon Machine Image (AMI)**, seleziona la AMIs scheda **AWS Marketplace**.

1. Dal riquadro **Refine results** (perfeziona i risultati), seleziona **Amazon Web Services** come **Publisher**.

1. Scegli **Select** (seleziona) nella riga dell'AMI da utilizzare.

   In alternativa, scegli **Cancel** (Annulla) (in alto a destra) per tornare alla procedura guidata di avvio istanza senza scegliere un'AMI. Verrà selezionata un'AMI predefinita. Assicurati che l'AMI soddisfi i requisiti delineati in Linux ottimizzato per [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html). AMIs

## Tipo di istanza
<a name="linux-liw-instance-type"></a>

Il tipo di istanza definisce la configurazione hardware e le dimensioni dell'istanza. I tipi di istanza più grandi dispongono di una maggiore quantità di CPU e memoria. Per maggiori informazioni, consulta [ Tipi di istanza](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) nella *Guida per l'utente di Amazon EC2*. Se desideri eseguire IPv6 solo un carico di lavoro, alcuni tipi di istanze non supportano gli indirizzi. IPv6 Per ulteriori informazioni, [IPv6consulta gli indirizzi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html#ipv6-addressing) nella Guida per l'*utente di Amazon EC2*.
+ Per **Tipo di istanza**, selezionare il tipo di istanza per l'istanza. 

   Il tipo di istanza che selezioni determina le risorse disponibili per l'esecuzione delle attività.

## Coppia di chiavi (login)
<a name="linux-liw-key-pair"></a>

In **Key pair name (Nome della coppia di chiavi)**, scegliere una coppia di chiavi esistente oppure scegliere **Create new key pair (Crea nuova coppia di chiavi)** per creane una nuova. 

**Importante**  
Se si sceglie l'opzione **Proceed without key pair (Not recommended)** (Procedi senza una coppia di chiavi [non consigliato]), non sarà possibile connetterti all'istanza a meno che non si scelga un'AMI configurata per offrire agli utenti un metodo di accesso alternativo.

## Impostazioni di rete
<a name="linux-liw-network-settings"></a>

Configura le impostazioni di rete in base alle necessità dopo aver selezionato il pulsante **Modifica** nella sezione **Impostazioni di rete** del modulo.
+ Per **VPC**, seleziona il VPC nel quale desideri avviare l'istanza. Per eseguire IPv6 solo un carico di lavoro, scegli un VPC dual stack che includa sia IPv4 un blocco CIDR che uno. IPv6 
+ Per **Sottorete**, seleziona la sottorete in cui avviare l'istanza. Puoi avviare un'istanza in una sottorete associata a una zona di disponibilità, una Local Zone, una zona Wavelength o un Outpost.

  Per avviare l'istanza in una zona di disponibilità, selezionare la sottorete in cui avviare l'istanza. Per creare una nuova sottorete, scegliere **Create new subnet (Crea nuova sottorete)** per passare alla console Amazon VPC. Al termine, tornare alla procedura guidata di avvio istanza e scegliere Refresh (Aggiorna) per caricare la sottorete nell'elenco.

  Per avviare l'istanza in una Local Zone, selezionare una sottorete creata nella Local Zone. 

  Per avviare un'istanza in un Outpost, selezionare una sottorete in un VPC associato a un Outpost.

  Per eseguire un carico di lavoro IPv6 solo, scegli una sottorete che includa solo un blocco CIDR. IPv6 
+ **Auto-assign Public IP** (IP pubblico di assegnazione automatica): se l'istanza deve essere accessibile da Internet, verifica che il campo **Auto-assign Public IP** (Assegna automaticamente IP pubblico) sia impostato su **Enable** (Abilita). In caso contrario, imposta il campo su **Disable** (Disabilita).
**Nota**  
Le istanze di container richiedono un accesso per comunicare con l'endpoint del servizio Amazon ECS. Ciò può avvenire attraverso un endpoint VPC di interfaccia o tramite istanze di container con indirizzi IP pubblici.  
Per ulteriori informazioni sugli endpoint VPC di interfaccia, vedi [Endpoint VPC dell'interfaccia di Amazon ECS (AWS PrivateLink)](vpc-endpoints.md)  
Se non disponi di un endpoint VPC di interfaccia configurato e le istanze di container non dispongono di indirizzi IP pubblici, per fornire questo accesso devono utilizzare il processo Network Address Translation (NAT). Per ulteriori informazioni, consulta [NAT gateways](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) (Gateway NAT) nella *Guida per l'utente di Amazon VPC* e [Uso di un proxy HTTP per istanze di container Linux Amazon ECS](http_proxy_config.md) in questa guida. 
+ **Se scegli un VPC dual stack e IPv6 una sottorete solo, **per IPv6 Assegnazione automatica** dell'IP, scegli Abilita.**
+ **Firewall (security groups)** (Firewall [gruppi di sicurezza]): utilizza un gruppo di sicurezza per definire le regole del firewall per l'istanza di container. Tali regole specificano quale traffico di rete in entrata viene distribuito sull'istanza di container. Tutto il traffico rimanente verrà ignorato. 
  + Per selezionare un gruppo di sicurezza esistente, scegli **Select an existing security group** (Seleziona un gruppo di sicurezza esistente), quindi seleziona il gruppo di sicurezza creato in [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md).
+ ****Se avvii l'istanza per un IPv6 solo carico di lavoro, scegli **Configurazione di rete avanzata**, quindi per Assegna IP primario, scegli Sì. IPv6 ****
**Nota**  
Senza un IPv6 indirizzo primario, le attività in esecuzione sull'istanza del contenitore nelle modalità di rete host o bridge non verranno registrate con i sistemi di bilanciamento del carico o con. AWS Cloud Map

## Per configurare l'archiviazione
<a name="linux-liw-storage"></a>

L'AMI selezionata include uno o più volumi di archiviazione, compreso il volume dispositivo root. È possibile specificare altri volumi da collegare all'istanza.

Puoi utilizzare la vista **Semplice**.
+ **Storage Type** (Tipo di storage): configura lo storage per l'istanza di container.

  Se stai utilizzando l'AMI Amazon Linux 2 ottimizzata per Amazon ECS, l'istanza dispone di un singolo volume di 30 GiB configurato che è condiviso tra il sistema operativo e Docker.

  Se stai utilizzando l'AMI ottimizzata per Amazon ECS, l'istanza dispone di due volumi configurati. Il volume **Root** è per il sistema operativo, mentre il secondo volume di Amazon EBS (collegato a `/dev/xvdcz`) è per l'utilizzo di Docker.

  Puoi aumentare o diminuire le dimensioni del volume per l'istanza in modo che soddisfi le esigenze applicative.

## Dettagli avanzati
<a name="linux-liw-advanced-details"></a>

Per **Advanced Details (Dettagli avanzati)**, espandi la sezione per visualizzare i campi e specifica eventuali parametri aggiuntivi per l'istanza.
+ **Purchasing option** (Opzioni di acquisto): seleziona **Request Spot Instances** (Richiedi istanze Spot) per avviare un'istanza Spot. Dovrai anche impostare altri campi correlati alle istanze Spot. Per ulteriori informazioni, consulta [Richiesta Istanza Spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html).
**Nota**  
Se utilizzi istanze Spot e visualizzi un messaggio `Not available`, potresti dover scegliere un altro tipo di istanza.
+ **Profilo istanza IAM**: seleziona il ruolo IAM dell'istanza di container. Questo di solito è chiamato `ecsInstanceRole`.
**Importante**  
Se non avvii l'istanza di container con le autorizzazioni IAM corrette, l'agente Amazon ECS non potrà connettersi al cluster. Per ulteriori informazioni, consulta [Ruolo IAM delle istanze di container Amazon ECS](instance_IAM_role.md).
+ **Dati utente**: configura l'istanza di container di Amazon ECS con i dati utente, ad esempio le variabili di ambiente dell'agente da [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md). Gli script di dati utente di Amazon EC2 vengono eseguiti solo una volta, al primo avvio dell'istanza. Di seguito sono elencati esempi comuni dei dati utente utilizzati per:
  + Di default, l'istanza di container si avvia nel cluster predefinito. Per avviarla in un cluster non predefinito, scegli l'elenco **Advanced Details** (Dettagli avanzati). Quindi, incolla lo script seguente nel campo **Dati utente**, sostituendolo *your\$1cluster\$1name* con il nome del cluster.

    ```
    #!/bin/bash
    echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
    ```
  + Se disponi di un file `ecs.config` in Amazon S3 e hai abilitato l'accesso in sola lettura di Amazon S3 al ruolo dell'istanza di container, scegli l'elenco **Dettagli avanzati**. Quindi, incolla lo script seguente nel campo **Dati utente**, sostituendolo *your\$1bucket\$1name* con il nome del bucket per installarlo AWS CLI e scrivi il file di configurazione al momento del lancio. 
**Nota**  
Per ulteriori informazioni su questa configurazione, consulta [Archiviazione della configurazione di un'istanza di container Amazon ECS in Amazon S3](ecs-config-s3.md).

    ```
    #!/bin/bash
    yum install -y aws-cli
    aws s3 cp s3://your_bucket_name/ecs.config /etc/ecs/ecs.config
    ```
  + Specificare i tag per l'istanza di container utilizzando il parametro di configurazione `ECS_CONTAINER_INSTANCE_TAGS`. Ciò crea i tag associati solo a Amazon ECS, non possono essere elencati utilizzando l'API Amazon EC2.
**Importante**  
Se avvii le istanze del container utilizzando un gruppo Auto Scaling di Amazon EC2, devi utilizzare il parametro di configurazione dell'agente ECS\$1CONTAINER\$1INSTANCE\$1TAGS per aggiungere tag. Ciò è dovuto al modo in cui i tag vengono aggiunti alle istanze Amazon EC2 avviate utilizzando i gruppi Auto Scaling.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_TAGS={"tag_key": "tag_value"}
    EOF
    ```
  + Specifica i tag per l'istanza di container e quindi utilizza il parametro di configurazione `ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM` per propagarli da Amazon EC2 ad Amazon ECS.

    Di seguito è riportato un esempio di script di dati utente che propaga i tag associati a un'istanza di container, nonché registra l'istanza di container con un cluster denominato `your_cluster_name`:

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_CONTAINER_INSTANCE_PROPAGATE_TAGS_FROM=ec2_instance
    EOF
    ```
  + Per impostazione predefinita, l'agente container Amazon ECS cercherà di rilevare la compatibilità dell'istanza del contenitore per una configurazione IPv6 solo esaminando i valori predefiniti IPv4 e IPv6 i percorsi dell'istanza. Per ignorare questo comportamento, puoi impostare il parametro ` ECS_INSTANCE_IP_COMPATIBILITY` su `ipv4` o `ipv6` nel file dell'istanza `/etc/ecs/ecs.config`.

    ```
    #!/bin/bash
    cat <<'EOF' >> /etc/ecs/ecs.config
    ECS_CLUSTER=your_cluster_name
    ECS_INSTANCE_IP_COMPATIBILITY=ipv6
    EOF
    ```

  Per ulteriori informazioni, consulta [Bootstrap di istanze di container Linux Amazon ECS per il trasferimento dei dati](bootstrap_container_instance.md).

# Bootstrap di istanze di container Linux Amazon ECS per il trasferimento dei dati
<a name="bootstrap_container_instance"></a>

Quando avvii un'istanza Amazon EC2, puoi trasferire i dati utente all'istanza EC2. I dati possono essere utilizzati per eseguire attività di configurazione automatizzate di routine e anche per l'esecuzione di script all'avvio dell'istanza. Per Amazon ECS, i casi di utilizzo più comuni per i dati utente riguardano la trasmissione di informazioni sulla configurazione al daemon Docker e all'agente del container Amazon ECS.

Puoi trasferire diversi tipi di dati utente ad Amazon EC2, ad esempio hook di avvio del cloud, script di shell e direttive `cloud-init`. Per ulteriori informazioni su questi e altri tipi di formato, consulta la [documentazione su cloud-init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Per passare i dati utente quando usi la procedura guidata di avvio di Amazon EC2, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).

È possibile configurare l'istanza di container per trasmettere i dati nella configurazione dell'agente del container o nella configurazione del daemon Docker.

## Agente del container Amazon ECS
<a name="bootstrap_container_agent"></a>

Le varianti Linux dell'AMI ottimizzata per Amazon ECS cercano i dati di configurazione dell'agente nel file `/etc/ecs/ecs.config` all'avvio dell'agente del container. Puoi specificare questi dati di configurazione al momento dell'avvio con i dati utente di Amazon EC2. Per ulteriori informazioni sulle variabili di configurazione per l'agente del container di Amazon ECS disponibili, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).

Per impostare una sola variabile di configurazione dell'agente, ad esempio il nome del cluster, utilizza **echo** per copiare la variabile nel file di configurazione:

```
#!/bin/bash
echo "ECS_CLUSTER=MyCluster" >> /etc/ecs/ecs.config
```

Per scrivere più variabili nel file `/etc/ecs/ecs.config`, utilizza il formato `heredoc` illustrato di seguito. Questo formato scrive tutti gli elementi nel file di configurazione, inserendoli tra le righe **cat** ed `EOF`.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENGINE_AUTH_TYPE=docker
ECS_ENGINE_AUTH_DATA={"https://index.docker.io/v1/":{"username":"my_name","password":"my_password","email":"email@example.com"}}
ECS_LOGLEVEL=debug
ECS_WARM_POOLS_CHECK=true
EOF
```

Per impostare gli attributi di istanza personalizzati, imposta la variabile di ambiente `ECS_INSTANCE_ATTRIBUTES`.

```
#!/bin/bash
cat <<'EOF' >> ecs.config
ECS_INSTANCE_ATTRIBUTES={"envtype":"prod"}
EOF
```

## Daemon Docker
<a name="bootstrap_docker_daemon"></a>

È possibile specificare le informazioni di configurazione del daemon Docker con i dati utente Amazon EC2. Per ulteriori informazioni sulle opzioni di configurazione, consulta la [documentazione del daemon Docker](https://docs.docker.com/reference/cli/dockerd/).

**Nota**  
AWS non supporta configurazioni Docker personalizzate, perché a volte possono entrare in conflitto con le future modifiche o funzionalità di Amazon ECS senza preavviso.

Nell'esempio riportato di seguito, le opzioni personalizzate vengono aggiunte al file di configurazione del daemon Docker, `/etc/docker/daemon.json`, che viene quindi specificato nei dati utente all'avvio dell'istanza.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"debug": true}
EOF
systemctl restart docker --no-block
```

Nell'esempio riportato di seguito, le opzioni personalizzate vengono aggiunte al file di configurazione del daemon Docker, `/etc/docker/daemon.json`, che viene quindi specificato nei dati utente all'avvio dell'istanza. Questo esempio mostra come disattivare il docker-proxy nel file di configurazione del daemon Docker.

```
#!/bin/bash
cat <<EOF >/etc/docker/daemon.json
{"userland-proxy": false}
EOF
systemctl restart docker --no-block
```

# Configurazione delle istanze di container Amazon ECS Linux per ricevere avvisi sulle istanze spot
<a name="spot-instance-draining-linux-container"></a>

Amazon EC2 termina, arresta o iberna l'istanza Spot quando il prezzo Spot supera il prezzo massimo per la richiesta o la capacità non è più disponibile. Amazon EC2 fornisce un preavviso di due minuti di interruzione dell'istanza Spot per le operazioni di terminazione e interruzione. Non fornisce l'avviso di due minuti per l'operazione di ibernazione. Se la funzione di drenaggio dell'istanza Spot di Amazon ECS è abilitata sull'istanza, Amazon ECS riceve l'avviso di interruzione dell'istanza spot e posiziona l'istanza nello stato `DRAINING`. 

**Importante**  
Amazon ECS non riceve alcun avviso da Amazon EC2 quando le istanze vengono rimosse da Ribilanciamento della capacità di Auto Scaling. Per ulteriori informazioni, consulta [Ribilanciamento della capacità di Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-capacity-rebalancing.html).

Quando un'istanza di container è impostata su `DRAINING`, Amazon ECS impedisce che venga pianificato il posizionamento di nuovi processi nell'istanza di container. Le attività di servizio nell'istanza di container di esaurimento che sono in stato `PENDING` vengono interrotte immediatamente. Se nel cluster sono disponibili istanze di container, le attività del servizio di sostituzione vengono avviate su di esse.

La funzione di esaurimento dell'istanza spot è disattivata per impostazione predefinita. 

Puoi attivare lo svuotamento dell'istanza spot all'avvio di un'istanza. Aggiungi il seguente script nel campo **Dati utente**. *MyCluster*Sostituiscilo con il nome del cluster in cui registrare l'istanza del contenitore.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
EOF
```

Per ulteriori informazioni, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).

**Per attivare lo svuotamento dell'istanza Spot per un'istanza di container esistente**

1. Connettiti all'istanza Spot su SSH.

1. Modifica il file `/etc/ecs/ecs.config` e aggiungi quanto segue:

   ```
   ECS_ENABLE_SPOT_INSTANCE_DRAINING=true
   ```

1. Riavvia il servizio `ecs`.
   + Per l'AMI Amazon Linux 2 ottimizzata per Amazon ECS:

     ```
     sudo systemctl restart ecs
     ```

1. (Facoltativo) Puoi verificare se l'agente è in esecuzione e visualizzare alcune informazioni sulla nuova istanza di container interrogando l'operazione API di introspezione dell'agente. Per ulteriori informazioni, consulta [Introspezione del container di Amazon ECS](ecs-agent-introspection.md).

   ```
   curl http://localhost:51678/v1/metadata
   ```

# Esecuzione di uno script quando si avvia un'istanza di container Linux di Amazon ECS
<a name="start_task_at_launch"></a>

Potresti dover eseguire un container specifico per ogni istanza di container per gestire operazioni o problemi di sicurezza, ad esempio il monitoraggio, la sicurezza, i parametri, il rilevamento servizi o la creazione di log.

Per eseguire questa operazione, puoi configurare le istanze di container per chiamare il comando **docker run** con lo script di dati utente all'avvio o in un sistema di inizializzazione come Upstart o **systemd**. Anche se questo metodo funziona, presenta di alcuni svantaggi perché Amazon ECS non conosce i container e non può monitorare CPU, memoria, porte o le altre risorse utilizzate. Per garantire che Amazon ECS tenga correttamente conto di tutte le risorse delle attività, crea una definizione di attività per il container per l'esecuzione nelle istanze di container. Quindi, utilizza Amazon ECS per posizionare il processo al momento dell'avvio con i dati utente di Amazon EC2.

Lo script di dati utente di Amazon EC2 nella procedura seguente utilizza l'API di introspezione di Amazon ECS per identificare l'istanza di container. Quindi, utilizza il AWS CLI **start-task** comando and per eseguire un'attività specificata su se stessa durante l'avvio. 

**Per avviare un'attività al momento dell'avvio di un'istanza di container**

1. Modifica il ruolo IAM `ecsInstanceRole` per aggiungere le autorizzazioni per l'operazione API `StartTask`. Per ulteriori informazioni, consulta [Aggiornare autorizzazioni per un ruolo](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_update-role-permissions.html) nella *AWS Identity and Access Management Guida per l'utente *.

1. Avvia una o più istanze di container usando l'AMI Amazon Linux 2 ottimizzata per Amazon ECS. Avvia nuove istanze di container e utilizza il seguente script di esempio nei dati utente EC2. Sostituisci *your\$1cluster\$1name* con il cluster l'istanza del contenitore in cui registrarsi e *my\$1task\$1def* con la definizione dell'attività da eseguire sull'istanza all'avvio. 

   Per ulteriori informazioni, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).
**Nota**  
Il contenuto MIME in più parti mostrato di seguito usa uno script di shell per impostare i valori di configurazione e installare pacchetti. Utilizza anche un processo systemd per avviare l'attività una volta che il servizio **ecs** è in esecuzione e l'API di introspezione è disponibile.

   ```
   Content-Type: multipart/mixed; boundary="==BOUNDARY=="
   MIME-Version: 1.0
   
   --==BOUNDARY==
   Content-Type: text/x-shellscript; charset="us-ascii"
   
   #!/bin/bash
   # Specify the cluster that the container instance should register into
   cluster=your_cluster_name
   
   # Write the cluster configuration variable to the ecs.config file
   # (add any other configuration variables here also)
   echo ECS_CLUSTER=$cluster >> /etc/ecs/ecs.config
   
   START_TASK_SCRIPT_FILE="/etc/ecs/ecs-start-task.sh"
   cat <<- 'EOF' > ${START_TASK_SCRIPT_FILE}
   	exec 2>>/var/log/ecs/ecs-start-task.log
   	set -x
   	
   	# Install prerequisite tools
   	yum install -y jq aws-cli
   	
   	# Wait for the ECS service to be responsive
   	until curl -s http://localhost:51678/v1/metadata
   	do
   		sleep 1
   	done
   
   	# Grab the container instance ARN and AWS Region from instance metadata
   	instance_arn=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F/ '{print $NF}' )
   	cluster=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .Cluster' | awk -F/ '{print $NF}' )
   	region=$(curl -s http://localhost:51678/v1/metadata | jq -r '. | .ContainerInstanceArn' | awk -F: '{print $4}')
   
   	# Specify the task definition to run at launch
   	task_definition=my_task_def
   
   	# Run the AWS CLI start-task command to start your task on this container instance
   	aws ecs start-task --cluster $cluster --task-definition $task_definition --container-instances $instance_arn --started-by $instance_arn --region $region
   EOF
   
   # Write systemd unit file
   UNIT="ecs-start-task.service"
   cat <<- EOF > /etc/systemd/system/${UNIT}
         [Unit]
         Description=ECS Start Task
         Requires=ecs.service
         After=ecs.service
    
         [Service]
         Restart=on-failure
         RestartSec=30
         ExecStart=/usr/bin/bash ${START_TASK_SCRIPT_FILE}
   
         [Install]
         WantedBy=default.target
   EOF
   
   # Enable our ecs.service dependent service with `--no-block` to prevent systemd deadlock
   # See https://github.com/aws/amazon-ecs-agent/issues/1707
   systemctl enable --now --no-block "${UNIT}"
   --==BOUNDARY==--
   ```

1. Verifica che le istanze di container vengano avviate nel cluster corretto e che le attività siano state avviate.

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

   1. Dalla barra di navigazione, scegli la regione in cui si trova il cluster.

   1. Nel pannello di navigazione, scegli **Clusters** (Cluster) e seleziona il cluster che ospita le istanze di container.

   1. Nella pagina **Cluster**, seleziona **Attività** e quindi le tue attività.

      Su ogni istanza di container che hai avviato dovrebbe essere in esecuzione la tua attività.

      Se non visualizzi le attività, puoi accedere alle istanze di container con SSH e controllare le informazioni di debug nel file `/var/log/ecs/ecs-start-task.log`.

# Aumento delle interfacce di rete delle istanze di container Linux di Amazon ECS
<a name="container-instance-eni"></a>

**Nota**  
Questa funzione non è disponibile su Fargate.

Ogni attività che utilizza la modalità di rete `awsvpc` riceve una propria interfaccia (ENI) di rete elastica, che è collegata all'istanza di container che la ospita. Esiste un limite di default al numero di interfacce di rete che possono essere collegate a un'istanza di Amazon EC2 e l'interfaccia di rete primaria viene conteggiata come una di queste. Ad esempio, per impostazione predefinita, a un'`c5.large`istanza possono essere ENIs collegate fino a tre istanze. L'interfaccia di rete principale per l'istanza conta come una sola, quindi è possibile collegarne altre due ENIs all'istanza. Poiché ogni attività che utilizza la modalità di rete `awsvpc` richiede un'ENI, in genere puoi eseguire solo due attività su questo tipo di istanza.

Amazon ECS supporta l'avvio di istanze di container con densità ENI aumentata mediante i tipi di istanze Amazon EC2 supportati. Quando si utilizzano questi tipi di istanze e si attiva l'impostazione dell'`awsvpcTrunking`account, ENIs ne sono disponibili altri nelle istanze di container appena avviate. Questa configurazione consente di posizionare più attività su ciascuna istanza di container. Per usare la console per attivare la funzionalità, consulta [Modifica delle impostazioni dell'account Amazon ECS](ecs-modifying-longer-id-settings.md). Per utilizzare l'opzione AWS CLI per attivare la funzionalità, consulta[Gestione delle impostazioni dell'account Amazon ECS utilizzando AWS CLI](account-setting-management-cli.md). 

Ad esempio, un'istanza `c5.large` con `awsvpcTrunking` ha un limite ENI aumentato di dodici. L'istanza di container avrà un'interfaccia di rete primaria e Amazon ECS crea e collega un'interfaccia di rete "trunk" all'istanza di container. Pertanto, questa configurazione consente di avviare dieci attività sull'istanza di container anziché le due attività correnti.

L'interfaccia di rete trunk è completamente gestita da Amazon ECS e viene eliminata quando termini o annulli la registrazione dell'istanza di container dal cluster. Per ulteriori informazioni, consulta [Opzioni di rete di attività di Amazon ECS per EC2](task-networking.md).

## Considerazioni
<a name="eni-trunking-considerations"></a>

Tieni in considerazione le seguenti informazioni quando usi la funzionalità di trunking ENI.
+ Solo le varianti Linux dell'AMI ottimizzata per Amazon ECS o altre varianti Amazon Linux con versione `1.28.1` o successiva dell'agente del container e versione `1.28.1-2` o successiva del pacchetto ecs-init, supportano i limiti ENI aumentati. Se utilizzi la variante Linux più recente dell'AMI ottimizzata per Amazon ECS, questi requisiti saranno soddisfatti. I container Windows non sono al momento supportati.
+ Solo nuove istanze Amazon EC2 avviate dopo l'attivazione a `awsvpcTrunking` ricevono i limiti ENI aumentati e l'interfaccia di rete trunk. In precedenza, le istanze avviate non ricevevano queste caratteristiche, a prescindere dalle operazioni eseguite.
+ Le istanze Amazon EC2 devono avere le richieste DNS basate sulle risorse IPv4 disattivate. Per disabilitare questa opzione, deseleziona l'opzione **Abilita richieste DNS basate su risorse IPV4 (A record)** quando crei una nuova istanza nella console Amazon EC2. Per disabilitare questa opzione utilizzando AWS CLI, usa il seguente comando.

  ```
  aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
  ```
+ Le istanze Amazon EC2 nelle sottoreti condivise non sono supportate. Se vengono utilizzate, non riescono a eseguire la registrazione a un cluster.
+ Le attività devono utilizzare la modalità di rete `awsvpc` e l'EC2. Le attività che usano Fargate hanno sempre ricevuto un'ENI dedicata a prescindere da quante vengono avviate, pertanto questa funzionalità non è necessaria.
+ Le attività devono essere avviate nello stesso Amazon VPC dell'istanza di container. Le tue attività non verranno avviate con un errore di attributo se non sono all'interno dello stesso VPC.
+ Quando si avvia una nuova istanza di container, l'istanza effettua la transizione a uno stato `REGISTERING` mentre viene eseguito il provisioning dell'interfaccia di rete elastica trunk per l'istanza. Se la registrazione ha esito negativo, l'istanza esegue la transizione a uno stato `REGISTRATION_FAILED`. È possibile risolvere i problemi relativi a una registrazione non riuscita descrivendo l'istanza di container per visualizzare il campo `statusReason` che descrive il motivo dell'errore. L'istanza di container può quindi essere annullata manualmente o terminata. Una volta annullata la registrazione o terminata l'istanza di container, Amazon ECS eliminerà l'ENI trunk.
**Nota**  
Amazon ECS emette eventi di modifica dello stato dell'istanza di container che è possibile monitorare per le istanze che passano a uno stato `REGISTRATION_FAILED`. Per ulteriori informazioni, consulta [Eventi di modifica dello stato delle istanze di container di Amazon ECS](ecs_container_instance_events.md).
+ Al termine dell'istanza di container, l'istanza esegue la transizione a uno stato `DEREGISTERING` mentre viene annullato il provisioning dell'interfaccia di rete elastica trunk. L'istanza quindi esegue la transizione a uno stato `INACTIVE`.
+ Se un'istanza di container in una sottorete pubblica con limiti ENI aumentati viene interrotta e quindi riavviata, l'istanza perde il suo indirizzo IP pubblico e l'agente del container perde la sua connessione.
+ Quando abiliti `awsvpcTrunking`, le istanze di container ricevono un'ENI aggiuntiva che utilizza il gruppo di sicurezza predefinito del VPC ed è gestita da Amazon ECS.

  Un VPC di default include una sottorete pubblica in ogni zona di disponibilità, un gateway Internet e impostazioni per abilitare la risoluzione DNS. La sottorete è pubblica perché la tabella di routing principale invia il traffico della sottorete destinato a Internet al gateway Internet. Puoi rendere una sottorete predefinita privata rimuovendo la route dalla destinazione 0.0.0.0/0 all'Internet Gateway. Tuttavia, in questo caso, nessuna istanza di container in esecuzione in tale sottorete può accedere a Internet. Puoi aggiungere o eliminare le regole dei gruppi di sicurezza per controllare il traffico in entrata e in uscita dalle sottoreti. Per ulteriori informazioni, consulta [Regole del gruppo di sicurezza](https://docs.aws.amazon.com/vpc/latest/userguide/security-group-rules.html) nella *Guida per l'utente del Amazon Virtual Private Cloud*.

## Prerequisiti
<a name="eni-trunking-launching"></a>

Prima di avviare un'istanza di container con limiti ENI aumentati, è necessario completare i seguenti requisiti preliminari.
+ Il ruolo collegato ai servizi per Amazon ECS deve essere creato. Il ruolo collegato al servizio Amazon ECS fornisce ad Amazon ECS le autorizzazioni per effettuare chiamate ad altri AWS servizi per tuo conto. Questo ruolo viene creato automaticamente quando crei un cluster oppure quando crei o aggiorni un servizio nella Console di gestione AWS. Per ulteriori informazioni, consulta [Uso di ruoli collegati ai servizi per Amazon ECS](using-service-linked-roles.md). Puoi anche creare il ruolo collegato al servizio con il seguente comando. AWS CLI 

  ```
  aws iam [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) --aws-service-name ecs.amazonaws.com
  ```
+ Il ruolo IAM dell'account o dell'istanza di container deve abilitare le impostazioni dell'account `awsvpcTrunking`. Consigliamo di creare 2 ruoli dell'istanza di container (`ecsInstanceRole`). È quindi possibile abilitare l'impostazione dell'account `awsvpcTrunking` per un ruolo e usare quel ruolo per attività che richiedono il trunking ENI. Per ulteriori informazioni sulle istanze di container, consulta [Ruolo IAM delle istanze di container Amazon ECS](instance_IAM_role.md).

Dopo che i requisiti preliminari sono soddisfatti, puoi avviare una nuova istanza di container utilizzando uno dei tipi di istanze Amazon EC2 supportati; l'istanza avrà i limiti ENI aumentati. Per una lista di tipi di istanze supportate, consulta [Istanze supportate per un potenziamento delle interfacce di rete dei container Amazon ECS](eni-trunking-supported-instance-types.md). La versione dell'istanza di container per l'agente del container deve essere `1.28.1` o successiva e la versione del pacchetto ecs-init deve essere `1.28.1-2` o successiva. Se utilizzi la variante Linux più recente dell'AMI ottimizzata per Amazon ECS, questi requisiti saranno soddisfatti. Per ulteriori informazioni, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).

**Importante**  
Le istanze Amazon EC2 devono avere le richieste DNS basate sulle risorse IPv4 disattivate. Per disabilitare questa opzione, assicurati che l'opzione **Abilita richieste DNS basate su risorse IPV4 (A record)** sia deselezionata quando crei una nuova istanza utilizzando la console Amazon EC2. Per disabilitare questa opzione utilizzando, usa il AWS CLI seguente comando.  

```
aws ec2 modify-private-dns-name-options --instance-id i-xxxxxxx --no-enable-resource-name-dns-a-record --no-dry-run
```

**Per visualizzare le istanze del contenitore con ENI limiti maggiori con il AWS CLI**

Ogni istanza di container dispone di un'interfaccia di rete predefinita, nota anche come interfaccia di rete trunk. Utilizza il comando seguente per visualizzare un elenco di istanze di container con limiti ENI aumentati eseguendo una query dell'attributo `ecs.awsvpc-trunk-id`, che indica che dispone di un'interfaccia di rete trunk.
+ [list-attributes](https://docs.aws.amazon.com/cli/latest/reference/ecs/list-attributes.html) (AWS CLI)

  ```
  aws ecs list-attributes \
        --target-type container-instance \
        --attribute-name ecs.awsvpc-trunk-id \
        --cluster cluster_name \
        --region us-east-1
  ```
+ [Get- ECSAttribute List](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-ECSAttributeList.html) ()AWS Tools for Windows PowerShell

  ```
  Get-ECSAttributeList -TargetType container-instance -AttributeName ecs.awsvpc-trunk-id -Region us-east-1
  ```

# Istanze supportate per un potenziamento delle interfacce di rete dei container Amazon ECS
<a name="eni-trunking-supported-instance-types"></a>

Di seguito vengono visualizzati i tipi di istanze Amazon EC2 supportati e il numero di attività che usano la modalità di rete `awsvpc` che è possibile avviare su ogni tipo di istanza prima e dopo aver abilitato l'impostazione dell'account `awsvpcTrunking`. 

**Importante**  
Sebbene altri tipi di istanza siano supportati nella stessa famiglia di istanze, i tipi di istanza `a1.metal`, `c5.metal`, `c5a.8xlarge`, `c5ad.8xlarge`, `c5d.metal`, `m5.metal`, `p3dn.24xlarge`, `r5.metal`, `r5.8xlarge` e `r5d.metal` non sono supportati.  
Le famiglie di istanze `c5n`, `d3`, `d3en`, `g3`, `g3s`, `g4dn`, `i3`, `i3en`, `inf1`, `m5dn`, `m5n`, `m5zn`, `mac1`, `r5b`, `r5n`, `r5dn`, `u-12tb1`, `u-6tb1`, `u-9tb1` e `z1d` non sono supportate.

**Topics**
+ [Uso generale](#eni-branch-gp)
+ [Calcolo ottimizzato](#eni-branch-co)
+ [Memoria ottimizzata](#eni-branch-mo)
+ [Archiviazione ottimizzata](#eni-branch-so)
+ [Elaborazione accelerata](#eni-branch-ac)
+ [High Performance Computing](#eni-branch-hpc)

## Uso generale
<a name="eni-branch-gp"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| a1.medium | 1 | 10 | 
| a1.large | 2 | 10 | 
| a1.xlarge | 3 | 20 | 
| a1.2xlarge | 3 | 40 | 
| a1.4xlarge | 7 | 60 | 
| m5.large | 2 | 10 | 
| m5.xlarge | 3 | 20 | 
| m5.2xlarge | 3 | 40 | 
| m5.4xlarge | 7 | 60 | 
| m5.8xlarge | 7 | 60 | 
| m5.12xlarge | 7 | 60 | 
| m5.16xlarge | 14 | 120 | 
| m5.24xlarge | 14 | 120 | 
| m5a.large | 2 | 10 | 
| m5a.xlarge | 3 | 20 | 
| m5a.2xlarge | 3 | 40 | 
| m5a.4xlarge | 7 | 60 | 
| m5a.8xlarge | 7 | 60 | 
| m5a.12xlarge | 7 | 60 | 
| m5a.16xlarge | 14 | 120 | 
| m5a.24xlarge | 14 | 120 | 
| m5ad.large | 2 | 10 | 
| m5ad.xlarge | 3 | 20 | 
| m5ad.2xlarge | 3 | 40 | 
| m5ad.4xlarge | 7 | 60 | 
| m5ad.8xlarge | 7 | 60 | 
| m5ad.12xlarge | 7 | 60 | 
| m5ad.16xlarge | 14 | 120 | 
| m5ad.24xlarge | 14 | 120 | 
| m5d.large | 2 | 10 | 
| m5d.xlarge | 3 | 20 | 
| m5d.2xlarge | 3 | 40 | 
| m5d.4xlarge | 7 | 60 | 
| m5d.8xlarge | 7 | 60 | 
| m5d.12xlarge | 7 | 60 | 
| m5d.16xlarge | 14 | 120 | 
| m5d.24xlarge | 14 | 120 | 
| m5d.metal | 14 | 120 | 
| m6a.large | 2 | 10 | 
| m6a.xlarge | 3 | 20 | 
| m6a.2xlarge | 3 | 40 | 
| m6a.4xlarge | 7 | 60 | 
| m6a.8xlarge | 7 | 90 | 
| m6a.12xlarge | 7 | 120 | 
| m6a.16xlarge | 14 | 120 | 
| m6a.24xlarge | 14 | 120 | 
| m6a.32xlarge | 14 | 120 | 
| m6a.48xlarge | 14 | 120 | 
| m6a.metal | 14 | 120 | 
| m6g.medium | 1 | 4 | 
| m6g.large | 2 | 10 | 
| m6g.xlarge | 3 | 20 | 
| m6g.2xlarge | 3 | 40 | 
| m6g.4xlarge | 7 | 60 | 
| m6g.8xlarge | 7 | 60 | 
| m6g.12xlarge | 7 | 60 | 
| m6g.16xlarge | 14 | 120 | 
| m6g.metal | 14 | 120 | 
| m6gd.medium | 1 | 4 | 
| m6gd.large | 2 | 10 | 
| m6gd.xlarge | 3 | 20 | 
| m6gd.2xlarge | 3 | 40 | 
| m6gd.4xlarge | 7 | 60 | 
| m6gd.8xlarge | 7 | 60 | 
| m6gd.12xlarge | 7 | 60 | 
| m6gd.16xlarge | 14 | 120 | 
| m6gd.metal | 14 | 120 | 
| m6i.large | 2 | 10 | 
| m6i.xlarge | 3 | 20 | 
| m6i.2xlarge | 3 | 40 | 
| m6i.4xlarge | 7 | 60 | 
| m6i.8xlarge | 7 | 90 | 
| m6i.12xlarge | 7 | 120 | 
| m6i.16xlarge | 14 | 120 | 
| m6i.24xlarge | 14 | 120 | 
| m6i.32xlarge | 14 | 120 | 
| m6i.metal | 14 | 120 | 
| m6id.large | 2 | 10 | 
| m6id.xlarge | 3 | 20 | 
| m6id.2xlarge | 3 | 40 | 
| m6id.4xlarge | 7 | 60 | 
| m6id.8xlarge | 7 | 90 | 
| m6id.12xlarge | 7 | 120 | 
| m6id.16xlarge | 14 | 120 | 
| m6id.24xlarge | 14 | 120 | 
| m6id.32xlarge | 14 | 120 | 
| m6id.metal | 14 | 120 | 
| m6idn.large | 2 | 10 | 
| m6idn.xlarge | 3 | 20 | 
| m6idn.2xlarge | 3 | 40 | 
| m6idn.4xlarge | 7 | 60 | 
| m6idn.8xlarge | 7 | 90 | 
| m6idn.12xlarge | 7 | 120 | 
| m6idn.16xlarge | 14 | 120 | 
| m6idn.24xlarge | 14 | 120 | 
| m6idn.32xlarge | 15 | 120 | 
| m6idn.metal | 15 | 120 | 
| m6in.large | 2 | 10 | 
| m6in.xlarge | 3 | 20 | 
| m6in.2xlarge | 3 | 40 | 
| m6in.4xlarge | 7 | 60 | 
| m6in.8xlarge | 7 | 90 | 
| m6in.12xlarge | 7 | 120 | 
| m6in.16xlarge | 14 | 120 | 
| m6in.24xlarge | 14 | 120 | 
| m6in.32xlarge | 15 | 120 | 
| m6in.metal | 15 | 120 | 
| m7a.medium | 1 | 4 | 
| m7a.large | 2 | 10 | 
| m7a.xlarge | 3 | 20 | 
| m7a.2xlarge | 3 | 40 | 
| m7a.4xlarge | 7 | 60 | 
| m7a.8xlarge | 7 | 90 | 
| m7a.12xlarge | 7 | 120 | 
| m7a.16xlarge | 14 | 120 | 
| m7a.24xlarge | 14 | 120 | 
| m7a.32xlarge | 14 | 120 | 
| m7a.48xlarge | 14 | 120 | 
| m7a.metal-48xl | 14 | 120 | 
| m7g.medium | 1 | 4 | 
| m7g.large | 2 | 10 | 
| m7g.xlarge | 3 | 20 | 
| m7g.2xlarge | 3 | 40 | 
| m7g.4xlarge | 7 | 60 | 
| m7g.8xlarge | 7 | 60 | 
| m7g.12xlarge | 7 | 60 | 
| m7g.16xlarge | 14 | 120 | 
| m7g.metal | 14 | 120 | 
| m7gd.medium | 1 | 4 | 
| m7gd.large | 2 | 10 | 
| m7gd.xlarge | 3 | 20 | 
| m7gd.2xlarge | 3 | 40 | 
| m7gd.4xlarge | 7 | 60 | 
| m7gd.8xlarge | 7 | 60 | 
| m7gd.12xlarge | 7 | 60 | 
| m7gd.16xlarge | 14 | 120 | 
| m7gd.metal | 14 | 120 | 
| m7i.large | 2 | 10 | 
| m7i.xlarge | 3 | 20 | 
| m7i.2xlarge | 3 | 40 | 
| m7i.4xlarge | 7 | 60 | 
| m7i.8xlarge | 7 | 90 | 
| m7i.12xlarge | 7 | 120 | 
| m7i.16xlarge | 14 | 120 | 
| m7i.24xlarge | 14 | 120 | 
| m7a.48xlarge | 14 | 120 | 
| m7i.metal-24xl | 14 | 120 | 
| m7i.metal-48xl | 14 | 120 | 
| m7i-flex.large | 2 | 4 | 
| m7i-flex.xlarge | 3 | 10 | 
| m7i-flex.2xlarge | 3 | 20 | 
| m7i-flex.4xlarge | 7 | 40 | 
| m7i-flex.8xlarge | 7 | 60 | 
| m7i-flex.12xlarge | 7 | 120 | 
| m7i-flex.16xlarge | 14 | 120 | 
| m8a.medium | 1 | 4 | 
| m8a.large | 2 | 10 | 
| m8a.xlarge | 3 | 20 | 
| m8a.2x grande | 3 | 40 | 
| m8a. 4x grande | 7 | 60 | 
| m8a.8x grande | 9 | 90 | 
| m8a.12 x grande | 11 | 120 | 
| m8a. 16 x grande | 15 | 120 | 
| m8a. 24x grande | 15 | 120 | 
| m8a. 48 x grande | 23 | 120 | 
| m8a.metal-24xl | 15 | 120 | 
| m8a.metal-48xl | 23 | 120 | 
| m8azn. medio | 2 | 4 | 
| m8azn.grande | 3 | 10 | 
| m8azn.xlarge | 3 | 20 | 
| m8azn. 3x grande | 7 | 40 | 
| m8azn. 6 x grande | 7 | 60 | 
| m8azn. 12 x grande | 15 | 120 | 
| m8azn. 24 x grande | 15 | 120 | 
| m8azn.in metallo - 12xl | 15 | 120 | 
| m8azn.metallo-24xl | 15 | 120 | 
| m8g.medium | 1 | 4 | 
| m8g.large | 2 | 10 | 
| m8g.xlarge | 3 | 20 | 
| m8g.2xlarge | 3 | 40 | 
| m8g.4xlarge | 7 | 60 | 
| m8g.8xlarge | 7 | 60 | 
| m8g.12xlarge | 7 | 60 | 
| m8g.16xlarge | 14 | 120 | 
| m8g.24xlarge | 14 | 120 | 
| m8g.48xlarge | 14 | 120 | 
| m8g.metal-24xl | 14 | 120 | 
| m8g.metal-48xl | 14 | 120 | 
| 8 mgb. medio | 1 | 4 | 
| m8 gb. grande | 2 | 10 | 
| m8gb.xlarge | 3 | 20 | 
| m8 gb.2xlarge | 3 | 40 | 
| m8 gb.4xlarge | 7 | 60 | 
| m8 gb.8xlarge | 9 | 60 | 
| m8 gb.12xlarge | 11 | 60 | 
| m8 gb. 16 x grande | 15 | 120 | 
| m8 gb.24xlarge | 23 | 120 | 
| m8gb.48xlarge | 23 | 120 | 
| m8 gb. metal-24xl | 23 | 120 | 
| m8gb.metallo-48xl | 23 | 120 | 
| m8gd.medium | 1 | 4 | 
| m8gd.large | 2 | 10 | 
| m8gd.xlarge | 3 | 20 | 
| m8gd.2xlarge | 3 | 40 | 
| m8gd.4xlarge | 7 | 60 | 
| m8gd.8xlarge | 7 | 60 | 
| m8gd.12xlarge | 7 | 60 | 
| m8gd.16xlarge | 14 | 120 | 
| m8gd.24xlarge | 14 | 120 | 
| m8gd.48xlarge | 14 | 120 | 
| m8gd.metal-24xl | 14 | 120 | 
| m8gd.metal-48xl | 14 | 120 | 
| m8gn. medio | 1 | 4 | 
| m8gn.grande | 2 | 10 | 
| m8gn.xlarge | 3 | 20 | 
| m8gn.2x grande | 3 | 40 | 
| m8gn. 4x grande | 7 | 60 | 
| m8gn. 8x grande | 9 | 60 | 
| m8 gn. 12 x grande | 11 | 60 | 
| m8 gn. 16 x grande | 15 | 120 | 
| m8 gn. 24 x grande | 23 | 120 | 
| m8 gn. 48 x grande | 23 | 120 | 
| m8gn.metal-24xl | 23 | 120 | 
| m8gn.metallo-48xl | 23 | 120 | 
| m8i.large | 2 | 10 | 
| m8i.xlarge | 3 | 20 | 
| m8i.2xlarge | 3 | 40 | 
| m8i.4xlarge | 7 | 60 | 
| m8i.8xlarge | 9 | 90 | 
| m8i.12xlarge | 11 | 120 | 
| m8i.16xlarge | 15 | 120 | 
| m8i.24xlarge | 15 | 120 | 
| m8i.32xlarge | 23 | 120 | 
| m8i.48xlarge | 23 | 120 | 
| m8i.96xlarge | 23 | 120 | 
| m8i.metal-48xl | 23 | 120 | 
| m8i.metal-96xl | 23 | 120 | 
| m8id.large | 2 | 10 | 
| m8id.xlarge | 3 | 20 | 
| m8id.2xlarge | 3 | 40 | 
| m8id.4xgrande | 7 | 60 | 
| m8id.8xgrande | 9 | 90 | 
| m8id.12 x grande | 11 | 120 | 
| m8id.16 x grande | 15 | 120 | 
| m8id.24xlarge | 15 | 120 | 
| m8id.32xlarge | 23 | 120 | 
| m8id.48 x grande | 23 | 120 | 
| m8id.96xlarge | 23 | 120 | 
| m8id.metal-48xl | 23 | 120 | 
| m8id.metal-96xl | 23 | 120 | 
| m8i-flex.large | 2 | 4 | 
| m8i-flex.xlarge | 3 | 10 | 
| m8i-flex.2xlarge | 3 | 20 | 
| m8i-flex.4xlarge | 7 | 40 | 
| m8i-flex.8xlarge | 9 | 60 | 
| m8i-flex.12xlarge | 11 | 120 | 
| m8i-flex.16xlarge | 15 | 120 | 
| mac2.metal | 7 | 12 | 
| mac2-m1ultra.metal | 7 | 12 | 
| mac2-m2.metal | 7 | 12 | 
| mac2-m2pro.metal | 7 | 12 | 
| mac-m4.metal | 7 | 12 | 
| mac-m4pro.metal | 7 | 12 | 
| mac-m4max.metal | 7 | 12 | 

## Calcolo ottimizzato
<a name="eni-branch-co"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| c5.large | 2 | 10 | 
| c5.xlarge | 3 | 20 | 
| c5.2xlarge | 3 | 40 | 
| c5.4xlarge | 7 | 60 | 
| c5.9xlarge | 7 | 60 | 
| c5.12xlarge | 7 | 60 | 
| c5.18xlarge | 14 | 120 | 
| c5.24xlarge | 14 | 120 | 
| c5a.large | 2 | 10 | 
| c5a.xlarge | 3 | 20 | 
| c5a.2xlarge | 3 | 40 | 
| c5a.4xlarge | 7 | 60 | 
| c5a.12xlarge | 7 | 60 | 
| c5a.16xlarge | 14 | 120 | 
| c5a.24xlarge | 14 | 120 | 
| c5ad.large | 2 | 10 | 
| c5ad.xlarge | 3 | 20 | 
| c5ad.2xlarge | 3 | 40 | 
| c5ad.4xlarge | 7 | 60 | 
| c5ad.12xlarge | 7 | 60 | 
| c5ad.16xlarge | 14 | 120 | 
| c5ad.24xlarge | 14 | 120 | 
| c5d.large | 2 | 10 | 
| c5d.xlarge | 3 | 20 | 
| c5d.2xlarge | 3 | 40 | 
| c5d.4xlarge | 7 | 60 | 
| c5d.9xlarge | 7 | 60 | 
| c5d.12xlarge | 7 | 60 | 
| c5d.18xlarge | 14 | 120 | 
| c5d.24xlarge | 14 | 120 | 
| c6a.large | 2 | 10 | 
| c6a.xlarge | 3 | 20 | 
| c6a.2xlarge | 3 | 40 | 
| c6a.4xlarge | 7 | 60 | 
| c6a.8xlarge | 7 | 90 | 
| c6a.12xlarge | 7 | 120 | 
| c6a.16xlarge | 14 | 120 | 
| c6a.24xlarge | 14 | 120 | 
| c6a.32xlarge | 14 | 120 | 
| c6a.48xlarge | 14 | 120 | 
| c6a.metal | 14 | 120 | 
| c6g.medium | 1 | 4 | 
| c6g.large | 2 | 10 | 
| c6g.xlarge | 3 | 20 | 
| c6g.2xlarge | 3 | 40 | 
| c6g.4xlarge | 7 | 60 | 
| c6g.8xlarge | 7 | 60 | 
| c6g.12xlarge | 7 | 60 | 
| c6g.16xlarge | 14 | 120 | 
| c6g.metal | 14 | 120 | 
| c6gd.medium | 1 | 4 | 
| c6gd.large | 2 | 10 | 
| c6gd.xlarge | 3 | 20 | 
| c6gd.2xlarge | 3 | 40 | 
| c6gd.4xlarge | 7 | 60 | 
| c6gd.8xlarge | 7 | 60 | 
| c6gd.12xlarge | 7 | 60 | 
| c6gd.16xlarge | 14 | 120 | 
| c6gd.metal | 14 | 120 | 
| c6gn.medium | 1 | 4 | 
| c6gn.large | 2 | 10 | 
| c6gn.xlarge | 3 | 20 | 
| c6gn.2xlarge | 3 | 40 | 
| c6gn.4xlarge | 7 | 60 | 
| c6gn.8xlarge | 7 | 60 | 
| c6gn.12xlarge | 7 | 60 | 
| c6gn.16xlarge | 14 | 120 | 
| c6i.large | 2 | 10 | 
| c6i.xlarge | 3 | 20 | 
| c6i.2xlarge | 3 | 40 | 
| c6i.4xlarge | 7 | 60 | 
| c6i.8xlarge | 7 | 90 | 
| c6i.12xlarge | 7 | 120 | 
| c6i.16xlarge | 14 | 120 | 
| c6i.24xlarge | 14 | 120 | 
| c6i.32xlarge | 14 | 120 | 
| c6i.metal | 14 | 120 | 
| c6id.large | 2 | 10 | 
| c6id.xlarge | 3 | 20 | 
| c6id.2xlarge | 3 | 40 | 
| c6id.4xlarge | 7 | 60 | 
| c6id.8xlarge | 7 | 90 | 
| c6id.12xlarge | 7 | 120 | 
| c6id.16xlarge | 14 | 120 | 
| c6id.24xlarge | 14 | 120 | 
| c6id.32xlarge | 14 | 120 | 
| c6id.metal | 14 | 120 | 
| c6in.large | 2 | 10 | 
| c6in.xlarge | 3 | 20 | 
| c6in.2xlarge | 3 | 40 | 
| c6in.4xlarge | 7 | 60 | 
| c6in.8xlarge | 7 | 90 | 
| c6in.12xlarge | 7 | 120 | 
| c6in.16xlarge | 14 | 120 | 
| c6in.24xlarge | 14 | 120 | 
| c6in.32xlarge | 15 | 120 | 
| c6in.metal | 15 | 120 | 
| c7a.medium | 1 | 4 | 
| c7a.large | 2 | 10 | 
| c7a.xlarge | 3 | 20 | 
| c7a.2xlarge | 3 | 40 | 
| c7a.4xlarge | 7 | 60 | 
| c7a.8xlarge | 7 | 90 | 
| c7a.12xlarge | 7 | 120 | 
| c7a.16xlarge | 14 | 120 | 
| c7a.24xlarge | 14 | 120 | 
| c7a.32xlarge | 14 | 120 | 
| c7a.48xlarge | 14 | 120 | 
| m7a.metal-48xl | 14 | 120 | 
| c7g.medium | 1 | 4 | 
| c7g.large | 2 | 10 | 
| c7g.xlarge | 3 | 20 | 
| c7g.2xlarge | 3 | 40 | 
| c7g.4xlarge | 7 | 60 | 
| c7g.8xlarge | 7 | 60 | 
| c7g.12xlarge | 7 | 60 | 
| c7g.16xlarge | 14 | 120 | 
| c7g.metal | 14 | 120 | 
| c7gd.medium | 1 | 4 | 
| c7gd.large | 2 | 10 | 
| c7gd.xlarge | 3 | 20 | 
| c7gd.2xlarge | 3 | 40 | 
| c7gd.4xlarge | 7 | 60 | 
| c7gd.8xlarge | 7 | 60 | 
| c7gd.12xlarge | 7 | 60 | 
| c7gd.16xlarge | 14 | 120 | 
| c7gd.metal | 14 | 120 | 
| c7gn.medium | 1 | 4 | 
| c7gn.large | 2 | 10 | 
| c7gn.xlarge | 3 | 20 | 
| c7gn.2xlarge | 3 | 40 | 
| c7gn.4xlarge | 7 | 60 | 
| c7gn.8xlarge | 7 | 60 | 
| c7gn.12xlarge | 7 | 60 | 
| c7gn.16xlarge | 14 | 120 | 
| c7gn.metal | 14 | 120 | 
| c7i.large | 2 | 10 | 
| c7i.xlarge | 3 | 20 | 
| c7i.2xlarge | 3 | 40 | 
| c7i.4xlarge | 7 | 60 | 
| c7i.8xlarge | 7 | 90 | 
| c7i.12xlarge | 7 | 120 | 
| c7i.16xlarge | 14 | 120 | 
| c7i.24xlarge | 14 | 120 | 
| c7i.48xlarge | 14 | 120 | 
| c7i.metal-24xl | 14 | 120 | 
| c7i.metal-48xl | 14 | 120 | 
| c7i-flex.large | 2 | 4 | 
| c7i-flex.xlarge | 3 | 10 | 
| c7i-flex.2xlarge | 3 | 20 | 
| c7i-flex.4xlarge | 7 | 40 | 
| c7i-flex.8xlarge | 7 | 60 | 
| c7i-flex.12xlarge | 7 | 120 | 
| c7i-flex.16xlarge | 14 | 120 | 
| c8a. medio | 1 | 4 | 
| c8a. grande | 2 | 10 | 
| c8a.xlarge | 3 | 20 | 
| c8a.2x grande | 3 | 40 | 
| c8a.4x grande | 7 | 60 | 
| c8a.8x grande | 9 | 90 | 
| c8a.12 x grande | 11 | 120 | 
| c8a.16 x grande | 15 | 120 | 
| c8a. 24 x grande | 15 | 120 | 
| c8a.48 x grande | 23 | 120 | 
| c8a.metal-24xl | 15 | 120 | 
| c8a.metal-48xl | 23 | 120 | 
| c8g.medium | 1 | 4 | 
| c8g.large | 2 | 10 | 
| c8g.xlarge | 3 | 20 | 
| c8g.2xlarge | 3 | 40 | 
| c8g.4xlarge | 7 | 60 | 
| c8g.8xlarge | 7 | 60 | 
| c8g.12xlarge | 7 | 60 | 
| c8g.16xlarge | 14 | 120 | 
| c8g.24xlarge | 14 | 120 | 
| c8g.48xlarge | 14 | 120 | 
| c8g.metal-24xl | 14 | 120 | 
| c8g.metal-48xl | 14 | 120 | 
| c8 gb. medio | 1 | 4 | 
| c8 gb. grande | 2 | 10 | 
| c8gb.xlarge | 3 | 20 | 
| c8 gb.2x grande | 3 | 40 | 
| c8 gb.4xlarge | 7 | 60 | 
| c8 gb.8xlarge | 9 | 60 | 
| c8gb.12xlarge | 11 | 60 | 
| c8 gb.16 x grande | 15 | 120 | 
| c8 gb.24xlarge | 23 | 120 | 
| c8 gb.48 x grande | 23 | 120 | 
| c8gb.metal-24xl | 23 | 120 | 
| c8gb.metallo-48xl | 23 | 120 | 
| c8gd.medium | 1 | 4 | 
| c8gd.large | 2 | 10 | 
| c8gd.xlarge | 3 | 20 | 
| c8gd.2xlarge | 3 | 40 | 
| c8gd.4xlarge | 7 | 60 | 
| c8gd.8xlarge | 7 | 60 | 
| c8gd.12xlarge | 7 | 60 | 
| c8gd.16xlarge | 14 | 120 | 
| c8gd.24xlarge | 14 | 120 | 
| c8gd.48xlarge | 14 | 120 | 
| c8gd.metal-24xl | 14 | 120 | 
| c8gd.metal-48xl | 14 | 120 | 
| c8gn.medium | 1 | 4 | 
| c8gn.large | 2 | 10 | 
| c8gn.xlarge | 3 | 20 | 
| c8gn.2xlarge | 3 | 40 | 
| c8gn.4xlarge | 7 | 60 | 
| c8gn.8xlarge | 9 | 60 | 
| c8gn.12xlarge | 11 | 60 | 
| c8gn.16xlarge | 15 | 120 | 
| c8gn.24xlarge | 23 | 120 | 
| c8gn.48xlarge | 23 | 120 | 
| c8gn.metal-24xl | 23 | 120 | 
| c8gn.metal-48xl | 23 | 120 | 
| c8i.large | 2 | 10 | 
| c8i.xlarge | 3 | 20 | 
| c8 i.2x grande | 3 | 40 | 
| c8i.4xgrande | 7 | 60 | 
| c8i.8xgrande | 9 | 90 | 
| c8i.12 x grande | 11 | 120 | 
| c8i.16 x grande | 15 | 120 | 
| c8i.24 x grande | 15 | 120 | 
| c8i.32xlarge | 23 | 120 | 
| c8i.48 x grande | 23 | 120 | 
| c8i.96xlarge | 23 | 120 | 
| c8i.metal-48xl | 23 | 120 | 
| c8i.metal-96xl | 23 | 120 | 
| c8 id. Grande | 2 | 10 | 
| c8id.xlarge | 3 | 20 | 
| c8id.2xlarge | 3 | 40 | 
| c8id.4xgrande | 7 | 60 | 
| c8id.8xgrande | 9 | 90 | 
| c8id.12xgrande | 11 | 120 | 
| c8id.16 x grande | 15 | 120 | 
| c8id.24xgrande | 15 | 120 | 
| c8id.32xgrande | 23 | 120 | 
| c8id.48 x grande | 23 | 120 | 
| c8id.96xlarge | 23 | 120 | 
| c8id.metal-48xl | 23 | 120 | 
| c8id.metal-96xl | 23 | 120 | 
| c8i-flex.large | 2 | 4 | 
| c8i-flex.xlarge | 3 | 10 | 
| c8i-flex.2xgrande | 3 | 20 | 
| c8i-flex.4xgrande | 7 | 40 | 
| c8i-flex.8x grande | 9 | 60 | 
| c8i-flex.12xgrande | 11 | 120 | 
| c8i-flex.16 x grande | 15 | 120 | 

## Memoria ottimizzata
<a name="eni-branch-mo"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| r5.large | 2 | 10 | 
| r5.xlarge | 3 | 20 | 
| r5.2xlarge | 3 | 40 | 
| r5.4xlarge | 7 | 60 | 
| r5.12xlarge | 7 | 60 | 
| r5.16xlarge | 14 | 120 | 
| r5.24xlarge | 14 | 120 | 
| r5a.large | 2 | 10 | 
| r5a.xlarge | 3 | 20 | 
| r5a.2xlarge | 3 | 40 | 
| r5a.4xlarge | 7 | 60 | 
| r5a.8xlarge | 7 | 60 | 
| r5a.12xlarge | 7 | 60 | 
| r5a.16xlarge | 14 | 120 | 
| r5a.24xlarge | 14 | 120 | 
| r5ad.large | 2 | 10 | 
| r5ad.xlarge | 3 | 20 | 
| r5ad.2xlarge | 3 | 40 | 
| r5ad.4xlarge | 7 | 60 | 
| r5ad.8xlarge | 7 | 60 | 
| r5ad.12xlarge | 7 | 60 | 
| r5ad.16xlarge | 14 | 120 | 
| r5ad.24xlarge | 14 | 120 | 
| r5b.16xlarge | 14 | 120 | 
| r5d.large | 2 | 10 | 
| r5d.xlarge | 3 | 20 | 
| r5d.2xlarge | 3 | 40 | 
| r5d.4xlarge | 7 | 60 | 
| r5d.8xlarge | 7 | 60 | 
| r5d.12xlarge | 7 | 60 | 
| r5d.16xlarge | 14 | 120 | 
| r5d.24xlarge | 14 | 120 | 
| r5dn.16xlarge | 14 | 120 | 
| r 6a. Grande | 2 | 10 | 
| r6a.xlarge | 3 | 20 | 
| r6a.2xlarge | 3 | 40 | 
| r6a.4xlarge | 7 | 60 | 
| r6a.8xlarge | 7 | 90 | 
| r6a.12xlarge | 7 | 120 | 
| r6a.16xlarge | 14 | 120 | 
| r6a.24xlarge | 14 | 120 | 
| r6a.32xlarge | 14 | 120 | 
| r6a.48xlarge | 14 | 120 | 
| r6a.metal | 14 | 120 | 
| r6g.medium | 1 | 4 | 
| r6g.large | 2 | 10 | 
| r6g.xlarge | 3 | 20 | 
| r6g.2xlarge | 3 | 40 | 
| r6g.4xlarge | 7 | 60 | 
| r6g.8xlarge | 7 | 60 | 
| r6g.12xlarge | 7 | 60 | 
| r6g.16xlarge | 14 | 120 | 
| r6g.metal | 14 | 120 | 
| r6gd.medium | 1 | 4 | 
| r6gd.large | 2 | 10 | 
| r6gd.xlarge | 3 | 20 | 
| r6gd.2xlarge | 3 | 40 | 
| r6gd.4xlarge | 7 | 60 | 
| r6gd.8xlarge | 7 | 60 | 
| r6gd.12xlarge | 7 | 60 | 
| r6gd.16xlarge | 14 | 120 | 
| r6gd.metal | 14 | 120 | 
| r6i.large | 2 | 10 | 
| r6i.xlarge | 3 | 20 | 
| r6i.2xlarge | 3 | 40 | 
| r6i.4xlarge | 7 | 60 | 
| r6i.8xlarge | 7 | 90 | 
| r6i.12xlarge | 7 | 120 | 
| r6i.16xlarge | 14 | 120 | 
| r6i.24xlarge | 14 | 120 | 
| r6i.32xlarge | 14 | 120 | 
| r6i.metal | 14 | 120 | 
| r6id.large | 2 | 10 | 
| r6id.xlarge | 3 | 20 | 
| r6id.2xlarge | 3 | 40 | 
| r6id.4xlarge | 7 | 60 | 
| r6id.8xlarge | 7 | 90 | 
| r6id.12xlarge | 7 | 120 | 
| r6id.16xlarge | 14 | 120 | 
| r6id.24xlarge | 14 | 120 | 
| r6id.32xlarge | 14 | 120 | 
| r6id. Metallo | 14 | 120 | 
| r6idn.large | 2 | 10 | 
| r6idn.xlarge | 3 | 20 | 
| r6idn.2xlarge | 3 | 40 | 
| r6idn.4xlarge | 7 | 60 | 
| r6idn.8xlarge | 7 | 90 | 
| r6idn.12xlarge | 7 | 120 | 
| r6idn.16xlarge | 14 | 120 | 
| r6idn.24xlarge | 14 | 120 | 
| r6idn.32xlarge | 15 | 120 | 
| r6idn.metal | 15 | 120 | 
| r6in.large | 2 | 10 | 
| r6in.xlarge | 3 | 20 | 
| r6in.2xlarge | 3 | 40 | 
| r6in.4xlarge | 7 | 60 | 
| r6in.8xlarge | 7 | 90 | 
| r6in.12xlarge | 7 | 120 | 
| r6in.16xlarge | 14 | 120 | 
| r6in.24xlarge | 14 | 120 | 
| r6in.32xlarge | 15 | 120 | 
| r6in.metal | 15 | 120 | 
| r7a. medio | 1 | 4 | 
| r7a.large | 2 | 10 | 
| r7a.xlarge | 3 | 20 | 
| r7a.2xlarge | 3 | 40 | 
| r7a.4xlarge | 7 | 60 | 
| r7a.8xlarge | 7 | 90 | 
| r7a.12xlarge | 7 | 120 | 
| r7a.16xlarge | 14 | 120 | 
| r7a.24xlarge | 14 | 120 | 
| r7a.32xlarge | 14 | 120 | 
| r7a.48xlarge | 14 | 120 | 
| m7a.metal-48xl | 14 | 120 | 
| r7g.medium | 1 | 4 | 
| r7g.large | 2 | 10 | 
| r7g.xlarge | 3 | 20 | 
| r7g.2xlarge | 3 | 40 | 
| r7g.4xlarge | 7 | 60 | 
| r7g.8xlarge | 7 | 60 | 
| r7g.12xlarge | 7 | 60 | 
| r7g.16xlarge | 14 | 120 | 
| r7g.metal | 14 | 120 | 
| r7gd.medium | 1 | 4 | 
| r7gd.large | 2 | 10 | 
| r7gd.xlarge | 3 | 20 | 
| r7gd.2xlarge | 3 | 40 | 
| r7gd.4xlarge | 7 | 60 | 
| r7gd.8xlarge | 7 | 60 | 
| r7gd.12xlarge | 7 | 60 | 
| r7gd.16xlarge | 14 | 120 | 
| r7gd.metal | 14 | 120 | 
| r7i.large | 2 | 10 | 
| r7i.xlarge | 3 | 20 | 
| r7i.2xlarge | 3 | 40 | 
| r7i.4xlarge | 7 | 60 | 
| r7i.8xlarge | 7 | 90 | 
| r7i.12xlarge | 7 | 120 | 
| r7i.16xlarge | 14 | 120 | 
| r7i.24xlarge | 14 | 120 | 
| r7i.48xlarge | 14 | 120 | 
| r7i.metal-24xl | 14 | 120 | 
| r7i.metal-48xl | 14 | 120 | 
| r7iz.large | 2 | 10 | 
| r7iz.xlarge | 3 | 20 | 
| r7iz.2xlarge | 3 | 40 | 
| r7iz.4xlarge | 7 | 60 | 
| r7iz.8xlarge | 7 | 90 | 
| r7iz.12xlarge | 7 | 120 | 
| r7iz.16xlarge | 14 | 120 | 
| r7iz.32xlarge | 14 | 120 | 
| r7iz.metal-16xl | 14 | 120 | 
| r7iz.metal-32xl | 14 | 120 | 
| r8a.medium | 1 | 4 | 
| r8a.large | 2 | 10 | 
| r8a.xlarge | 3 | 20 | 
| r8a.2x grande | 3 | 40 | 
| r8a.4xgrande | 7 | 60 | 
| r8a.8xgrande | 9 | 90 | 
| r8a.12 x grande | 11 | 120 | 
| r8a.16 x grande | 15 | 120 | 
| r8a.24xlarge | 15 | 120 | 
| r8a.48 x grande | 23 | 120 | 
| r8a.metal-24xl | 15 | 120 | 
| r8a.metal-48xl | 23 | 120 | 
| r8g.medium | 1 | 4 | 
| r8g.large | 2 | 10 | 
| r8g.xlarge | 3 | 20 | 
| r8g.2xlarge | 3 | 40 | 
| r8g.4xlarge | 7 | 60 | 
| r8g.8xlarge | 7 | 60 | 
| r8g.12xlarge | 7 | 60 | 
| r8g.16xlarge | 14 | 120 | 
| r8g.24xlarge | 14 | 120 | 
| r8g.48xlarge | 14 | 120 | 
| r8g.metal-24xl | 14 | 120 | 
| r8g.metal-48xl | 14 | 120 | 
| r8gb.medium | 1 | 4 | 
| r8gb.large | 2 | 10 | 
| r8gb.xlarge | 3 | 20 | 
| r8gb.2xlarge | 3 | 40 | 
| r8gb.4xlarge | 7 | 60 | 
| r8gb.8xlarge | 9 | 60 | 
| r8gb.12xlarge | 11 | 60 | 
| r8gb.16xlarge | 15 | 120 | 
| r8gb.24xlarge | 23 | 120 | 
| r8gb. 48 x grande | 23 | 120 | 
| r8gb.metal-24xl | 23 | 120 | 
| r8gb.metal-48xl | 23 | 120 | 
| r8gd.medium | 1 | 4 | 
| r8gd.large | 2 | 10 | 
| r8gd.xlarge | 3 | 20 | 
| r8gd.2xlarge | 3 | 40 | 
| r8gd.4xlarge | 7 | 60 | 
| r8gd.8xlarge | 7 | 60 | 
| r8gd.12xlarge | 7 | 60 | 
| r8gd.16xlarge | 14 | 120 | 
| r8gd.24xlarge | 14 | 120 | 
| r8gd.48xlarge | 14 | 120 | 
| r8gd.metal-24xl | 14 | 120 | 
| r8gd.metal-48xl | 14 | 120 | 
| r8gn.medium | 1 | 4 | 
| r8gn.large | 2 | 10 | 
| r8gn.xlarge | 3 | 20 | 
| r8gn.2xlarge | 3 | 40 | 
| r8gn.4xlarge | 7 | 60 | 
| r8gn.8xlarge | 9 | 60 | 
| r8gn.12xlarge | 11 | 60 | 
| r8gn.16xlarge | 15 | 120 | 
| r8gn.24xlarge | 23 | 120 | 
| r8gn.48xlarge | 23 | 120 | 
| r8gn.metal-24xl | 23 | 120 | 
| r8gn.metal-48xl | 23 | 120 | 
| r8i.large | 2 | 10 | 
| r8i.xlarge | 3 | 20 | 
| r8i.2xlarge | 3 | 40 | 
| r8i.4xlarge | 7 | 60 | 
| r8i.8xlarge | 9 | 90 | 
| r8i.12xlarge | 11 | 120 | 
| r8i.16xlarge | 15 | 120 | 
| r8i.24xlarge | 15 | 120 | 
| r8i.32xlarge | 23 | 120 | 
| r8i.48xlarge | 23 | 120 | 
| r8i.96xlarge | 23 | 120 | 
| r8i.metal-48xl | 23 | 120 | 
| r8i.metal-96xl | 23 | 120 | 
| r8id.large | 2 | 10 | 
| r8id.xlarge | 3 | 20 | 
| r8id.2xlarge | 3 | 40 | 
| r8id.4xgrande | 7 | 60 | 
| r8id.8xlarge | 9 | 90 | 
| r8id.12xgrande | 11 | 120 | 
| r8id.16 x grande | 15 | 120 | 
| r8id.24xlarge | 15 | 120 | 
| r8id.32xlarge | 23 | 120 | 
| r8id. 48 x grande | 23 | 120 | 
| r8id.96xlarge | 23 | 120 | 
| r8id.metal-48xl | 23 | 120 | 
| r8id.metal-96xl | 23 | 120 | 
| r8i-flex.large | 2 | 4 | 
| r8i-flex.xlarge | 3 | 10 | 
| r8i-flex.2xlarge | 3 | 20 | 
| r8i-flex.4xlarge | 7 | 40 | 
| r8i-flex.8xlarge | 9 | 60 | 
| r8i-flex.12xlarge | 11 | 120 | 
| r8i-flex.16xlarge | 15 | 120 | 
| u-3tb1.56xlarge | 7 | 12 | 
| u-6tb1.56xlarge | 14 | 12 | 
| u-18tb1.112xlarge | 14 | 12 | 
| u-18tb1.metal | 14 | 12 | 
| u-24tb1.112xlarge | 14 | 12 | 
| u-24tb1.metal | 14 | 12 | 
| u7i-6tb.112xlarge | 14 | 120 | 
| u7i-8tb.112xlarge | 14 | 120 | 
| u7i-12tb.224xlarge | 14 | 120 | 
| u7in-16tb.224xlarge | 15 | 120 | 
| u7in-24tb.224xlarge | 15 | 120 | 
| u7in-32tb.224xlarge | 15 | 120 | 
| u7inh-32tb.480xlarge | 15 | 120 | 
| x2gd.medium | 1 | 10 | 
| x2gd.large | 2 | 10 | 
| x2gd.xlarge | 3 | 20 | 
| x2gd.2xlarge | 3 | 40 | 
| x2gd.4xlarge | 7 | 60 | 
| x2gd.8xlarge | 7 | 60 | 
| x2gd.12xlarge | 7 | 60 | 
| x2gd.16xlarge | 14 | 120 | 
| x2gd.metal | 14 | 120 | 
| x2idn.16xlarge | 14 | 120 | 
| x2idn.24xlarge | 14 | 120 | 
| x2idn.32xlarge | 14 | 120 | 
| x2idn.metal | 14 | 120 | 
| x2iedn.xlarge | 3 | 13 | 
| x2iedn.2xlarge | 3 | 29 | 
| x2iedn.4xlarge | 7 | 60 | 
| x2iedn.8xlarge | 7 | 120 | 
| x2iedn.16xlarge | 14 | 120 | 
| x2iedn.24xlarge | 14 | 120 | 
| x2iedn.32xlarge | 14 | 120 | 
| x2iedn.metal | 14 | 120 | 
| x2iezn.2xlarge | 3 | 64 | 
| x2iezn.4xlarge | 7 | 120 | 
| x2iezn.6xlarge | 7 | 120 | 
| x2iezn.8xlarge | 7 | 120 | 
| x2iezn.12xlarge | 14 | 120 | 
| x2iezn.metal | 14 | 120 | 
| x8g.medium | 1 | 4 | 
| x8g.large | 2 | 10 | 
| x8g.xlarge | 3 | 20 | 
| x8g.2xlarge | 3 | 40 | 
| x8g.4xlarge | 7 | 60 | 
| x8g.8xlarge | 7 | 60 | 
| x8g.12xlarge | 7 | 60 | 
| x8g.16xlarge | 14 | 120 | 
| x8g.24xlarge | 14 | 120 | 
| x8g.48xlarge | 14 | 120 | 
| x8g.metal-24xl | 14 | 120 | 
| x8g.metal-48xl | 14 | 120 | 
| x8 aedz.large | 3 | 10 | 
| x8aedz.xlarge | 3 | 20 | 
| x8aedz.3x grande | 7 | 40 | 
| x8aedz.6x grande | 7 | 60 | 
| x8aedz.12x grande | 15 | 120 | 
| x8aedz.24x grande | 15 | 120 | 
| x8aedz.metallo-12xl | 15 | 120 | 
| x8aedz.metallo-24xl | 15 | 120 | 
| x8i.large | 2 | 10 | 
| x8i.xlarge | 3 | 20 | 
| x8i.2xlarge | 3 | 40 | 
| x8i.4xlarge | 7 | 60 | 
| x8i.8xlarge | 9 | 90 | 
| x8i.12xlarge | 11 | 120 | 
| x8i.16 x grande | 15 | 120 | 
| x8i.24xlarge | 15 | 120 | 
| x8i.32xlarge | 23 | 120 | 
| x8i.48 x grande | 23 | 120 | 
| x8i.64xlarge | 23 | 120 | 
| x8i.96xlarge | 23 | 120 | 
| x8i.metal-48xl | 23 | 120 | 
| x8i.metallo-96xl | 23 | 120 | 

## Archiviazione ottimizzata
<a name="eni-branch-so"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| i4g.large | 2 | 10 | 
| i4g.xlarge | 3 | 20 | 
| i4g.2xlarge | 3 | 40 | 
| i4g.4xlarge | 7 | 60 | 
| i4i.8xlarge | 7 | 60 | 
| i4i.16xlarge | 14 | 120 | 
| i4i.xlarge | 3 | 8 | 
| i4i.2xlarge | 3 | 28 | 
| i4i.4xlarge | 7 | 58 | 
| i4i.8xlarge | 7 | 118 | 
| i4i.12xlarge | 7 | 118 | 
| i4i.16xlarge | 14 | 248 | 
| i4i.24xlarge | 14 | 118 | 
| i4i.32xlarge | 14 | 498 | 
| i4i.metal | 14 | 498 | 
| i7i.large | 2 | 10 | 
| i7i.xlarge | 3 | 20 | 
| i7i.2xlarge | 3 | 40 | 
| i7i.4xlarge | 7 | 60 | 
| i7i.8xlarge | 7 | 90 | 
| i7i.12xlarge | 7 | 90 | 
| i7i.16xlarge | 14 | 120 | 
| i7i.24xlarge | 14 | 120 | 
| i7i.48xlarge | 14 | 120 | 
| i7i.metal-24xl | 14 | 120 | 
| i7i.metal-48xl | 14 | 120 | 
| i7ie.large | 2 | 20 | 
| i7ie.xlarge | 3 | 29 | 
| i7ie.2xlarge | 3 | 29 | 
| i7ie.3xlarge | 3 | 29 | 
| i7ie.6xlarge | 7 | 60 | 
| i7ie.12xlarge | 7 | 60 | 
| i7ie.18xlarge | 14 | 120 | 
| i7ie.24xlarge | 14 | 120 | 
| i7ie.48xlarge | 14 | 120 | 
| i7ie.metal-24xl | 14 | 120 | 
| i7ie.metal-48xl | 14 | 120 | 
| i8g.large | 2 | 10 | 
| i8g.xlarge | 3 | 20 | 
| i8g.2xlarge | 3 | 40 | 
| i8g.4xlarge | 7 | 60 | 
| i8g.8xlarge | 7 | 60 | 
| i8g.12xlarge | 7 | 60 | 
| i8g.16xlarge | 14 | 120 | 
| i8g.24xlarge | 14 | 120 | 
| i8g.48xlarge | 14 | 120 | 
| i8g.metal-24xl | 14 | 120 | 
| I8 g. Metallo - 48 XL | 14 | 120 | 
| i8ge.large | 2 | 20 | 
| i8ge.xlarge | 3 | 29 | 
| i8ge.2xlarge | 3 | 29 | 
| i8ge.3xlarge | 5 | 29 | 
| i8ge.6xlarge | 9 | 60 | 
| i8ge.12xlarge | 11 | 60 | 
| i8ge.18xlarge | 15 | 120 | 
| i8ge.24xlarge | 15 | 120 | 
| i8ge.48xlarge | 23 | 120 | 
| i8ge.metal-24xl | 15 | 120 | 
| i8ge.metal-48xl | 23 | 120 | 
| im4gn.large | 2 | 10 | 
| im4gn.xlarge | 3 | 20 | 
| im4gn.2xlarge | 3 | 40 | 
| im4gn.4xlarge | 7 | 60 | 
| im4gn.8xlarge | 7 | 60 | 
| im4gn.16xlarge | 14 | 120 | 
| is4gen.medium | 1 | 4 | 
| is4gen.large | 2 | 10 | 
| is4gen.xlarge | 3 | 20 | 
| is4gen.2xlarge | 3 | 40 | 
| is4gen.4xlarge | 7 | 60 | 
| is4gen.8xlarge | 7 | 60 | 

## Elaborazione accelerata
<a name="eni-branch-ac"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| dl1.24xlarge | 59 | 120 | 
| dl2q.24xlarge | 14 | 120 | 
| f2.6xlarge | 7 | 90 | 
| f2.12xlarge | 7 | 120 | 
| f2.48xlarge | 14 | 120 | 
| g4ad.xlarge | 1 | 12 | 
| g4ad.2xlarge | 1 | 12 | 
| g4ad.4xlarge | 2 | 12 | 
| g4ad.8xlarge | 3 | 12 | 
| g4ad.16xlarge | 7 | 12 | 
| g5.xlarge | 3 | 6 | 
| g5.2xlarge | 3 | 19 | 
| g5.4xlarge | 7 | 40 | 
| g5.8xlarge | 7 | 90 | 
| g5.12xlarge | 14 | 120 | 
| g5.16xlarge | 7 | 120 | 
| g5.24xlarge | 14 | 120 | 
| g5.48xlarge | 6 | 120 | 
| g5g.xlarge | 3 | 20 | 
| g5g.2xlarge | 3 | 40 | 
| g5g.4xlarge | 7 | 60 | 
| g5g.8xlarge | 7 | 60 | 
| g5g.16xlarge | 14 | 120 | 
| g5g.metal | 14 | 120 | 
| g6.xlarge | 3 | 20 | 
| g6.2xlarge | 3 | 40 | 
| g6.4xlarge | 7 | 60 | 
| g6.8xlarge | 7 | 90 | 
| g6.12xlarge | 7 | 120 | 
| g6.16xlarge | 14 | 120 | 
| g6.24xlarge | 14 | 120 | 
| g6.48xlarge | 14 | 120 | 
| g6e.xlarge | 3 | 20 | 
| g6e.2xlarge | 3 | 40 | 
| g6e.4xlarge | 7 | 60 | 
| g6e.8xlarge | 7 | 90 | 
| g6e.12xlarge | 9 | 120 | 
| g6e.16xlarge | 14 | 120 | 
| g6e.24xlarge | 19 | 120 | 
| g6e.48xlarge | 39 | 120 | 
| g6f.large | 1 | 10 | 
| g6f.xlarge | 3 | 20 | 
| g6f.2xlarge | 3 | 40 | 
| g6f.4xlarge | 7 | 60 | 
| gr6.4xlarge | 7 | 60 | 
| gr6.8xlarge | 7 | 90 | 
| gr6f.4xlarge | 7 | 60 | 
| g 7. 2x grande | 3 | 242 | 
| G 7. 4x grande | 7 | 242 | 
| G 7. 8x grande | 7 | 242 | 
| G7 e.12 x grande | 9 | 242 | 
| G7 e.24 x grande | 19 | 242 | 
| G7 e.48 x grande | 39 | 242 | 
| inf2.xlarge | 3 | 20 | 
| inf2.8xlarge | 7 | 90 | 
| inf2.24xlarge | 14 | 120 | 
| inf2.48xlarge | 14 | 120 | 
| p4d.24xlarge | 59 | 120 | 
| p4de.24xlarge | 59 | 120 | 
| p5.4xlarge | 3 | 60 | 
| p5.48xlarge | 63 | 242 | 
| p5e.48xlarge | 63 | 242 | 
| p5en.48xlarge | 63 | 242 | 
| p6-b200.48xlarge | 31 | 242 | 
| p6-b 300,48 x grande | 67 | 242 | 
| p6e-gb200.36xlarge | 38 | 120 | 
| trn1.2xlarge | 3 | 19 | 
| trn1.32xlarge | 39 | 120 | 
| trn1n.32xlarge | 79 | 242 | 
| TRN 2,3 x grande | 1 | 14 | 
| trn2.48xlarge | 31 | 242 | 
| trn2u.48xlarge | 31 | 242 | 
| vt1.3xlarge | 3 | 40 | 
| vt1.6xlarge | 7 | 60 | 
| vt1.24xlarge | 14 | 120 | 

## High Performance Computing
<a name="eni-branch-hpc"></a>


| Tipo di istanza | Limite di attività senza trunking ENI | Limite di attività con trunking ENI | 
| --- | --- | --- | 
| hpc6a.48xlarge | 1 | 120 | 
| hpc6id.32xlarge | 1 | 120 | 
| hpc7g.4xlarge | 3 | 120 | 
| hpc7g.8xlarge | 3 | 120 | 
| hpc7g.16xlarge | 3 | 120 | 
| hp 8 a.96 x grande | 3 | -2 | 

# Allocazione della memoria di un'istanza di container Amazon ECS Linux
<a name="memory-management"></a>

Quando l'agente container Amazon ECS registra un'istanza di container in un cluster, l'agente deve determinare quanta memoria è disponibile nell'istanza di container per essere allocata alle tue attività. A causa dei costi del sovraccarico di memoria della piattaforma e della memoria occupata dal kernel del sistema, questo numero è diverso rispetto alla quantità di memoria installata pubblicizzata per le istanze Amazon EC2. Ad esempio, un'istanza `m4.large` dispone di 8 GiB di memoria installata. Tuttavia, ciò non si traduce sempre in esattamente 8192 MiB di memoria disponibile per le attività quando l'istanza di container viene registrata.

## Determinazione delle risorse di memoria di ECS Managed Instances
<a name="ecs-mi-memory-calculation"></a>

Amazon ECS Managed Instances utilizza un approccio gerarchico per determinare i requisiti di risorse di memoria per le attività. A differenza di ECS su EC2, che si basa sull'introspezione della memoria di Docker, ECS Managed Instances calcola i requisiti di memoria direttamente dal payload dell'attività durante le decisioni di pianificazione.

Quando l'agente ECS Managed Instances riceve un'attività, calcola il fabbisogno di memoria utilizzando il seguente ordine di priorità:

1. **Memoria a livello di attività (priorità massima)**: se la memoria a livello di attività è specificata nella definizione dell'attività, l'agente utilizza direttamente questo valore. Ciò ha la precedenza su tutte le impostazioni di memoria a livello di contenitore.

1. **Somma di memoria a livello di contenitore (fallback)**: se la memoria a livello di attività non è specificata (o è 0), l'agente somma i requisiti di memoria di tutti i contenitori dell'operazione. Per ogni contenitore, utilizza:

   1. *Prenotazione di memoria (soft limit)*: se un contenitore lo specifica `memoryReservation` nella sua configurazione, l'agente utilizza questo valore.

   1. *Memoria del contenitore (limite rigido)*: se non `memoryReservation` è specificato, l'agente utilizza il `memory` campo del contenitore.

**Example Memoria a livello di attività specificata**  
Quando viene specificata la memoria a livello di attività, ha la precedenza sulle impostazioni a livello di contenitore:  

```
{
  "family": "my-task",
  "memory": "2048",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    }
  ]
}
```
L'agente riserva 2048 MiB (la memoria a livello di attività ha la precedenza).

**Example Memoria a livello di contenitore con prenotazioni**  
Quando non viene specificata la memoria a livello di attività, l'agente somma i requisiti di memoria del contenitore:  

```
{
  "family": "my-task",
  "containerDefinitions": [
    {
      "name": "container1",
      "memory": 1024,
      "memoryReservation": 512
    },
    {
      "name": "container2",
      "memory": 512
    }
  ]
}
```
L'agente riserva 512 MiB (prenotazione container1) \$1 512 MiB (memoria container2) = 1024 MiB totali.

L'agente ECS Managed Instances esegue il calcolo della memoria in tre fasi:

1. **Ricezione delle attività**: quando il payload di un'operazione arriva dal piano di controllo ECS, l'agente calcola immediatamente la memoria richiesta.

1. **Archiviazione delle risorse**: il fabbisogno di memoria calcolato viene memorizzato nel modello di attività per un uso successivo nelle operazioni di contabilità delle risorse.

1. **Decisione sulla pianificazione**: prima di accettare un'attività, l'agente verifica se è disponibile memoria sufficiente. Se la memoria disponibile è insufficiente, l'attività viene rifiutata e rimane nella coda dei servizi ECS fino a quando le risorse non diventano disponibili.

**Nota**  
A differenza di ECS su EC2, ECS Managed Instances non utilizza la variabile di configurazione. `ECS_RESERVED_MEMORY` La prenotazione della memoria per i processi di sistema viene gestita tramite la gestione delle risorse della piattaforma sottostante e l'agente esegue una contabilità accurata delle risorse in base alle definizioni delle attività.

 Per ECS su EC2, l'agente container Amazon ECS fornisce una variabile di configurazione chiamata`ECS_RESERVED_MEMORY`, che puoi usare per rimuovere un numero specifico di MiB di memoria dal pool assegnato alle tue attività. In questo modo si riserva la memoria per i processi di sistema critici.

Se occupi tutta la memoria di un'istanza di container con le tue attività, è possibile che queste ultime entrino in conflitto con le attività di sistema critiche per la memoria e causino un errore di sistema.

Ad esempio, se si specifica `ECS_RESERVED_MEMORY=256` nel file di configurazione dell'agente del container, l'agente registra la memoria totale -256 MiB per quell'istanza e 256 MiB di memoria non possono essere allocati da task ECS. Per ulteriori informazioni sulle variabili dell'agente e su come impostarle, vedere [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md) e [Bootstrap di istanze di container Linux Amazon ECS per il trasferimento dei dati](bootstrap_container_instance.md).

Se specifichi 8192 MiB per l'attività e nessuna delle istanze di container dispone di 8192 MiB o più di memoria disponibile per soddisfare questo requisito, l'attività non può essere inserita nel cluster. Se utilizzi un ambiente di elaborazione gestito, AWS Batch devi avviare un tipo di istanza più grande per soddisfare la richiesta.

L'agente del container di Amazon ECS utilizza la funzione Docker `ReadMemInfo()` per eseguire una query sulla memoria totale disponibile per il sistema operativo. Sia Linux che Windows forniscono utilità a riga di comando per determinare la memoria totale.

**Example - Determinare la memoria totale in Linux**  
Il comando **free** restituisce la memoria totale riconosciuta dal sistema operativo.  

```
$ free -b
```
Esempio di output per un'istanza `m4.large` che esegue l'AMI Amazon Linux ottimizzata per Amazon ECS.  

```
             total       used       free     shared    buffers     cached
Mem:    8373026816  348180480 8024846336      90112   25534464  205418496
-/+ buffers/cache:  117227520 8255799296
```
Questa istanza ha 8373026816 byte di memoria totale, che si traducono in 7985 MiB disponibili per le attività.

**Example - Determinare la memoria totale in Windows**  
Il comando **wmic** restituisce la memoria totale riconosciuta dal sistema operativo.  

```
C:\> wmic ComputerSystem get TotalPhysicalMemory
```
Esempio di output per un'istanza `m4.large` che esegue il server AMI Amazon Windows ottimizzato per Amazon ECS.  

```
TotalPhysicalMemory
8589524992
```
Questa istanza ha 8589524992 byte di memoria totale, che si traducono in 8191 MiB disponibili per le attività.

## Visualizzare la memoria di un'istanza di container
<a name="viewing-memory"></a>

Puoi visualizzare la quantità di memoria con cui registra un'istanza del contenitore nella console Amazon ECS (o con l'operazione [DescribeContainerInstances](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeContainerInstances.html)API). Se stai cercando di massimizzare l'utilizzo delle risorse fornendo alle tue attività la maggior quantità possibile di memoria per un particolare tipo di istanza, puoi osservare la memoria disponibile per quell'istanza di container e quindi assegnare alle tue attività tale quantità di memoria.

**Per visualizzare la memoria dell'istanza di container**

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

1. Nel riquadro di navigazione, scegli **Cluster** e seleziona il cluster che ospita l'istanza di container.

1. Scegli **Infrastruttura**, quindi in Istanze di container scegli un'istanza di container.

1. La sezione **Risorse** mostra la memoria registrata e disponibile per l'istanza di container.

   Il valore di memoria **Registrato** corrisponde a quello che l'istanza di container ha registrato in Amazon ECS la prima volta che è stata avviata e il valore di memoria **Disponibile** è quello che non è ancora stato allocato alle attività.

# Gestione remota delle istanze di container Amazon ECS tramite AWS Systems Manager
<a name="ec2-run-command"></a>

Puoi utilizzare la funzionalità Run Command in AWS Systems Manager (Systems Manager) per gestire in modo sicuro e remoto la configurazione delle tue istanze di container Amazon ECS. Run Command fornisce un modo semplice per eseguire le attività di amministrazione comuni senza accedere localmente all'istanza. Puoi gestire le modifiche della configurazione dei tuoi cluster tramite l'esecuzione simultanea di comandi su più istanze di container. Run Command tiene traccia dello stato e dei risultati di ciascun comando.

Di seguito sono elencati alcuni esempi dei tipi di attività che puoi eseguire mediante Run Command:
+ Installare o disinstallare pacchetti.
+ Eseguire aggiornamenti di sicurezza.
+ Eliminare immagini Docker.
+ Interrompere o avviare i servizi.
+ Visualizzare le risorse di sistema.
+ Visualizzare file di log.
+ Eseguire operazioni sui file.

Per ulteriori informazioni su Run Command, consulta [AWS Systems Manager Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) nella *Guida per l'utente di AWS Systems Manager *.

Di seguito sono riportati i prerequisiti per l'uso di Systems Manager con Amazon ECS.

1. È necessario concedere all'istanza del contenitore le autorizzazioni role (**ecsInstanceRole**) per accedere a Systems Manager APIs. Puoi farlo assegnando **Amazon SSMManaged InstanceCore** al `ecsInstanceRole` ruolo. Per informazioni su come associare una policy a un ruolo, consulta [Aggiornare le autorizzazioni per un ruolo](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-permissions.html) nella *Guida per l'utente di AWS Identity and Access Management *

1. Verifica che SSM Agent sia installato nelle istanze di container. Per ulteriori informazioni, consulta [Installare e disinstallare manualmente SSM Agent su istanze EC2 per Linux](https://docs.aws.amazon.com/systems-manager/latest/userguide/manually-install-ssm-agent-linux.html).

Dopo aver collegato le policy gestite di Systems Manager alle istanze del contenitore `ecsInstanceRole` e aver verificato che AWS Systems Manager l'agente (agente SSM) sia installato sulle istanze del contenitore, è possibile iniziare a utilizzare Run Command per inviare comandi alle istanze del contenitore. Per ulteriori informazioni sull'esecuzione di comandi e script di shell sulle istanze e sulla visualizzazione dell'output risultante, consulta [Esecuzione di comandi mediante Run Command di Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html) e [Spiegazione passo per passo di Run Command](https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command-walkthroughs.html) nella *Guida per l'utente di AWS Systems Manager *. 

Un caso d'uso comune consiste nell'aggiornare il software dell'istanza di container con Run Command. È possibile seguire le procedure riportate nella Guida per l' AWS Systems Manager utente con i seguenti parametri.


| Parametro | Valore | 
| --- | --- | 
|  **Documento di comando**  | AWS-RunShellScript | 
| Comando |  <pre>$ yum update -y</pre> | 
| Istanze di destinazione | Le tue istanze di container | 

# Uso di un proxy HTTP per istanze di container Linux Amazon ECS
<a name="http_proxy_config"></a>

Puoi configurare le tue istanze di container Amazon ECS per l'utilizzo di un proxy HTTP sia per l'agente del container Amazon ECS che per il daemon Docker. Ciò è utile se le tue istanze di container non hanno accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza. 

Per configurare l'istanza di container Linux di Amazon ECS per l'utilizzo di un proxy HTTP, imposta le seguenti variabili nei file pertinenti al momento dell'avvio (con dati utente di Amazon EC2). È anche possibile modificare manualmente il file di configurazione e poi riavviare l'agente.

`/etc/ecs/ecs.config`(Amazon Linux 2e AmazonLinux AMI)    
`HTTP_PROXY=10.0.0.131:3128`  
Imposta questo valore sul nome host (o indirizzo IP) e sul numero di porta di un proxy HTTP da utilizzare per l'agente Amazon ECS per la connessione a Internet. Ad esempio, le tue istanze di container potrebbero non avere accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza.  
`NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Imposta questo valore su `169.254.169.254,169.254.170.2,/var/run/docker.sock` per filtrare i metadati dell'istanza EC2, i ruoli IAM per i processi e il traffico del daemon Docker dal proxy. 

`/etc/systemd/system/ecs.service.d/http-proxy.conf` (solo Amazon Linux 2)    
`Environment="HTTP_PROXY=10.0.0.131:3128/"`  
Imposta questo valore sul nome host (o indirizzo IP) e sul numero di porta di un proxy HTTP da utilizzare per connettere `ecs-init` a Internet. Ad esempio, le tue istanze di container potrebbero non avere accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock"`  
Imposta questo valore su `169.254.169.254,169.254.170.2,/var/run/docker.sock` per filtrare i metadati dell'istanza EC2, i ruoli IAM per i processi e il traffico del daemon Docker dal proxy. 

`/etc/init/ecs.override` (solo AMI Amazon Linux)    
`env HTTP_PROXY=10.0.0.131:3128`  
Imposta questo valore sul nome host (o indirizzo IP) e sul numero di porta di un proxy HTTP da utilizzare per connettere `ecs-init` a Internet. Ad esempio, le tue istanze di container potrebbero non avere accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza.  
`env NO_PROXY=169.254.169.254,169.254.170.2,/var/run/docker.sock`  
Imposta questo valore su `169.254.169.254,169.254.170.2,/var/run/docker.sock` per filtrare i metadati dell'istanza EC2, i ruoli IAM per i processi e il traffico del daemon Docker dal proxy. 

`/etc/systemd/system/docker.service.d/http-proxy.conf` (solo Amazon Linux 2)    
`Environment="HTTP_PROXY=http://10.0.0.131:3128"`  
Imposta questo valore sul nome host (o indirizzo IP) e sul numero di porta di un proxy HTTP da utilizzare per connettere il daemon Docker a Internet. Ad esempio, le tue istanze di container potrebbero non avere accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza.  
`Environment="NO_PROXY=169.254.169.254,169.254.170.2"`  
Imposta questo valore su `169.254.169.254,169.254.170.2` per filtrare i metadati dell'istanza EC2 dal proxy. 

`/etc/sysconfig/docker` (solo AMI Amazon Linux e Amazon Linux 2)    
`export HTTP_PROXY=http://10.0.0.131:3128`  
Imposta questo valore sul nome host (o indirizzo IP) e sul numero di porta di un proxy HTTP da utilizzare per connettere il daemon Docker a Internet. Ad esempio, le tue istanze di container potrebbero non avere accesso alla rete esterna tramite un gateway Internet Amazon VPC, un gateway NAT o un'istanza.  
`export NO_PROXY=169.254.169.254,169.254.170.2`  
Imposta questo valore su `169.254.169.254,169.254.170.2` per filtrare i metadati dell'istanza EC2 dal proxy. 

L'impostazione di queste variabili di ambiente nei suddetti file influisce solo sull'agente del container di Amazon ECS, su `ecs-init` e sul daemon Docker. Non configurano altri servizi (ad esempio il comando **yum**) per l'utilizzo del proxy.

Per informazioni su come configurare il proxy, consulta [Come configurare un proxy HTTP per Docker e l'agente contenitore Amazon ECS in Amazon](https://repost.aws/knowledge-center/ecs-http-proxy-docker-linux2) Linux 2 o. AL2023

# Configurazione delle istanze preinizializzate per il tuo gruppo Auto Scaling Amazon ECS
<a name="using-warm-pool"></a>

Amazon ECS supporta i warm pool Amazon EC2 Auto Scaling. Un warm pool è un gruppo di istanze Amazon EC2 pre-inizializzate pronte per essere messe in servizio. Ogni volta che l'applicazione ha bisogno di aumentare orizzontalmente, Amazon EC2 Auto Scaling utilizza le istanze pre-inizializzate dal warm pool anziché avviare istanze cold, consente l'esecuzione di qualsiasi processo di inizializzazione finale e quindi mette in servizio l'istanza.

Per ulteriori informazioni sui warm pool e su come aggiungere un warm pool al gruppo con scalabilità automatica, consulta [Warm pool per Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-warm-pools.html) nella *Guida per l'utente di Amazon EC2 Auto Scaling*.

Quando crei o aggiorni un warm pool per un gruppo con scalabilità automatica per Amazon ECS, non puoi impostare l'opzione che restituisce le istanze al warm pool alla riduzione orizzontale (`ReuseOnScaleIn`). Per ulteriori informazioni, consulta [put-warm-pool](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-warm-pool.html) nella *documentazione di riferimento AWS Command Line Interface *.

Per utilizzare i warm pool con il cluster Amazon ECS, imposta la variabile di configurazione dell'agente `ECS_WARM_POOLS_CHECK` su `true` nel campo **User data** (Dati utente) del modello di avvio del gruppo Amazon EC2 Auto Scaling. 

Di seguito è illustrato un esempio di come la variabile di configurazione dell'agente può essere specificata nel campo **User data** (Dati utente) di un modello di avvio Amazon EC2. Sostituisci *MyCluster* con il nome del tuo cluster.

```
#!/bin/bash
cat <<'EOF' >> /etc/ecs/ecs.config
ECS_CLUSTER=MyCluster
ECS_WARM_POOLS_CHECK=true
EOF
```

La variabile `ECS_WARM_POOLS_CHECK` è supportata sull'agente solo a partire dalla versione `1.59.0`. Per ulteriori informazioni sulle variabili, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).

# Aggiornamento dell'agente del container Amazon ECS
<a name="ecs-agent-update"></a>

In alcuni casi, potrebbe essere necessario aggiornare l'agente del container di Amazon ECS per ottenere correzioni dei bug e nuove funzionalità. L'aggiornamento dell'agente del container di Amazon ECS non interrompe i processi o i servizi in esecuzione nell'istanza di container. Il processo per l'aggiornamento dell'agente differisce a seconda se la tua istanza di container è stata avviata con l'AMI ottimizzata per Amazon ECS o con un altro sistema operativo.

**Nota**  
Gli aggiornamenti dell'agente non si applicano alle istanze di container di Windows. Consigliamo di avviare nuove istanze di container per aggiornare la versione dell'agente nei cluster Windows.

## Verifica della versione dell'agente del container Amazon ECS
<a name="checking_agent_version"></a>

Puoi verificare la versione dell'agente del container che è in esecuzione nelle tue istanze di container per vedere se è necessario aggiornarla. La vista dell'istanza di container nella console di Amazon ECS fornisce la versione dell'agente. Utilizza la procedura seguente per verificare la versione del tuo agente.

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

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

1. Dalla barra di navigazione, scegli la Regione in cui l'istanza esterna è registrata.

1. Nel riquadro di navigazione, scegli **Cluster** e seleziona il cluster che ospita l'istanza esterna.

1. Nella *name* pagina **Cluster:**, scegli la scheda **Infrastruttura**.

1. In **Container instances** (Istanze di container), osserva la colonna **Agent version** (Versione agente) per le tue istanze di container. Se l'istanza di container non contiene la versione più recente dell'agente del container, la console invia un avviso con un messaggio e contrassegna la versione dell'agente obsoleta.

   Se la versione del tuo agente del container è obsoleta, puoi aggiornare l'agente con le seguenti procedure:
   + Se la tua istanza di container sta eseguendo un'AMI ottimizzata per Amazon ECS, consulta [Come aggiornare l'agente del container Amazon ECS su un'AMI ottimizzata per Amazon ECS](agent-update-ecs-ami.md).
   + Se la tua istanza di container non sta eseguendo un'AMI ottimizzata per Amazon ECS, consulta [Aggiornamento manuale dell'agente container Amazon ECS (per prodotti non ottimizzati per Amazon ECS) AMIs](manually_update_agent.md).
**Importante**  
Per aggiornare la versione dell'agente di Amazon ECS da versioni precedenti alla v1.0.0 sull'AMI ottimizzata per Amazon ECS, ti consigliamo di terminare la tua attuale istanza di container e avviare una nuova istanza con la versione dell'AMI più recente. Qualsiasi istanza di container che utilizza una versione di anteprima deve essere ritirata e sostituita con l'AMI più recente. Per ulteriori informazioni, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).

------
#### [ Amazon ECS container agent introspection API  ]

Puoi inoltre utilizzare l'API di introspezione dell'agente del container di Amazon ECS per verificare la versione dell'agente dall'istanza di container stessa. Per ulteriori informazioni, consulta [Introspezione del container di Amazon ECS](ecs-agent-introspection.md).

**Come verificare se il tuo agente del container di Amazon ECS sta eseguendo l'ultima versione con l'API di introspezione**

1. Accedi alla tua istanza di container con SSH.

1. Interroga l'API di introspezione.

   ```
   [ec2-user ~]$ curl -s 127.0.0.1:51678/v1/metadata | python3 -mjson.tool
   ```
**Nota**  
L'API di introspezione ha aggiunto delle informazioni di `Version` nella versione v1.0.0 dell'agente del container di Amazon ECS. Se `Version` non è presente quando si interroga l'API di introspezione oppure se quest'ultima è completamente assente nel tuo agente, la versione in esecuzione è v0.0.3 o precedente. È necessario aggiornare la versione.

------

# Come aggiornare l'agente del container Amazon ECS su un'AMI ottimizzata per Amazon ECS
<a name="agent-update-ecs-ami"></a>

Se utilizzi l'AMI ottimizzata per Amazon ECS, hai diverse opzioni per ottenere la versione più recente dell'agente del container di Amazon ECS (mostrato in ordine di raccomandazione):
+ Termina l'istanza di container e avvia la versione più recente dell'AMI Amazon Linux 2 ottimizzata per Amazon ECS (manualmente o tramite l'aggiornamento della configurazione di avvio di Auto Scaling con l'AMI più recente). Questo fornisce una nuova istanza di container con le versioni testate e convalidate più aggiornate di Amazon Linux, Docker, `ecs-init` e l'agente del container di Amazon ECS. Per ulteriori informazioni, consulta [Linux ottimizzato per Amazon ECS AMIs](ecs-optimized_AMI.md).
+ Connettiti all'istanza con SSH e aggiorna il pacchetto `ecs-init` (e le relative dipendenze) alla versione più recente. Questa operazione fornisce le versioni testate e convalidate più aggiornate di Docker e `ecs-init` che sono disponibili nei repository di Amazon Linux e la versione più recente dell'agente del container di Amazon ECS. Per ulteriori informazioni, consulta [Come aggiornare il pacchetto `ecs-init` su un'AMI ottimizzata per Amazon ECS](#procedure_update_ecs-init).
+ Aggiorna l'agente del contenitore con l'operazione `UpdateContainerAgent` API, tramite la console o con l'opzione AWS CLI o AWS SDKs. Per ulteriori informazioni, consulta [Aggiornamento dell'agente del container di Amazon ECS con l'operazione API `UpdateContainerAgent`](#agent-update-api).

**Nota**  
Gli aggiornamenti dell'agente non si applicano alle istanze di container di Windows. Consigliamo di avviare nuove istanze di container per aggiornare la versione dell'agente nei cluster Windows.<a name="procedure_update_ecs-init"></a>

**Come aggiornare il pacchetto `ecs-init` su un'AMI ottimizzata per Amazon ECS**

1. Accedi alla tua istanza di container con SSH.

1. Aggiorna il pacchetto `ecs-init` con il comando seguente.

   ```
   sudo yum update -y ecs-init
   ```
**Nota**  
Il pacchetto `ecs-init` e l'agente del container di Amazon ECS vengono aggiornati immediatamente. Tuttavia, le versioni più recenti di Docker non vengono caricate finché il daemon Docker non viene riavviato. Utilizza il riavvio dell'istanza oppure esegui i comandi seguenti sull'istanza:  
AMI Amazon Linux 2 ottimizzata per Amazon ECS:  

     ```
     sudo systemctl restart docker
     ```
AMI Amazon Linux ottimizzata per Amazon ECS:  

     ```
     sudo service docker restart && sudo start ecs
     ```

## Aggiornamento dell'agente del container di Amazon ECS con l'operazione API `UpdateContainerAgent`
<a name="agent-update-api"></a>

**Importante**  
L'API `UpdateContainerAgent` è supportata solo sulle varianti Linux dell'AMI ottimizzata per Amazon ECS, ad eccezione dell'AMI Amazon Linux 2 (arm64) ottimizzata per Amazon ECS. Per le istanze di container che utilizzano l'AMI Amazon Linux 2 (arm64) ottimizzata per Amazon ECS, aggiorna il pacchetto `ecs-init` per aggiornare l'agente. Per le istanze di container che eseguono altri sistemi operativi, consulta [Aggiornamento manuale dell'agente container Amazon ECS (per prodotti non ottimizzati per Amazon ECS) AMIs](manually_update_agent.md). Se utilizzi istanze di container Windows, ti consigliamo di avviare nuove istanze di container per aggiornare la versione dell'agente nei tuoi cluster Windows.

Il processo `UpdateContainerAgent` API inizia quando richiedi l'aggiornamento di un agente, tramite la console o con AWS CLI o AWS SDKs. Amazon ECS controlla la versione corrente dell'agente rispetto all'ultima versione disponibile e, se è possibile un aggiornamento. Se non è disponibile alcun aggiornamento, ad esempio se l'agente sta già eseguendo la versione più recente, allora viene restituito `NoUpdateAvailableException`.

Le fasi del processo di aggiornamento riportate in precedenza sono le seguenti:

`PENDING`  
È disponibile un aggiornamento dell'agente e il processo di aggiornamento è stato avviato.

`STAGING`  
L'agente ha iniziato a scaricare il relativo aggiornamento. Se l'agente non è in grado di scaricare l'aggiornamento, oppure se i contenuti dell'aggiornamento non sono corretti o sono danneggiati, l'agente invia una notifica dell'errore e l'aggiornamento passa allo stato `FAILED`.

`STAGED`  
Il download dell'agente è stato completato e i contenuti dell'agente sono stati verificati.

`UPDATING`  
Il servizio `ecs-init` è stato riavviato e ottiene la nuova versione dell'agente. Se l'agente non è in grado di riavviarsi per qualsiasi motivo, l'aggiornamento passa allo stato `FAILED`. In caso contrario, l'agente segnala ad Amazon ECS che l'aggiornamento è completo.

**Nota**  
Gli aggiornamenti dell'agente non si applicano alle istanze di container di Windows. Consigliamo di avviare nuove istanze di container per aggiornare la versione dell'agente nei cluster Windows.

**Come aggiornare l'agente del container Amazon ECS su un'AMI ottimizzata per Amazon ECS nella console**

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

1. Dalla barra di navigazione, scegli la Regione in cui l'istanza esterna è registrata.

1. Nel pannello di navigazione, seleziona **Clusters** (Cluster), quindi seleziona il cluster.

1. Nella *name* pagina **Cluster:**, scegli la scheda **Infrastruttura**.

1. In **Istanze di container**, seleziona le istanze da aggiornare, quindi scegli **Operazioni**, **Aggiorna agente**.

# Aggiornamento manuale dell'agente container Amazon ECS (per prodotti non ottimizzati per Amazon ECS) AMIs
<a name="manually_update_agent"></a>

In alcuni casi, potrebbe essere necessario aggiornare l'agente del container di Amazon ECS per ottenere correzioni dei bug e nuove funzionalità. L'aggiornamento dell'agente del container di Amazon ECS non interrompe i processi o i servizi in esecuzione nell'istanza di container.
**Nota**  
Gli aggiornamenti dell'agente non si applicano alle istanze di container di Windows. Consigliamo di avviare nuove istanze di container per aggiornare la versione dell'agente nei cluster Windows.

1. Accedi alla tua istanza di container con SSH.

1. Controlla se il tuo agente utilizza la variabile di ambiente `ECS_DATADIR` per salvare il suo stato.

   ```
   ubuntu:~$ docker inspect ecs-agent | grep ECS_DATADIR
   ```

   Output:

   ```
   "ECS_DATADIR=/data",
   ```
**Importante**  
Se il comando precedente non restituisce la variabile di ambiente `ECS_DATADIR`, è necessario arrestare qualsiasi attività in esecuzione in questa istanza di container prima di aggiornare l'agente. Gli agenti più recenti con la variabile di ambiente `ECS_DATADIR` salvano il proprio stato e puoi aggiornarli mentre le attività vengono eseguite senza problemi.

1. Arresta l'agente del container di Amazon ECS.

   ```
   ubuntu:~$ docker stop ecs-agent
   ```

1. Elimina l'agente del container.

   ```
   ubuntu:~$ docker rm ecs-agent
   ```

1. Assicurati che la directory `/etc/ecs` e il file di configurazione dell'agente del container di Amazon ECS esistano in `/etc/ecs/ecs.config`.

   ```
   ubuntu:~$ sudo mkdir -p /etc/ecs && sudo touch /etc/ecs/ecs.config
   ```

1. Modifica il file `/etc/ecs/ecs.config` e assicurati che contenga almeno le seguenti dichiarazioni di variabili. Se non vuoi che la tua istanza di container sia registrata con il cluster predefinito, specifica il nome del tuo cluster come il valore per `ECS_CLUSTER`.

   ```
   ECS_DATADIR=/data
   ECS_ENABLE_TASK_IAM_ROLE=true
   ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
   ECS_LOGFILE=/log/ecs-agent.log
   ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]
   ECS_LOGLEVEL=info
   ECS_CLUSTER=default
   ```

   Per ulteriori informazioni su queste e altre opzioni di runtime dell'agente, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).
**Nota**  
Puoi facoltativamente archiviare le variabili di ambiente dell'agente in Amazon S3 (che possono essere scaricate nelle tue istanze di container all'avvio utilizzando i dati utente di Amazon EC2). Ciò è consigliato per le informazioni sensibili, come le credenziali di autenticazione per i repository privati. Per ulteriori informazioni, consultare [Archiviazione della configurazione di un'istanza di container Amazon ECS in Amazon S3](ecs-config-s3.md) e [Utilizzo di immagini non AWS containerizzate in Amazon ECS](private-auth.md).

1. Estrai l'ultima immagine dell'agente del container di Amazon ECS da Amazon Elastic Container Registry Public.

   ```
   ubuntu:~$ docker pull public.ecr.aws/ecs/amazon-ecs-agent:latest
   ```

   Output:

   ```
   Pulling repository amazon/amazon-ecs-agent
   a5a56a5e13dc: Download complete
   511136ea3c5a: Download complete
   9950b5d678a1: Download complete
   c48ddcf21b63: Download complete
   Status: Image is up to date for amazon/amazon-ecs-agent:latest
   ```

1. Esegui l'agente del container di Amazon ECS più recente sulla tua istanza di container.
**Nota**  
Utilizza le policy di riavvio di Docker o un gestore di processo (come **upstart** o **systemd**) per trattare l'agente del container come un servizio o un daemon e assicurarne il riavvio dopo l'uscita. L'AMI ottimizzata per Amazon ECS utilizza l'`ecs-init`RPM per questo scopo e puoi visualizzare il [codice sorgente di questo](https://github.com/aws/amazon-ecs-init) RPM su. GitHub 

   Nell'esempio seguente, il comando di esecuzione dell'agente è suddiviso in righe separate per mostrare ciascuna opzione. Per ulteriori informazioni su queste e altre opzioni di runtime dell'agente, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).
**Importante**  
I sistemi operativi con SELinux abilitato richiedono l'`--privileged`opzione nel comando. **docker run** Inoltre, per le istanze SELinux di container abilitate, si consiglia di aggiungere l'`:Z`opzione ai montaggi `/log` e `/data` volume. Tuttavia, i montaggi degli host per questi volumi devono esistere prima che tu esegua il comando o che riceva un errore `no such file or directory`. Se riscontri difficoltà nell'esecuzione dell'agente Amazon ECS su un'istanza di container SELinux abilitata, intraprendi la seguente azione:  
Crea i punti di montaggio dei volumi degli host sulla tua istanza di container.  

     ```
     ubuntu:~$ sudo mkdir -p /var/log/ecs /var/lib/ecs/data
     ```
Aggiungi l'opzione `--privileged` al comando **docker run** seguente.
Aggiungi l'opzione `:Z` ai montaggi dei volumi dei container `/log` e `/data` (ad esempio `--volume=/var/log/ecs/:/log:Z`) al comando **docker run** seguente.

   ```
   ubuntu:~$ sudo docker run --name ecs-agent \
   --detach=true \
   --restart=on-failure:10 \
   --volume=/var/run:/var/run \
   --volume=/var/log/ecs/:/log \
   --volume=/var/lib/ecs/data:/data \
   --volume=/etc/ecs:/etc/ecs \
   --volume=/etc/ecs:/etc/ecs/pki \
   --net=host \
   --env-file=/etc/ecs/ecs.config \
   amazon/amazon-ecs-agent:latest
   ```
**Nota**  
Se ricevi un messaggio `Error response from daemon: Cannot start container`, puoi eliminare il container che presenta l'errore con il comando **sudo docker rm ecs-agent** e tentare di eseguire nuovamente l'agente. 