

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

# Progetta la tua applicazione per Amazon ECS
<a name="application_architecture"></a>

L'applicazione viene progettata creando una definizione di attività per l'applicazione. La definizione dell'attività contiene i parametri che definiscono le informazioni sull'applicazione, tra cui:
+ La capacità da utilizzare, che determina l'infrastruttura in cui vengono ospitate le attività.

  Quando utilizzi il provider di capacità EC2, scegli anche il tipo di istanza. Quando utilizzi il provider di capacità su istanze gestite da Amazon ECS, puoi fornire i requisiti di istanza per Amazon ECS per gestire la capacità di calcolo. Per alcuni tipi di istanze, come la GPU, è necessario impostare parametri specifici. Per ulteriori informazioni, consulta [Casi d'uso della definizione dell'attività di Amazon ECS](use-cases.md).
+ L'immagine del container, che contiene il codice dell'applicazione e tutte le dipendenze necessarie per l'esecuzione di tale codice.
+ La modalità di rete da utilizzare per i container nella tua attività.

  La modalità di rete determina il modo in cui l'attività comunica sulla rete.

  Per le attività eseguite su istanze EC2 e istanze gestite da Amazon ECS, sono disponibili diverse opzioni, ma consigliamo di utilizzare la modalità di rete `awsvpc`. La modalità `awsvpc` di rete semplifica il networking in container offrendo un maggiore controllo sul modo in cui le applicazioni comunicano tra loro e con gli altri servizi all'interno dell'azienda VPCs. 

  Per le attività eseguite su Fargate, è necessario utilizzare la modalità di rete `awsvpc`.
+ La configurazione di registrazione da utilizzare per i tuoi processi.
+ Tutti i volumi di dati utilizzati con il container nell'attività.

Per un elenco completo dei parametri per la definizione di attività, consulta [Parametri di definizione di attività Amazon ECS per Fargate](task_definition_parameters.md).

Utilizza le linee guida seguenti per creare le definizioni di attività:
+ Utilizza ogni famiglia di definizioni delle attività per un solo scopo aziendale.

  Se raggruppi più tipi di container delle applicazioni nella stessa definizione di attività, non puoi scalare tali container in modo indipendente. Ad esempio, un sito Web e un'API richiedono in genere modelli di scalabilità diversi. Con l'aumento del traffico, potrebbe essere necessario un numero diverso di container Web rispetto a quelli API. Se questi due container vengono implementati nella stessa definizione di attività, ogni attività esegue lo stesso numero di container Web e container API.
+ Associa ogni versione dell'applicazione a una revisione della definizione di attività all'interno di una famiglia di definizioni delle attività.

  All'interno di una famiglia di definizioni di attività, ogni revisione della definizione di attività rappresenta un' point-in-timeistantanea delle impostazioni per una particolare immagine del contenitore. È simile al modo in cui il container può essere considerato uno snapshot di tutti i componenti necessari per eseguire una particolare versione del codice dell'applicazione.

  Crea una one-to-one mappatura tra una versione del codice dell'applicazione, un tag di immagine del contenitore e una revisione della definizione dell'attività. Un tipico processo di rilascio prevede un commit git che viene trasformato in un'immagine di container con il tag SHA del commit git. Quindi, il tag dell'immagine di container riceve la propria revisione della definizione di attività di Amazon ECS. Infine, il servizio Amazon ECS viene aggiornato implementare la nuova revisione della definizione di attività.
+ Utilizza ruoli IAM diversi per ogni famiglia di definizione delle attività.

  Definisci ogni definizione delle attività con il proprio ruolo IAM. Implementa questa pratica fornendo a ogni componente aziendale la propria famiglia di definizione delle attività. Implementando entrambe queste best practice, puoi limitare l'accesso di ciascun servizio alle risorse del tuo AWS account. Ad esempio, puoi concedere al servizio di autenticazione l'accesso per connettersi al database delle password. Allo stesso tempo, puoi garantire l'accesso alle informazioni di pagamento con carta di credito soltanto al servizio.

# Best practice per le dimensioni delle attività di Amazon ECS
<a name="capacity-tasksize"></a>

 Le dimensioni dei container e delle attività sono entrambe essenziali per la scalabilità e la pianificazione della capacità. In Amazon ECS, CPU e memoria sono due parametri di risorse utilizzati per determinare la capacità. La CPU viene misurata in unità di 1/1024 di una vCPU completa (dove 1024 unità equivalgono a 1 vCPU intera). La memoria viene misurata in mebibyte. Nella definizione dell'attività, è possibile configurare le prenotazioni e i limiti delle risorse.

Quando configuri una prenotazione, stai impostando la quantità minima di risorse richiesta da un'attività. L'attività riceve almeno la quantità di risorse richieste. L'applicazione potrebbe essere in grado di utilizzare più CPU o memoria rispetto alla prenotazione dichiarata. Tuttavia, ciò è soggetto ai limiti che hai dichiarato. L'utilizzo di un importo superiore a quello della prenotazione è noto come bursting. In Amazon ECS, le prenotazioni sono garantite. Ad esempio, se utilizzi istanze Amazon EC2 per fornire capacità, Amazon ECS non colloca un'attività su un'istanza in cui la prenotazione non può essere soddisfatta.

Un limite è la quantità massima di unità CPU o memoria che il container o l'attività può utilizzare. Qualsiasi tentativo di utilizzare una quantità di CPU superiore a questo limite comporta una limitazione (della larghezza di banda della rete). Qualsiasi tentativo di utilizzare più memoria comporta l'interruzione del container.

Scegliere questi valori può essere complesso. Questo perché i valori più adatti all'applicazione dipendono in larga misura dai requisiti di risorse della stessa. Il test di carico dell'applicazione è la chiave per una corretta pianificazione del fabbisogno di risorse e una migliore comprensione dei requisiti dell'applicazione.

## Applicazioni senza stato
<a name="capacity-tasksize-stateless"></a>

Per le applicazioni senza stato con scalabilità orizzontale, ad esempio un'applicazione con sistema di bilanciatore del carico, consigliamo innanzitutto di determinare la quantità di memoria che l'applicazione consuma per soddisfare le richieste. A tale scopo, puoi utilizzare strumenti tradizionali come `ps` or o `top` soluzioni di monitoraggio come CloudWatch Container Insights.

Quando si stabilisce una prenotazione della CPU, bisogna tenere in considerazione come scalare l'applicazione per soddisfare i requisiti aziendali. È possibile utilizzare riserve di CPU più piccole, ad esempio 256 unità CPU (o 1/4 vCPU), per aumentare orizzontalmente in modo da ridurre al minimo i costi. Tuttavia, potrebbero non scalare abbastanza velocemente per soddisfare i picchi significativi della domanda. È possibile utilizzare prenotazioni di CPU più grandi per aumentare e ridurre orizzontalmente più in fretta e quindi soddisfare più rapidamente i picchi di domanda. Tuttavia, le prenotazioni di CPU più grandi sono più costose.

## Altre applicazioni
<a name="capacity-tasksize-other"></a>

Per le applicazioni che non sono scalabili orizzontalmente, come worker singleton o server di database, la capacità e i costi disponibili rappresentano gli aspetti più importanti da considerare. È consigliabile scegliere la quantità di memoria e CPU in base a ciò che i test di carico indicano necessario per servire il traffico in modo da raggiungere l'obiettivo del livello di servizio. Amazon ECS garantisce che l'applicazione sia collocata su un host con una capacità adeguata.

# Rete di attività di Amazon ECS per istanze gestite Amazon ECS
<a name="managed-instance-networking"></a>

Il comportamento della rete dei processi Amazon ECS eseguiti sulle istanze gestite da Amazon ECS è determinato dalla *modalità di rete* specificata nella definizione di processo. È necessario specificare la modalità di rete nella definizione dell'attività. Non sarai in grado di eseguire attività sulle istanze gestite da Amazon ECS utilizzando una definizione di attività che non specifica una modalità di rete. Istanze gestite da Amazon ECS supporta le seguenti modalità di rete, garantendo la compatibilità con le versioni precedenti per la migrazione dei carichi di lavoro da Fargate o Amazon ECS su Amazon EC2:


| Modalità di rete | Description | 
| --- | --- | 
|  `awsvpc`  |  Ogni attività riceve la propria interfaccia di rete elastica (ENI) e un indirizzo IPv4 privato. Ciò fornisce le stesse proprietà di rete delle istanze Amazon EC2 ed è compatibile con le attività Fargate tradizionali. Utilizza il trunking ENI per un'elevata densità di attività.  | 
|  `host`  |  Le attività condividono direttamente il namespace di rete dell'host. La rete di container è legata all'istanza host sottostante.  | 

## Utilizzo di un VPC in IPv6 modalità -only
<a name="managed-instances-networking-ipv6-only"></a>

In una configurazione IPv6 solo, le attività di Amazon ECS comunicano esclusivamente tramite. IPv6 Per configurare VPCs sottoreti per una configurazione IPv6 solo, è necessario aggiungere un blocco IPv6 CIDR al VPC e creare sottoreti che includano solo un blocco CIDR. IPv6 Per ulteriori informazioni, consulta [Aggiungi IPv6 supporto per il tuo VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) e [crea una sottorete](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) nella Amazon *VPC* User Guide. È inoltre necessario aggiornare le tabelle di routing con le IPv6 destinazioni e configurare i gruppi di sicurezza con regole. IPv6 Per ulteriori informazioni, consultare [Configure route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) e [Configure security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) nella *Guida per l'utente di Amazon VPC*.

Tieni presente le seguenti considerazioni:
+ Puoi aggiornare un servizio Amazon ECS IPv4 -only o dualstack a IPv6 una configurazione -only aggiornando il servizio direttamente per IPv6 utilizzare sottoreti -only o creando un servizio IPv6 solo parallelo e utilizzando le distribuzioni blu-verdi di Amazon ECS per spostare il traffico verso il nuovo servizio. Per ulteriori informazioni sulle implementazioni blu/verdi di Amazon ECS, consultare [Implementazioni Amazon ECS blue/green](deployment-type-blue-green.md).
+ Un servizio IPv6 solo Amazon ECS deve utilizzare sistemi di bilanciamento del carico dualstack con gruppi target. IPv6 Se si sta migrando un servizio di Amazon ECS esistente basato su un Application Load Balancer o un Network Load Balancer, è possibile creare un nuovo sistema di bilanciatore del carico dualstack e spostare il traffico dal vecchio bilanciatore del carico, o aggiornare il tipo di indirizzo IP del bilanciatore del carico esistente.

   Per ulteriori informazioni sui Network Load Balancer, consultare [Create a Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) e [Update the IP address types for your Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) nella *Guida per l'utente di Network Load Balancer*. Per ulteriori informazioni su Application Load Balancer, consultare [Create an Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) e [Update the IP address types for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) nella *Guida per l'utente di Application Load Balancer*.
+ Per le attività di Amazon ECS in una configurazione IPv6 -only per comunicare IPv4 solo con endpoint, puoi configurare DNS64 e tradurre gli indirizzi NAT64 di rete da a. IPv6 IPv4 Per ulteriori informazioni, consulta [DNS64 e NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) consulta la *Amazon VPC User Guide*.
+ I carichi di lavoro Amazon ECS in una configurazione IPv6 solo devono utilizzare gli endpoint URI dell'immagine dualstack di Amazon ECR quando estraggono immagini da Amazon ECR. Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
**Nota**  
Amazon ECR non supporta gli endpoint VPC con interfaccia dualstack utilizzabili dalle attività in una sola configurazione. IPv6 Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
+ Amazon ECS Exec non è supportato in una configurazione di IPv6 sola configurazione.

# Assegna un'interfaccia di rete per le attività sulle istanze gestite da Amazon ECS
<a name="managed-instances-awsvpc-mode"></a>

 L'uso della modalità di `awsvpc` rete in Amazon ECS Managed Instances semplifica la rete di container perché hai un maggiore controllo sul modo in cui le tue applicazioni comunicano tra loro e con gli altri servizi all'interno del tuo. VPCs La modalità di rete `awsvpc` fornisce inoltre una maggiore sicurezza per i container in quanto permette di utilizzare i gruppi di sicurezza e gli strumenti di monitoraggio di rete a un livello più granulare all'interno dei processi.

Per impostazione predefinita, ogni istanza di Istanze gestite da Amazon ECS ha un trunk interfaccia di rete elastica (ENI) collegato durante il lancio come ENI principale quando il tipo di istanza supporta il trunking. Per ulteriori informazioni sui tipi di istanza che supportano il trunking ENI, consulta [Supported instances for increased Amazon ECS container network interfaces](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/eni-trunking-supported-instance-types.html).

**Nota**  
Quando il tipo di istanza scelto non supporta il trunk ENIs, l'istanza verrà avviata con un normale ENI.

Ogni attività eseguita sull'istanza riceve il proprio ENI collegato al trunk ENI, con un indirizzo IP privato principale. Se il tuo VPC è configurato per la modalità dual-stack e utilizzi una sottorete con un blocco IPv6 CIDR, anche l'ENI riceve un indirizzo. IPv6 Quando utilizzi una sottorete pubblica, puoi facoltativamente assegnare un indirizzo IP pubblico all'ENI primario di Amazon ECS Managed Instance abilitando l'indirizzamento IPv4 pubblico per la sottorete. Per ulteriori informazioni, consultare [Modify the IP addressing attributes of your subnet](https://docs.aws.amazon.com//vpc/latest/userguide/subnet-public-ip.html) nella *Guida per l'utente di Amazon VPC*. Un'attività può avere una sola ENI associata in un determinato momento. 

 I container che appartengono alla stessa attività possono comunicare tramite l'interfaccia `localhost`. *Per ulteriori informazioni sulle sottoreti VPCs e sulle sottoreti, consulta Come [funziona Amazon VPC nella Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html) User Guide*

Le seguenti operazioni utilizzano l'ENI primario collegato all'istanza:
+ **Download delle immagini**: le immagini dei container vengono scaricate da Amazon ECR tramite l'ENI principale.
+ **Recupero dei segreti**: i segreti e le altre credenziali di Secrets Manager vengono recuperati tramite l'ENI primario.
+ **Caricamenti dei log**: i log vengono caricati tramite l'ENI principale. CloudWatch
+ **Download dei file di ambiente**: i file di ambiente vengono scaricati tramite l'ENI principale.

Il traffico delle applicazioni fluisce attraverso l'attività ENI.

Poiché ogni attività ottiene la sua ENI, puoi utilizzare funzioni di rete, come i log di flusso VPC, per monitorare il traffico da e verso le tue attività. Per ulteriori informazioni, consulta [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) nella *Guida per l’utente di Amazon VPC*.

Puoi anche approfittare di. AWS PrivateLink Puoi configurare un endpoint di interfaccia VPC in modo da poter accedere ad Amazon ECS APIs tramite indirizzi IP privati. AWS PrivateLink limita tutto il traffico di rete tra il tuo VPC e Amazon ECS alla rete Amazon. Non è richiesto un gateway Internet, un dispositivo NAT o un gateway privato virtuale. Per ulteriori informazioni, consultare [Amazon ECS interface VPC endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html).

La modalità di `awsvpc` rete consente inoltre di sfruttare Amazon VPC Traffic Mirroring per la sicurezza e il monitoraggio del traffico di rete quando si utilizzano tipi di istanze senza trunk collegato. ENIs Per ulteriori informazioni, consultare [What is Traffic Mirroring?](https://docs.aws.amazon.com/vpc/latest/mirroring/what-is-traffic-mirroring.html) nella *Guida di Mirroring del traffico Amazon VPC*.

## Considerazioni per la modalità `awsvpc`
<a name="managed-instances-awsvpc-considerations"></a>
+ Le attività richiedono il ruolo collegato ai servizi Amazon ECS per la gestione ENI. Questo ruolo viene creato automaticamente quando crei un cluster o un servizio.
+  ENIs Le attività sono gestite da Amazon ECS e non possono essere scollegate o modificate manualmente.
+ L'assegnazione di un indirizzo IP pubblico all'attività ENI utilizzando `assignPublicIp` durante l'esecuzione di un'attività autonoma (`RunTask`) o la creazione o l'aggiornamento di un servizio (`CreateService`/`UpdateService`) non è supportata.
+ Quando configuri la rete `awsvpc` a livello di attività, devi utilizzare lo stesso VPC specificato come parte del modello di lancio del provider di capacità di Istanze gestite da Amazon ECS. Puoi utilizzare sottoreti e gruppi di sicurezza diversi da quelli specificati nel modello di lancio.
+ Per le attività nella modalità di rete `awsvpc`, utilizzare il tipo di destinazione `ip` durante la configurazione dei gruppi di destinazione del bilanciatore del carico. Amazon ECS gestisce automaticamente la registrazione del gruppo target per le modalità di rete supportate.

## Utilizzo di un VPC in modalità dual-stack
<a name="managed-instance-networking-vpc-dual-stack"></a>

Quando si utilizza un VPC in modalità dual-stack, le attività possono comunicare più IPv4 o meno entrambe. IPv6 IPv4 e IPv6 gli indirizzi sono indipendenti l'uno dall'altro. Pertanto è necessario configurare il routing e la sicurezza nel VPC separatamente IPv4 per e. IPv6 *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Migrating to nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Amazon VPC User IPv6 Guide.*

Se hai configurato il tuo VPC con un gateway Internet o un gateway Internet solo in uscita, puoi utilizzare il VPC in modalità dual-stack. In questo modo, le attività a cui viene assegnato un IPv6 indirizzo possono accedere a Internet tramite un gateway Internet o un gateway Internet solo in uscita. I gateway NAT sono opzionali. Per ulteriori informazioni, consulta [Gateway Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) e [Gateway Internet egress-only](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html) nella *Guida per l'utente di Amazon VPC*.

Alle attività di Amazon ECS viene assegnato un IPv6 indirizzo se vengono soddisfatte le seguenti condizioni:
+ L'istanza di Istanze gestite da Amazon ECS che ospita l'attività sta usando la versione `1.45.0` o successiva dell'agente del container. Per informazioni sul controllo della versione dell'agente utilizzata dall'istanza e sull'aggiornamento, se necessario, consulta [Aggiornamento dell'agente del container Amazon ECS](ecs-agent-update.md).
+ L'impostazione dell'account `dualStackIPv6` è abilitata. Per ulteriori informazioni, consulta [Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account](ecs-account-settings.md).
+ Il tuo processo sta usando la modalità di rete `awsvpc`.
+ Il VPC e la sottorete sono configurati per. IPv6 La configurazione include le interfacce di rete create nella sottorete specificata. *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Migrazione IPv6 e modifica dell'attributo di IPv6 indirizzamento per](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) [la tua sottorete nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-ipv6) Amazon VPC User Guide.*

# Modalità di rete host
<a name="managed-instances-host-modes"></a>

Nella modalità `host`, le attività condividono direttamente il namespace di rete dell'host. La configurazione di rete del container è legata all'istanza host di Istanze gestite da Amazon ECS sottostante che si specifica utilizzando il parametro `networkConfiguration` quando si crea un provider di capacità istanze gestite da Amazon ECS.``

L'utilizzo di questa modalità di rete presenta notevoli svantaggi. È possibile creare solo una singola istanza di un'attività su ciascun host, dal momento che solo la prima attività può essere associata alla porta richiesta sull'istanza Amazon EC2. Inoltre, non è possibile rimappare una porta del container quando si utilizza la modalità di rete `host`. Ad esempio, se un'applicazione deve essere in ascolto su un determinato numero di porta, non è possibile rimappare direttamente il numero di porta. È invece necessario gestire eventuali conflitti di porte modificando la configurazione dell'applicazione.

L'utilizzo della modalità di rete `host` comporta anche implicazioni in termini di sicurezza. Questa modalità consente ai container di impersonare l'host e di connettersi ai servizi di rete loopback privati sull'host.

Utilizza la modalità host solo quando è necessario l'accesso diretto alla rete host o durante la migrazione di applicazioni che richiedono l'accesso alla rete a livello di host.

# Opzioni di rete di attività di Amazon ECS per EC2
<a name="task-networking"></a>

Il comportamento della rete delle attività Amazon ECS ospitate su istanze Amazon EC2 dipende dalla *modalità di rete* definita nella definizione di attività. Si consiglia di utilizzare la modalità di rete `awsvpc` a meno che non sia necessario utilizzare una modalità di rete diversa.

Di seguito sono riportate le modalità di rete disponibili.


| Modalità di rete | Container Linux su EC2 | Container Windows su EC2 | Description | 
| --- | --- | --- | --- | 
|  `awsvpc`  |  Sì   |  Sì  |  All'attività viene assegnata la propria interfaccia di rete elastica (ENI) e un indirizzo IPv4 o IPv6 privato primario. Ciò conferisce al processo le stesse proprietà di rete delle istanze Amazon EC2.  | 
|  `bridge`  |  Sì  |  No  |  L'attività utilizza la rete virtuale integrata di Docker su Linux che viene eseguita all'interno di ogni istanza Amazon EC2 che ospita l'attività. La rete virtuale integrata su Linux utilizza il driver di rete `bridge` Docker. Questa è la modalità di rete predefinita su Linux se non viene specificata una modalità di rete nella definizione di attività.  | 
|  `host`  |  Sì  |  No  |  L'attività utilizza la rete dell'host che ignora la rete virtuale integrata di Docker e mappa le porte del container direttamente all'interfaccia di rete elastica (ENI) dell'istanza Amazon EC2 che ospita l'attività. Le mappature dinamiche delle porte non possono essere utilizzate in questa modalità di rete. Un container in una definizione di attività che utilizza questa modalità deve specificare un numero di `hostPort` specifico. Un numero di porta su un host non può essere utilizzato da più attività. Di conseguenza, non sarà possibile eseguire più attività con la stessa definizione di attività su una singola istanza Amazon EC2.  | 
|  `none`  |  Sì  |  No  |  L'attività non dispone di connettività di rete esterna.  | 
|  `default`  |  No  |  Sì  |  L'attività utilizza la rete virtuale integrata di Docker che viene eseguita all'interno di ogni istanza Amazon EC2 che ospita l'attività. La rete virtuale integrata su Windows utilizza il driver di rete `nat` Docker. Questa è la modalità di rete predefinita su Windows se non viene specificata una modalità di rete nella definizione di attività.  | 

Per ulteriori informazioni sulla rete Docker su Linux, consultare [Networking overview](https://docs.docker.com/engine/network/) nella *documentazione di Docker*.

Per ulteriori informazioni sulla rete Docker su Windows, consultare [Windows container networking](https://learn.microsoft.com/en-us/virtualization/windowscontainers/container-networking/architecture) nella *documentazione di Microsoft Containers* su Windows.

## Utilizzo di un VPC in IPv6 modalità -only
<a name="networking-ipv6-only"></a>

In una configurazione IPv6 solo, le attività di Amazon ECS comunicano esclusivamente tramite. IPv6 Per configurare VPCs e creare sottoreti per una configurazione IPv6 solo, è necessario aggiungere un blocco IPv6 CIDR al VPC e creare nuove sottoreti che includano solo un blocco CIDR. IPv6 Per ulteriori informazioni, consulta [Aggiungi IPv6 supporto per il tuo VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) e [crea una sottorete](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) nella Amazon *VPC* User Guide.

È inoltre necessario aggiornare le tabelle di routing con le IPv6 destinazioni e configurare i gruppi di sicurezza con regole. IPv6 Per ulteriori informazioni, consultare [Configure route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) e [Configure security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) nella *Guida per l'utente di Amazon VPC*.

Tieni presente le seguenti considerazioni:
+ Puoi aggiornare un servizio Amazon ECS IPv4 -only o dualstack a IPv6 una configurazione -only aggiornando il servizio direttamente per IPv6 utilizzare sottoreti -only o creando un servizio IPv6 solo parallelo e utilizzando le distribuzioni blu-verdi di Amazon ECS per spostare il traffico verso il nuovo servizio. Per ulteriori informazioni sulle implementazioni blu/verdi di Amazon ECS, consultare [Implementazioni Amazon ECS blue/green](deployment-type-blue-green.md).
+ Un servizio IPv6 solo Amazon ECS deve utilizzare sistemi di bilanciamento del carico dualstack con gruppi target. IPv6 Se si sta migrando un servizio di Amazon ECS esistente basato su un Application Load Balancer o un Network Load Balancer, è possibile creare un nuovo sistema di bilanciatore del carico dualstack e spostare il traffico dal vecchio bilanciatore del carico, o aggiornare il tipo di indirizzo IP del bilanciatore del carico esistente.

  Per ulteriori informazioni sui Network Load Balancer, consultare [Create a Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) e [Update the IP address types for your Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) nella *Guida per l'utente di Network Load Balancer*. Per ulteriori informazioni su Application Load Balancer, consultare [Create an Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) e [Update the IP address types for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) nella *Guida per l'utente di Application Load Balancer*.
+ IPv6La configurazione -only non è supportata su. Windows È necessario utilizzare Linux ottimizzato per Amazon ECS AMIs per eseguire attività in una configurazione solo IPv6. Per ulteriori informazioni su Linux ottimizzato per Amazon ECS AMIs, consulta. [Linux ottimizzato per Amazon ECS AMIs](ecs-optimized_AMI.md)
+ Quando avvii un'istanza di contenitore per eseguire attività in una configurazione IPv6 -only, devi impostare un IPv6 indirizzo primario per l'istanza utilizzando il `--enable-primary-ipv6` parametro EC2.
**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 ulteriori informazioni su `--enable-primary-ipv6` per eseguire le istanze di Amazon EC2, consultare [run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) in *Riferimento ai comandi di AWS CLI *.

  Per ulteriori informazioni sull'avvio di istanze di container utilizzando il, vedere. Console di gestione AWS[Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md)
+ 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`.
+ Le attività devono utilizzare la versione `1.99.1` o successiva dell'agente del container.. Per informazioni sul controllo della versione dell'agente utilizzata dall'istanza e sull'aggiornamento, se necessario, consultare [Aggiornamento dell'agente del container Amazon ECS](ecs-agent-update.md).
+ Per le attività di Amazon ECS in una configurazione IPv6 -only per comunicare IPv4 solo con endpoint, puoi configurare DNS64 e tradurre gli indirizzi NAT64 di rete da a. IPv6 IPv4 Per ulteriori informazioni, consulta [DNS64 e NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) consulta la *Amazon VPC User Guide*.
+ I carichi di lavoro Amazon ECS in una configurazione IPv6 solo devono utilizzare gli endpoint URI dell'immagine dualstack di Amazon ECR quando estraggono immagini da Amazon ECR. Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
**Nota**  
Amazon ECR non supporta gli endpoint VPC con interfaccia dualstack utilizzabili dalle attività in una sola configurazione. IPv6 Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
+ Amazon ECS Exec non è supportato in una configurazione di IPv6 sola configurazione.

### Regioni AWS che supporta la modalità IPv6 solo per Amazon ECS
<a name="networking-ipv6-only-regions"></a>

Puoi eseguire attività in una configurazione IPv6 solo nelle seguenti AWS regioni in cui Amazon ECS è disponibile:
+ Stati Uniti orientali (Ohio)
+ Stati Uniti orientali (Virginia settentrionale)
+ Stati Uniti occidentali (California settentrionale)
+ Stati Uniti occidentali (Oregon)
+ Africa (Città del Capo)
+ Asia Pacifico (Hong Kong)
+ Asia Pacific (Hyderabad)
+ Asia Pacifico (Giacarta)
+ Asia Pacifico (Melbourne)
+ Asia Pacifico (Mumbai)
+ Asia Pacifico (Osaka)
+ Asia Pacifico (Seoul)
+ Asia Pacifico (Singapore)
+ Asia Pacifico (Sydney)
+ Asia Pacifico (Tokyo)
+ Canada (Centrale)
+ Canada occidentale (Calgary)
+ Cina (Pechino)
+ Cina (Ningxia)
+ Europa (Francoforte)
+ Europa (Londra)
+ Europa (Milano)
+ Europa (Parigi)
+ Europa (Spagna)
+ Israele (Tel Aviv)
+ Medio Oriente (Bahrein)
+ Medio Oriente (Emirati Arabi Uniti)
+ Sud America (San Paolo)
+ AWS GovCloud (Stati Uniti orientali)
+ AWS GovCloud (Stati Uniti occidentali)

# Assegna un'interfaccia di rete per un'attività su Amazon ECS
<a name="task-networking-awsvpc"></a>

Le funzionalità di rete delle attività fornite dalla modalità di rete `awsvpc` forniscono alle attività Amazon ECS le stesse proprietà di rete delle istanze Amazon EC2. L'utilizzo della modalità `awsvpc` di rete semplifica il networking in container, poiché avete un maggiore controllo sul modo in cui le applicazioni comunicano tra loro e con gli altri servizi al vostro interno. VPCs La modalità di rete `awsvpc` fornisce inoltre una maggiore sicurezza per i container in quanto permette di utilizzare i gruppi di sicurezza e gli strumenti di monitoraggio di rete a un livello più granulare all'interno dei processi. È possibile anche utilizzare altre funzionalità di rete di Amazon EC2, come i log dei flussi VPC, per monitorare il traffico da e verso le attività. Inoltre, i container che appartengono alla stessa attività possono comunicare tramite l'interfaccia `localhost`.

L'interfaccia di rete elastica (ENI) dell'attività è una funzionalità completamente gestita di Amazon ECS. Amazon ECS crea l'ENI e la collega all'istanza Amazon EC2 dell'host con il gruppo di sicurezza specificato. Il processo invia e riceve il traffico di rete nell'ENI nello stesso modo con cui le istanze Amazon EC2 gestiscono le interfacce di rete primarie. Per impostazione predefinita, a ciascuna attività ENI viene assegnato un IPv4 indirizzo privato. Se il tuo VPC è abilitato per la modalità dual-stack e utilizzi una sottorete con un blocco IPv6 CIDR, anche l'attività ENI riceverà un indirizzo. IPv6 Ogni processo può avere una sola ENI. 

Queste ENI sono visibili nella console Amazon EC2 per l'account. Il tuo account non può scollegare o modificare il. ENIs Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Puoi visualizzare le informazioni sugli allegati ENI per le attività nella console Amazon ECS o con il funzionamento dell'[DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)API. Quando l'attività viene interrotta o se il servizio viene ridotto, l'ENI dell'attività viene scollegata ed eliminata.

Quando è necessaria una maggiore densità ENI, utilizzare le impostazioni dell'account `awsvpcTrunking`. Inoltre, Amazon ECS crea e collega un'interfaccia di rete “trunk” per l'istanza di container. La rete trunk è completamente gestita da Amazon ECS. L'ENI trunk viene eliminata quando termini o annulli la registrazione dell'istanza di container dal cluster Amazon ECS. Per ulteriori informazioni sulle impostazioni dell'account `awsvpcTrunking`, consultare [Prerequisiti](container-instance-eni.md#eni-trunking-launching).

Specificare `awsvpc` nel parametro `networkMode` della definizione dell'attività. Per ulteriori informazioni, consulta [Modalità di rete](task_definition_parameters.md#network_mode). 

Pertanto, quando si esegue un'attività o si crea un servizio, utilizzare un parametro `networkConfiguration` che include una o più sottoreti in cui inserire le attività e uno o più gruppi di sicurezza da collegare all'ENI. Per ulteriori informazioni, consulta [Configurazione della rete](service_definition_parameters.md#sd-networkconfiguration). Le attività vengono posizionate nelle istanze Amazon EC2 compatibili nelle stesse zone di disponibilità delle sottoreti e i gruppi di sicurezza specificati vengono associati all'ENI assegnata all'attività.

## Considerazioni per Linux
<a name="linux"></a>

 Tieni in considerazione le informazioni seguenti durante l'utilizzo del sistema operativo Linux.
+ Se si utilizza un'istanza p5.48xlarge in modalità `awsvpc`, non è possibile eseguire più di un'attività sull'istanza.
+ Le attività e i servizi che utilizzano la modalità di `awsvpc` rete richiedono il ruolo collegato ai servizi Amazon ECS per fornire 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
  ```
+ L'istanza Linux di Amazon EC2 richiede la versione `1.15.0` o successiva dell'agente del container per eseguire processi che utilizzano la modalità di rete `awsvpc`. Se utilizzi l'AMI ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione `1.15.0-4` del pacchetto `ecs-init`.
+ Amazon ECS popola il nome host del processo con un nome host DNS (interno) fornito da Amazon quando entrambe le opzioni `enableDnsHostnames` e `enableDnsSupport` e sono abilitate nel VPC. Se queste opzioni non sono abilitate, il nome host DNS dell'attività è impostato su un nome host casuale. Per ulteriori informazioni sulle impostazioni DNS per un VPC, consulta [Utilizzo del DNS con il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) nella *Guida per l'utente di Amazon VPC*.
+ Ogni processo Amazon ECS che utilizza la modalità di rete `awsvpc` riceve la propria interfaccia di rete elastica (ENI), che è collegata all'istanza Amazon EC2 che la ospita. Esiste una quota predefinita per il numero di interfacce di rete che possono essere collegate a un'istanza Linux di Amazon EC2. L'interfaccia di rete principale viene calcolata come unica rispetto a quella quota. Ad esempio, per impostazione predefinita, è possibile allegare solo fino a tre `c5.large` ENIs istanze. L'interfaccia di rete principale per l'istanza viene calcolata come unica. È possibile allegarne 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. Per ulteriori informazioni sui limiti ENI predefiniti per ogni tipo di istanza, consultare [IP addresses per network interface per instance type](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI) nella *Guida per l'utente di Amazon EC2*.
+ Amazon ECS supporta l'avvio di istanze Linux di Amazon EC2 che utilizzano tipi di istanze supportati con densità ENI aumentata. Quando decidi di attivare l'impostazione dell'account `awsvpcTrunking` e registri le istanze Linux di Amazon EC2 che utilizzano questi tipi di istanza nel cluster, queste istanze hanno limiti ENI più elevati. L'utilizzo di queste istanze con questa quota più elevata significa che puoi eseguire più attività su ciascuna istanza Linux di Amazon EC2. Per utilizzare la densità ENI aumentata con la funzionalità di trunking, le istanze Amazon EC2 devono utilizzare la versione `1.28.1` o successiva dell'agente del container. Se utilizzi l'AMI ottimizzata per Amazon ECS, l'istanza deve disporre almeno della versione `1.28.1-2` del pacchetto `ecs-init`. Per ulteriori informazioni sul consenso esplicito all'impostazione dell'account `awsvpcTrunking`, consulta [Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account](ecs-account-settings.md). Per ulteriori informazioni su trunking dell'ENI, consulta [Aumento delle interfacce di rete delle istanze di container Linux di Amazon ECS](container-instance-eni.md).
+ Quando si ospitano attività che utilizzano la modalità di `awsvpc` rete su istanze Amazon EC2 Linux, alle attività ENIs non vengono assegnati indirizzi IP pubblici. Per accedere a Internet, le attività devono essere avviate in una sottorete privata configurata per l'utilizzo di un gateway NAT. Per ulteriori informazioni, consulta [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) nella *Guida per l’utente di Amazon VPC*. L'accesso di rete in entrata deve avvenire all'interno di un VPC che utilizza l'indirizzo IP privato oppure deve essere instradato attraverso un load balancer dall'interno del VPC. Le attività avviate all'interno di sottoreti pubbliche non hanno accesso a Internet.
+ Amazon ECS riconosce solo le ENI che collega alle istanze Linux di Amazon EC2. Se ti colleghi manualmente ENIs alle tue istanze, Amazon ECS potrebbe tentare di aggiungere un'attività a un'istanza che non dispone di adattatori di rete sufficienti. Ciò può comportare il timeout dell'attività e il passaggio a uno stato di deprovisioning e quindi allo stato di arresto. Ti consigliamo di non collegarti manualmente ENIs alle tue istanze.
+ Le istanze Linux di Amazon EC2 devono essere registrate con la funzionalità `ecs.capability.task-eni` per essere considerate per il posizionamento di processi con la modalità di rete `awsvpc`. Le istanze che eseguono la versione `1.15.0-4` o successiva di `ecs-init` vengono registrate automaticamente con questo attributo.
+ Le ENI che vengono create e collegate alle tue istanze Linux di Amazon EC2 non possono essere scollegate manualmente o modificate dall'account. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Per rilasciare il comando ENIs for a task, interrompete l'operazione.
+ È possibile specificare solo 16 sottoreti e 5 gruppi di sicurezza in `awsVpcConfiguration` durante l'esecuzione di un'attività o la creazione di un servizio che utilizza la modalità di rete `awsvpc`. Per ulteriori informazioni, consulta il *riferimento [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)all'API di Amazon Elastic Container Service*.
+ Quando un processo viene avviato con la modalità di rete `awsvpc`, l'agente del container di Amazon ECS crea un container `pause` aggiuntivo per ciascun processo prima di avviare i container nella definizione di attività. Quindi configura lo spazio dei nomi di rete del `pause` contenitore eseguendo i plugin CNI. [amazon-ecs-cni-plugins ](https://github.com/aws/amazon-ecs-cni-plugins) Quindi l'agente avvia il resto dei container nell'attività in modo che condividano lo stack di rete del container `pause`. Questo significa che tutti i container in un'attività sono indirizzabili tramite gli indirizzi IP dell'ENI e che possono comunicare tra loro sull'interfaccia `localhost`.
+ I servizi con attività che utilizzano la modalità di rete `awsvpc` supportano solo Application Load Balancer e Network Load Balancer. Inoltre, quando crei gruppi target per questi servizi, devi scegliere `ip` come tipo di target. Non usare `instance`. Questo perché i processi che utilizzano la modalità di rete `awsvpc` sono associate a un'ENI e non a un'istanza Linux di Amazon EC2. Per ulteriori informazioni, consulta [Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS](service-load-balancing.md).
+ Se il VPC viene aggiornato per modificare le opzioni DHCP utilizzate, non puoi applicare queste modifiche alle attività esistenti. Avvia nuove attività con queste modifiche applicate, verifica che funzionino correttamente e quindi interrompi le attività esistenti per modificare in modo sicuro queste configurazioni di rete.

## Considerazioni per Windows
<a name="windows"></a>

 Le seguenti considerazioni sono relative all'utilizzo del sistema operativo Windows:
+ Le istanze di container che utilizzano l'AMI Windows Server 2016 ottimizzata per Amazon ECS non possono ospitare attività che utilizzano la modalità di rete `awsvpc`. Se disponi di un cluster che contiene Windows Server 2016 ottimizzato per Amazon ECS AMIs e Windows AMIs che supporta la modalità di `awsvpc` rete, le attività che utilizzano la modalità di `awsvpc` rete non vengono avviate sulle istanze di Windows 2016 Server. Piuttosto, vengono avviati su istanze che supportano le modalità di rete `awsvpc`.
+ L'istanza Windows di Amazon EC2 richiede una versione `1.57.1` o successiva dell'agente contenitore per utilizzare i CloudWatch parametri per i contenitori Windows che utilizzano la `awsvpc` modalità di rete.
+ Le attività e i servizi che utilizzano la modalità di `awsvpc` rete richiedono il ruolo collegato ai servizi Amazon ECS per fornire 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
  ```
+ L'istanza Windows di Amazon EC2 richiede la versione `1.54.0` o successiva dell'agente del container per eseguire processi che utilizzano la modalità di rete `awsvpc`. Quando avvii l'istanza, devi configurare le opzioni necessarie per la modalità di rete `awsvpc`. Per ulteriori informazioni, consulta [Bootstrap di istanze di container Windows Amazon ECS per il trasferimento dei dati](bootstrap_windows_container_instance.md).
+ Amazon ECS popola il nome host dell'attività con un nome host DNS (interno) fornito da Amazon quando entrambe le opzioni `enableDnsHostnames` e `enableDnsSupport` sono abilitate nel VPC. Se queste opzioni non sono abilitate, il nome host DNS dell'attività sarà un nome host casuale. Per ulteriori informazioni sulle impostazioni DNS per un VPC, consulta [Utilizzo del DNS con il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) nella *Guida per l'utente di Amazon VPC*.
+ Ogni processo Amazon ECS che utilizza la modalità di rete `awsvpc` riceve la propria interfaccia di rete elastica (ENI), che è collegata all'istanza Windows di Amazon EC2 che la ospita. Esiste una quota predefinita per il numero di interfacce di rete che possono essere collegate a un'istanza Windows di Amazon EC2. L'interfaccia di rete principale viene calcolata come unica rispetto a questa quota. Ad esempio, per impostazione predefinita, a un'`c5.large`istanza possono essere ENIs associate solo fino a tre istanze. L'interfaccia di rete principale per l'istanza viene calcolata come una di quelle. È possibile allegarne 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. Per ulteriori informazioni sui limiti ENI predefiniti per ogni tipo di istanza, consultare [IP addresses per network interface per instance type](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/using-eni.html#AvailableIpPerENI) nella *Guida per l'utente di Amazon EC2*.
+ Quando si ospitano attività che utilizzano la modalità di `awsvpc` rete su istanze Windows di Amazon EC2, alle attività ENIs non vengono assegnati indirizzi IP pubblici. Per accedere a Internet, avvia le attività in una sottorete privata configurata per l'utilizzo di un gateway NAT. Per ulteriori informazioni, consulta [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) nella *Guida per l’utente di Amazon VPC*. L'accesso di rete in entrata deve avvenire all'interno del VPC utilizzando l'indirizzo IP privato oppure deve essere instradato attraverso un load balancer all'interno del VPC. Le attività avviate all'interno di sottoreti pubbliche non hanno accesso a Internet.
+ Amazon ECS tiene conto solo delle ENI che collega all'istanza Windows di Amazon EC2. Se ti colleghi manualmente ENIs alle tue istanze, Amazon ECS potrebbe tentare di aggiungere un'attività a un'istanza che non dispone di adattatori di rete sufficienti. Ciò può comportare il timeout dell'attività e il passaggio a uno stato di deprovisioning e quindi allo stato di arresto. Ti consigliamo di non collegarti manualmente ENIs alle tue istanze.
+ Le istanze Windows di Amazon EC2 devono essere registrate con la funzionalità `ecs.capability.task-eni` per essere considerate per il posizionamento di processi con la modalità di rete `awsvpc`. 
+  Non puoi modificare o scollegare manualmente le ENI che vengono create e collegate alle tue istanze Windows di Amazon EC2. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Per rilasciare il comando ENIs for a task, interrompete l'operazione.
+  Puoi specificare solo fino a 16 sottoreti e 5 gruppi di sicurezza in `awsVpcConfiguration`quando esegui un'attività o crei un servizio che utilizza la modalità di rete `awsvpc`. Per ulteriori informazioni, consulta il *riferimento [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)all'API di Amazon Elastic Container Service*.
+ Quando un processo viene avviato con la modalità di rete `awsvpc`, l'agente del container di Amazon ECS crea un container `pause` aggiuntivo per ciascun processo prima di avviare i container nella definizione di attività. Quindi configura lo spazio dei nomi di rete del `pause` contenitore eseguendo i plugin CNI. [amazon-ecs-cni-plugins ](https://github.com/aws/amazon-ecs-cni-plugins) Quindi l'agente avvia il resto dei container nell'attività in modo che condividano lo stack di rete del container `pause`. Questo significa che tutti i container in un'attività sono indirizzabili tramite gli indirizzi IP dell'ENI e che possono comunicare tra loro sull'interfaccia `localhost`.
+ I servizi con attività che utilizzano la modalità di rete `awsvpc` supportano solo Application Load Balancer e Network Load Balancer. Quando crei gruppi target per questi servizi, devi scegliere `ip` come tipo di target anziché `instance`. Questo perché i processi che utilizzano la modalità di rete `awsvpc` sono associati a un'ENI e non a un'istanza Windows di Amazon EC2. Per ulteriori informazioni, consulta [Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS](service-load-balancing.md).
+ Se il VPC viene aggiornato per modificare le opzioni DHCP utilizzate, non puoi applicare queste modifiche alle attività esistenti. Avvia nuove attività con queste modifiche applicate, verifica che funzionino correttamente e quindi interrompi le attività esistenti per modificare in modo sicuro queste configurazioni di rete.
+ Gli elementi seguenti non sono supportati quando si utilizza la modalità di rete `awsvpc` in una configurazione Windows EC2:
  + Configurazione dual-stack
  + IPv6
  + Trunking ENI

## Utilizzo di un VPC in modalità dual-stack
<a name="task-networking-vpc-dual-stack"></a>

Quando si utilizza un VPC in modalità dual-stack, le attività possono comunicare più IPv4 o meno entrambe. IPv6 IPv4 e IPv6 gli indirizzi sono indipendenti l'uno dall'altro. Pertanto è necessario configurare il routing e la sicurezza nel VPC separatamente IPv4 per e. IPv6 *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Migrating to nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Amazon VPC User IPv6 Guide.*

Se hai configurato il tuo VPC con un gateway Internet o un gateway Internet solo in uscita, puoi utilizzare il VPC in modalità dual-stack. In questo modo, le attività a cui viene assegnato un IPv6 indirizzo possono accedere a Internet tramite un gateway Internet o un gateway Internet solo in uscita. I gateway NAT sono opzionali. Per ulteriori informazioni, consulta [Gateway Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) e [Gateway Internet egress-only](https://docs.aws.amazon.com/vpc/latest/userguide/egress-only-internet-gateway.html) nella *Guida per l'utente di Amazon VPC*.

Alle attività di Amazon ECS viene assegnato un IPv6 indirizzo se vengono soddisfatte le seguenti condizioni:
+ L'istanza Linux di Amazon EC2 che ospita l'attività sta usando la versione `1.45.0` o successiva dell'agente del container. Per informazioni sul controllo della versione dell'agente utilizzata dall'istanza e sull'aggiornamento, se necessario, consulta [Aggiornamento dell'agente del container Amazon ECS](ecs-agent-update.md).
+ L'impostazione dell'account `dualStackIPv6` è abilitata. Per ulteriori informazioni, consulta [Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account](ecs-account-settings.md).
+ Il tuo processo sta usando la modalità di rete `awsvpc`.
+ Il VPC e la sottorete sono configurati per. IPv6 La configurazione include le interfacce di rete create nella sottorete specificata. *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Migrazione IPv6 e modifica dell'attributo di IPv6 indirizzamento per](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) [la tua sottorete nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html#subnet-ipv6) Amazon VPC User Guide.*

# Mappare le porte dei container di Amazon ECS all'interfaccia di rete dell'istanza EC2
<a name="networking-networkmode-host"></a>

La modalità di rete `host` è supportata solo per le attività Amazon ECS ospitate sulle istanze Amazon EC2. Non è supportata quando si utilizza Fargate con Amazon ECS.

La modalità di rete `host` è la modalità di rete più semplice supportata in Amazon ECS. Utilizzando la modalità host, la rete del container è collegata direttamente all'host sottostante che esegue il container.

![\[Diagramma che mostra l'architettura di una rete con container che utilizzano la modalità di rete host.\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/images/networkmode-host.png)


Si supponga di eseguire un container Node.js con un'applicazione Express in ascolto sulla porta `3000` simile a quella illustrata nel diagramma precedente. Quando si utilizza la modalità di rete `host`, il container riceve il traffico sulla porta 3000 utilizzando l'indirizzo IP dell'istanza Amazon EC2 dell'host sottostante. Ti consigliamo di non utilizzare questa modalità.

L'utilizzo di questa modalità di rete presenta notevoli svantaggi. È possibile creare solo una singola istanza di un'attività su ciascun host, dal momento che solo la prima attività può essere associata alla porta richiesta sull'istanza Amazon EC2. Inoltre, non è possibile rimappare una porta del container quando si utilizza la modalità di rete `host`. Ad esempio, se un'applicazione deve essere in ascolto su un determinato numero di porta, non è possibile rimappare direttamente il numero di porta. È invece necessario gestire eventuali conflitti di porte modificando la configurazione dell'applicazione.

L'utilizzo della modalità di rete `host` comporta anche implicazioni in termini di sicurezza. Questa modalità consente ai container di impersonare l'host e di connettersi ai servizi di rete loopback privati sull'host.

# Utilizzare la rete virtuale di Docker per le attività di Amazon ECS Linux
<a name="networking-networkmode-bridge"></a>

La modalità di rete `bridge` è supportata solo per le attività Amazon ECS ospitate sulle istanze Amazon EC2.

Con la modalità `bridge`, stai utilizzando un bridge di rete virtuale per creare un livello tra l'host e la rete del container. In questo modo, puoi creare mappature delle porte che rimappano una porta host su una porta container. Le mappature possono essere statiche o dinamiche.

![\[Diagramma che mostra l'architettura di una rete utilizzando la modalità di rete bridge con la mappatura statica delle porte.\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/images/networkmode-bridge.png)


Con una mappatura statica delle porte, puoi definire in modo esplicito la porta host da mappare alla porta container. Nell'esempio precedente, la porta `80` dell'host viene mappata sulla porta `3000` del container. Per comunicare con l'applicazione containerizzata, invia il traffico alla porta `80` all'indirizzo IP dell'istanza Amazon EC2. Dal punto di vista dell'applicazione containerizzata, essa rileva il traffico in entrata sulla porta `3000`.

Se vuoi modificare solo la porta del traffico, la mappatura statica rappresenta la soluzione migliore. Tuttavia, presenta lo stesso svantaggio dell'utilizzo della modalità di rete `host`. È possibile creare solo una singola istanza di un'attività su ciascun host, dal momento che la mappatura statica delle porte consente di mappare solo un solo container sulla porta 80.

Per risolvere questo problema, prendi in considerazione l'utilizzo della modalità di rete `bridge` con una mappatura dinamica delle porte, come illustrato nel diagramma seguente.

![\[Diagramma che mostra l'architettura di una rete utilizzando la modalità di rete bridge con la mappatura dinamica delle porte.\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/images/networkmode-bridge-dynamic.png)


Se non si specifica una porta host nella mappatura delle porte, Docker sceglie una porta casuale e inutilizzata dall'intervallo di porte provvisorie e la assegna come porta host pubblica per il container. Ad esempio, all'applicazione Node.js in ascolto sulla porta `3000` del container potrebbe essere assegnato un numero di porta elevato e casuale, ad esempio `47760`, sull'host Amazon EC2. In questo modo è possibile eseguire più copie del container sull'host. Inoltre, a ciascun container può essere assegnata una propria porta sull'host. Ogni copia del container riceve il traffico sulla porta `3000`. Tuttavia, i client che inviano traffico a questi container utilizzano le porte host assegnate casualmente.

Amazon ECS consente di tenere traccia delle porte assegnate casualmente per ogni attività. A tale scopo, aggiorna automaticamente i gruppi target del sistema di bilanciamento del carico e il rilevamento dei AWS Cloud Map servizi in modo da avere l'elenco degli indirizzi IP e delle porte delle attività. Ciò semplifica l'utilizzo dei servizi che operano in modalità `bridge` con porte dinamiche.

Tuttavia, uno svantaggio dell'utilizzo della modalità di rete `bridge` è la difficoltà di bloccare le comunicazioni tra servizi. Poiché i servizi possono essere assegnati a qualsiasi porta casuale e inutilizzata, è necessario aprire ampi intervalli di porte tra gli host. Tuttavia, non è semplice creare regole specifiche in modo che un determinato servizio possa comunicare solo con un altro servizio specifico. I servizi non dispongono di porte specifiche da utilizzare per le regole di rete dei gruppi di sicurezza.

## Configurazione della modalità di rete bridge per IPv6 carichi di lavoro solo
<a name="networking-networkmode-bridge-ipv6-only"></a>

Per configurare la `bridge` modalità di comunicazione IPv6, è necessario aggiornare Docker le impostazioni del demone. Aggiornare `/etc/docker/daemon.json` come segue:

```
{
  "ipv6": true,
  "fixed-cidr-v6": "2001:db8:1::/64",
  "ip6tables": true,
  "experimental": true
}
```

Dopo aver aggiornato le impostazioni del daemon Docker, sarà necessario riavviarlo.

**Nota**  
Quando aggiorni e riavvii il daemon, Docker abilita l' IPv6inoltro sull'istanza, il che può comportare la perdita delle route predefinite sulle istanze che utilizzano un'AMI Amazon Linux 2. Per evitare ciò, usa il seguente comando per aggiungere una route predefinita tramite il gateway della sottorete. IPv6   

```
ip route add default via FE80:EC2::1 dev eth0 metric 100
```

# Opzioni di rete di attività di Amazon ECS per Fargate
<a name="fargate-task-networking"></a>

Di default, a ogni processo di Amazon ECS su Fargate viene fornita una interfaccia di rete elastica (ENI) con un indirizzo IP privato primario. Quando utilizzi una sottorete pubblica, puoi eventualmente assegnare un indirizzo IP pubblico all'ENI dell'attività. Se il tuo VPC è configurato per la modalità dual-stack e utilizzi una sottorete con un blocco IPv6 CIDR, anche l'ENI dell'attività riceve un indirizzo. IPv6 Un'attività può avere una sola ENI associata in un determinato momento. I container che appartengono alla stessa attività possono comunicare tramite l'interfaccia `localhost`. Per ulteriori informazioni sulle VPCs sottoreti, consulta How [Amazon VPC works nella Amazon *VPC*](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html) User Guide.

Affinché un'attività su Fargate sia in grado di estrarre un'immagine del container, l'attività deve avere un routing verso Internet. Di seguito è descritto come verificare che l'attività abbia un routing verso Internet.
+ Quando utilizzi una sottorete pubblica, puoi assegnare un indirizzo IP pubblico all'ENI del processo.
+ Quando si utilizza una sottorete privata, la sottorete può avere un gateway NAT collegato.
+ Quando utilizzi immagini di container ospitate in Amazon ECR, puoi configurare Amazon ECR per utilizzare un endpoint VPC di interfaccia e il recupero dell'immagine avviene sull'indirizzo privato dell'attività. IPv4 Per ulteriori informazioni, consulta [Endpoint VPC dell'interfaccia Amazon ECR (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html) nella *Guida per l'utente di Amazon Elastic Container Registry*.

Poiché ogni attività ottiene la sua ENI, puoi utilizzare funzioni di rete, come i log di flusso VPC, per monitorare il traffico da e verso le tue attività. Per ulteriori informazioni, consulta [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) nella *Guida per l’utente di Amazon VPC*.

Puoi anche approfittare di. AWS PrivateLink Puoi configurare un endpoint di interfaccia VPC in modo da poter accedere ad Amazon ECS APIs tramite indirizzi IP privati. AWS PrivateLink limita tutto il traffico di rete tra il tuo VPC e Amazon ECS alla rete Amazon. Non è richiesto un gateway Internet, un dispositivo NAT o un gateway privato virtuale. Per ulteriori informazioni, consultare [Amazon ECS interface VPC endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html).

Per esempi di come utilizzare la `NetworkConfiguration` risorsa con CloudFormation, consulta. [CloudFormation modelli di esempio per Amazon ECS](working-with-templates.md)

 ENIs Quelli che vengono creati sono completamente gestiti da AWS Fargate. Inoltre, esiste una policy IAM associata che viene utilizzata per concedere autorizzazioni per Fargate. Per le attività che utilizzano la piattaforma Fargate versione `1.4.0` o successiva, l'attività riceve un'unica ENI (denominata ENI di attività) e tutto il traffico di rete scorre attraverso tale ENI all'interno del VPC. Questo traffico viene registrato nei log di flusso VPC. Per le attività che utilizzano la piattaforma Fargate versione `1.3.0` e precedenti, oltre all'ENI di attività, l'attività riceve anche un'ENI di proprietà di Fargate che viene utilizzata per un traffico di rete non visibile nei log di flusso VPC. Di seguito vengono descritti il comportamento del traffico di rete e la policy IAM richiesta per ogni versione della piattaforma.


|  Azione  |  Flusso di traffico con piattaforma Linux versione `1.3.0` e versioni precedenti  |  Flusso di traffico con piattaforma Linux versione `1.4.0`  |  Flusso di traffico con piattaforma Windows versione `1.0.0`  |  Autorizzazione IAM  | 
| --- | --- | --- | --- | --- | 
|  Recupero delle credenziali di accesso di Amazon ECR  |  ENI di proprietà Fargate  |  ENI attività  |  ENI attività  |  Ruolo IAM per l'esecuzione del processo  | 
|  Pull immagine  |  ENI attività  |  ENI attività  |  ENI attività  |  Ruolo IAM per l'esecuzione del processo  | 
|  Invio dei log tramite un driver di log  |  ENI attività  |  ENI attività  |  ENI attività  |  Ruolo IAM per l'esecuzione del processo  | 
|  Invio di log FireLens per Amazon ECS  |  ENI attività  |  ENI attività  |  ENI attività  |  Ruolo IAM del processo  | 
|  Recupero di segreti da Secrets Manager o Systems Manager  |  ENI di proprietà Fargate  |  ENI attività  |  ENI attività  |  Ruolo IAM per l'esecuzione del processo  | 
|  Traffico del file system Amazon EFS  |  Non disponibile  |  ENI attività  |  ENI attività  |  Ruolo IAM del processo  | 
|  Traffico delle applicazioni  |  ENI attività  |  ENI attività  |  ENI attività  |  Ruolo IAM del processo  | 

## Considerazioni
<a name="fargate-task-networking-considerations"></a>

Tieni in considerazione le informazioni seguenti quando usi la rete di attività.
+ Il ruolo collegato ai servizi Amazon ECS è necessario per fornire ad Amazon ECS le autorizzazioni per effettuare chiamate ad altri AWS servizi per tuo conto. Questo ruolo viene creato 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 utilizzando 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
  ```
+ Amazon ECS popola il nome host dell'attività con un nome host DNS fornito da Amazon quando entrambe le opzioni `enableDnsHostnames` e `enableDnsSupport` sono abilitate nel VPC. Se queste opzioni non sono abilitate, il nome host DNS dell'attività è impostato su un nome host casuale. Per ulteriori informazioni sulle impostazioni DNS per un VPC, consulta [Utilizzo del DNS con il VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) nella *Guida per l'utente di Amazon VPC*.
+ È possibile specificare solo fino a 16 sottoreti e 5 gruppi di sicurezza per `awsVpcConfiguration`. Per ulteriori informazioni, consulta il *riferimento [AwsVpcConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_AwsVpcConfiguration.html)all'API di Amazon Elastic Container Service*.
+ Non è possibile scollegare o modificare manualmente i ENIs file creati e allegati da Fargate. Questo serve a impedire l'eliminazione accidentale di un'ENI che è associata a un'attività in esecuzione. Per rilasciare il comando ENIs for a task, interrompete l'operazione.
+ Se una sottorete VPC viene aggiornata per modificare la serie di opzioni DHCP utilizzate, non puoi applicare queste modifiche anche alle attività esistenti che utilizzano il VPC. Avvia nuove attività, che riceveranno la nuova impostazione per eseguire la migrazione senza problemi durante il test della nuova modifica e quindi interrompi le attività precedenti, se non è necessario eseguire il rollback.
+ Quanto segue si applica alle attività eseguite sulla versione della piattaforma Fargate `1.4.0` o successiva per Linux o `1.0.0` per Windows. Le attività avviate in sottoreti dual-stack ricevono un indirizzo e un IPv4 indirizzo. IPv6 Le attività avviate nelle sottoreti IPv6 -only ricevono solo un indirizzo. IPv6
+ Per le attività che utilizzano la versione della piattaforma `1.4.0` o successiva per Linux o `1.0.0` Windows, l'attività ENIs supporta i jumbo frame. Le interfacce di rete sono configurate con un'unità di trasmissione massima (MTU), ovvero la dimensione del payload più grande che si adatta all'interno di un singolo frame. Più grande è l'MTU, più il payload dell'applicazione può essere adattato all'interno di un singolo fotogramma, riducendo il sovraccarico per fotogramma e aumentando l'efficienza. Il supporto dei frame jumbo riduce il sovraccarico quando il percorso di rete tra l'attività e la destinazione supporta frame jumbo.
+ I servizi con attività che utilizzano Fargate supportano solo Application Load Balancer e Network Load Balancer. Classic Load Balancer non è supportato. Quando crei gruppi target, devi scegliere `ip` come tipo di target anziché `instance`. Per ulteriori informazioni, consulta [Usa il bilanciamento del carico per distribuire il traffico del servizio Amazon ECS](service-load-balancing.md).

## Utilizzo di un VPC in modalità dual-stack
<a name="fargate-task-networking-vpc-dual-stack"></a>

Quando si utilizza un VPC in modalità dual-stack, le attività possono comunicare più IPv4 o meno entrambe. IPv6 IPv4 e IPv6 gli indirizzi sono indipendenti l'uno dall'altro ed è necessario configurare il routing e la sicurezza nel VPC separatamente IPv4 per e. IPv6 *Per ulteriori informazioni sulla configurazione del tuo VPC per la modalità dual-stack, consulta [Migrating to nella IPv6](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Amazon VPC User Guide.*

Se vengono soddisfatte le seguenti condizioni, alle attività di Amazon ECS su Fargate viene assegnato IPv6 un indirizzo:
+ L'impostazione del tuo account `dualStackIPv6` di Amazon ECS è attivata (`enabled`) per l'IAM principale che avvia le attività nella regione in cui le stai avviando. Questa impostazione può essere modificata solo utilizzando l'API o. AWS CLI Esiste la possibilità di attivare questa impostazione per un IAM principale specifico sul proprio account o per l'intero account attivando le impostazioni predefinite. Per ulteriori informazioni, consulta [Accedi alle funzionalità di Amazon ECS con le impostazioni dell'account](ecs-account-settings.md).
+ Il VPC e la sottorete sono abilitati per. IPv6 *Per ulteriori informazioni su come configurare il tuo VPC per la modalità dual-stack, consulta [Migrating to nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6.html) Amazon VPC User IPv6 Guide.*
+ La sottorete è abilitata per l'assegnazione automatica IPv6 degli indirizzi. Per ulteriori informazioni su come configurare la sottorete, consulta [Modificare l'attributo di IPv6 indirizzamento per la sottorete](https://docs.aws.amazon.com/vpc/latest/userguide/modify-subnets.html) nella Amazon *VPC* User Guide.
+ L'attività o il servizio utilizza la versione della piattaforma Fargate `1.4.0` o successiva per Linux.

Per le attività di Amazon ECS su Fargate eseguite in un VPC in modalità dual-stack, per comunicare con i servizi di dipendenza utilizzati nel processo di avvio delle attività come ECR, SSM SecretManager e, la tabella di routing della sottorete pubblica richiede il routing (0.0.0.0/0) verso un gateway Internet e la tabella di routing della sottorete privata IPv4 richiede il routing (0.0.0.0/0) verso un gateway NAT. IPv4 Per ulteriori informazioni, consulta i [gateway Internet e i gateway](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) [NAT nella](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) Amazon *VPC* User Guide. 

Per esempi su come configurare un VPC dual-stack, consulta [Esempio](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-example.html) di configurazione VPC dual-stack. 

## Utilizzo di un VPC in IPv6 modalità -only
<a name="fargate-task-networking-vpc-ipv6-only"></a>

In una configurazione IPv6 solo, le attività di Amazon ECS comunicano esclusivamente tramite. IPv6 Per configurare VPCs sottoreti per una configurazione IPv6 solo, è necessario aggiungere un blocco IPv6 CIDR al VPC e creare sottoreti che includano solo un blocco CIDR. IPv6 Per ulteriori informazioni, consulta [Aggiungi IPv6 supporto per il tuo VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-migrate-ipv6-add.html) e [crea una sottorete](https://docs.aws.amazon.com/vpc/latest/userguide/create-subnets.html) nella Amazon *VPC* User Guide. È inoltre necessario aggiornare le tabelle di routing con le IPv6 destinazioni e configurare i gruppi di sicurezza con regole. IPv6 Per ulteriori informazioni, consultare [Configure route tables](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html) e [Configure security group rules](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-security-group-rules.html) nella *Guida per l'utente di Amazon VPC*.

Tieni presente le seguenti considerazioni:
+ Puoi aggiornare un servizio Amazon ECS IPv4 -only o dualstack a IPv6 una configurazione -only aggiornando il servizio direttamente per IPv6 utilizzare sottoreti -only o creando un servizio IPv6 solo parallelo e utilizzando le distribuzioni blu-verdi di Amazon ECS per spostare il traffico verso il nuovo servizio. Per ulteriori informazioni sulle implementazioni blu/verdi di Amazon ECS, consultare [Implementazioni Amazon ECS blue/green](deployment-type-blue-green.md).
+ Un servizio IPv6 solo Amazon ECS deve utilizzare sistemi di bilanciamento del carico dualstack con gruppi target. IPv6 Se si sta migrando un servizio di Amazon ECS esistente basato su un Application Load Balancer o un Network Load Balancer, è possibile creare un nuovo sistema di bilanciatore del carico dualstack e spostare il traffico dal vecchio bilanciatore del carico, o aggiornare il tipo di indirizzo IP del bilanciatore del carico esistente.

   Per ulteriori informazioni sui Network Load Balancer, consultare [Create a Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html) e [Update the IP address types for your Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-ip-address-type.html) nella *Guida per l'utente di Network Load Balancer*. Per ulteriori informazioni su Application Load Balancer, consultare [Create an Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) e [Update the IP address types for your Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-ip-address-type.html) nella *Guida per l'utente di Application Load Balancer*.
+ IPv6La configurazione -only non è supportata su. Windows
+ Per le attività di Amazon ECS in una configurazione IPv6 -only per comunicare IPv4 solo con endpoint, puoi configurare DNS64 e tradurre gli indirizzi NAT64 di rete da a. IPv6 IPv4 Per ulteriori informazioni, consulta [DNS64 e NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html) consulta la *Amazon VPC User Guide*.
+ IPv6-la configurazione è supportata solo sulla `1.4.0` versione della piattaforma Fargate o successiva.
+ I carichi di lavoro Amazon ECS in una configurazione IPv6 solo devono utilizzare gli endpoint URI dell'immagine dualstack di Amazon ECR quando estraggono immagini da Amazon ECR. Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
**Nota**  
Amazon ECR non supporta gli endpoint VPC con interfaccia dualstack utilizzabili dalle attività in una sola configurazione. IPv6 Per ulteriori informazioni, consulta la sezione [Guida introduttiva all'invio di richieste IPv6](https://docs.aws.amazon.com/AmazonECR/latest/userguide/ecr-requests.html#ipv6-access-getting-started) nella *Amazon Elastic Container Registry User Guide*.
+ Amazon ECS Exec non è supportato in una configurazione di IPv6 sola configurazione.
+ Amazon CloudWatch non supporta un endpoint FIPS dualstack che può essere utilizzato per monitorare le attività di Amazon ECS in IPv6 una sola configurazione che utilizza la conformità FIPS-140. Per ulteriori informazioni sul FIPS-140, consultare [AWS Fargate Standard federale per l'elaborazione delle informazioni (FIPS-140)](ecs-fips-compliance.md).

### Regioni AWS che supporta la modalità IPv6 solo per Amazon ECS
<a name="fargate-task-networking-ipv6-only-regions"></a>

Puoi eseguire attività in una configurazione IPv6 solo nelle seguenti configurazioni in Regioni AWS cui Amazon ECS è disponibile:
+ Stati Uniti orientali (Ohio)
+ Stati Uniti orientali (Virginia settentrionale)
+ Stati Uniti occidentali (California settentrionale)
+ Stati Uniti occidentali (Oregon)
+ Africa (Città del Capo)
+ Asia Pacifico (Hong Kong)
+ Asia Pacific (Hyderabad)
+ Asia Pacifico (Giacarta)
+ Asia Pacifico (Melbourne)
+ Asia Pacifico (Mumbai)
+ Asia Pacifico (Osaka)
+ Asia Pacifico (Seoul)
+ Asia Pacifico (Singapore)
+ Asia Pacifico (Sydney)
+ Asia Pacifico (Tokyo)
+ Canada (Centrale)
+ Canada occidentale (Calgary)
+ Cina (Pechino)
+ Cina (Ningxia)
+ Europa (Francoforte)
+ Europa (Londra)
+ Europa (Milano)
+ Europa (Parigi)
+ Europa (Spagna)
+ Israele (Tel Aviv)
+ Medio Oriente (Bahrein)
+ Medio Oriente (Emirati Arabi Uniti)
+ Sud America (San Paolo)
+ AWS GovCloud (Stati Uniti orientali)
+ AWS GovCloud (Stati Uniti occidentali)

# Opzioni di archiviazione per le attività di Amazon ECS
<a name="using_data_volumes"></a>

Amazon ECS ti offre opzioni di archiviazione easy-to-use dei dati flessibili, convenienti e a seconda delle tue esigenze. Amazon ECS supporta le seguenti opzioni di volume di dati per i container:


| Volume di dati | Capacità supportata | Sistemi operativi supportati | Persistenza di archiviazione | Casi d’uso | 
| --- | --- | --- | --- | --- | 
| Amazon Elastic Block Store (Amazon EBS) | Fargate, Amazon EC2, Istanze gestite da Amazon ECS | Linux, Windows (solo su Amazon EC2) | Può essere mantenuto se collegato a un'attività autonoma. Effimero se associato a un'attività gestita da un servizio. | I volumi Amazon EBS forniscono un'archiviazione a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. I casi d'uso più comuni includono carichi di lavoro transazionali come database, desktop virtuali e volumi root, nonché carichi di lavoro ad alta intensità di throughput come l'elaborazione dei log e i carichi di lavoro ETL. Per ulteriori informazioni, consulta [Usare i volumi Amazon EBS con Amazon ECS](ebs-volumes.md). | 
| Amazon Elastic File System (Amazon EFS) | Fargate, Amazon EC2, Istanze gestite da Amazon ECS | Linux | Persistente | I volumi di Amazon EFS offrono uno spazio di archiviazione di file condiviso, semplice, scalabile e persistente da utilizzare con i processi Amazon ECS che aumentano e si riducono automaticamente con l'aggiunta e la rimozione di file. I volumi Amazon EFS supportano la concorrenza e sono utili per le applicazioni containerizzate che scalano orizzontalmente e richiedono funzionalità di storage come bassa latenza, throughput elevato e coerenza. read-after-write I casi d'uso più comuni includono carichi di lavoro come analisi dei dati, elaborazione multimediale, gestione dei contenuti e server Web. Per ulteriori informazioni, consulta [Usare i volumi Amazon EFS con Amazon ECS](efs-volumes.md). | 
| File server Amazon FSx per Windows | Amazon EC2 | Windows | Persistente | FSx i volumi per Windows File Server forniscono file server Windows completamente gestiti che puoi utilizzare per eseguire il provisioning delle attività Windows che richiedono uno storage di file persistente, distribuito, condiviso e statico. I casi d'uso più comuni includono le applicazioni.NET che potrebbero richiedere cartelle locali come archiviazione persistente per salvare gli output delle applicazioni. Amazon FSx for Windows File Server offre una cartella locale nel contenitore che consente la lettura e la scrittura di più contenitori sullo stesso file system supportato da una condivisione SMB. Per ulteriori informazioni, consulta [Utilizzo FSx per volumi Windows File Server con Amazon ECS](wfsx-volumes.md). | 
| Amazon FSx per NetApp ONTAP | Amazon EC2 | Linux | Persistente | I volumi Amazon FSx for NetApp ONTAP forniscono file system NetApp ONTAP completamente gestiti che puoi utilizzare per eseguire il provisioning di attività Linux che richiedono uno storage di file condiviso persistente, ad alte prestazioni e ricco di funzionalità. Amazon FSx for NetApp ONTAP supporta i protocolli NFS e SMB e fornisce funzionalità di livello aziendale come istantanee, clonazione e deduplicazione dei dati. I casi d'uso più comuni includono carichi di lavoro di elaborazione ad alte prestazioni, repository di contenuti e applicazioni che richiedono uno storage condiviso conforme a POSIX. Per ulteriori informazioni, consulta [Montaggio dei file system Amazon FSx for NetApp ONTAP dai contenitori Amazon ECS.](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/mount-ontap-ecs-containers.html) | 
| Volumi Docker | Amazon EC2 | Windows, Linux | Persistente | I volumi Docker sono una funzionalità del runtime del container Docker che consente ai container di mantenere i dati in modo persistente montando una directory dal file system dell'host. I driver del volume docker (detti anche plugin) vengono utilizzati per integrare i volumi dei container ai sistemi di archiviazione esterni. I volumi Docker possono essere gestiti da driver di terzi o dal driver integrato local. I casi d'uso comuni dei volumi Docker includono la fornitura di volumi di dati persistenti o la condivisione di volumi in posizioni diverse su container diversi sulla stessa istanza di container. Per ulteriori informazioni, consulta [Utilizzo dei volumi Docker con Amazon ECS](docker-volumes.md). | 
| Montaggi vincolati | Fargate, Amazon EC2, Istanze gestite da Amazon ECS | Windows, Linux | Effimero | I montaggi Bind sono costituiti da un file o una directory sull'host, ad esempio un'istanza AWS Fargate Amazon EC2, montata su un contenitore. I casi d'uso più comuni per i montaggi vincolati includono la condivisione di un volume da un container di origine con altri container nella stessa attività, o il montaggio di un volume host o di un volume vuoto in uno o più container. Per ulteriori informazioni, consulta [Utilizzo di montaggio vincolato con Amazon ECS](bind-mounts.md). | 

# Usare i volumi Amazon EBS con Amazon ECS
<a name="ebs-volumes"></a>

I volumi Amazon Elastic Block Store (Amazon EBS) forniscono un'archiviazione a blocchi ad alta disponibilità, conveniente, durevole e ad alte prestazioni per carichi di lavoro a uso intensivo di dati. I volumi Amazon EBS possono essere utilizzati con le attività di Amazon ECS per applicazioni con throughput elevato e transazioni intensive. Per ulteriori informazioni sui volumi Amazon EBS, consultare [Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html) nella *Guida per l'utente di Amazon EBS*.

I volumi Amazon EBS collegati alle attività di Amazon ECS sono gestiti da Amazon ECS per tuo conto. Durante l'avvio di un'attività autonoma, è possibile fornire la configurazione che verrà utilizzata per collegare un volume EBS all'attività. Durante la creazione o l'aggiornamento del servizio, puoi fornire la configurazione che verrà utilizzata per allegare un volume EBS per attività a ciascuna attività gestita dal servizio Amazon ECS. È possibile configurare nuovi volumi vuoti per gli allegati oppure utilizzare snapshot per caricare dati da volumi esistenti.

**Nota**  
Quando si utilizzano gli snapshot per configurare i volumi, è possibile specificare un intervallo `volumeInitializationRate`, in MiB/s, in corrispondenza del quale i dati vengono recuperati dallo snapshot per creare volumi completamente inizializzati in un periodo di tempo prevedibile. Per ulteriori informazioni sull'inizializzazione dei volumi, consultare [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) nella *Guida per l'utente di Amazon EBS*. Per ulteriori informazioni sulla configurazione dei volumi Amazon EBS, consultare [Rimanda la configurazione del volume all'ora di avvio nella definizione di un'attività di Amazon ECS](specify-ebs-config.md) e [Specificare la configurazione del volume Amazon EBS nell'implementazione di Amazon ECS](configure-ebs-volume.md).

La configurazione del volume viene posticipata al momento dell'avvio utilizzando il parametro `configuredAtLaunch` nella definizione dell'attività. Fornendo la configurazione del volume al momento dell'avvio anziché nella definizione dell'attività, è possibile creare definizioni delle attività che non sono limitate a un tipo di volume di dati specifico o a impostazioni specifiche del volume EBS. È quindi possibile riutilizzare le definizioni delle attività in diversi ambienti di runtime. Ad esempio, è possibile fornire un maggiore throughput durante l'implementazione per i carichi di lavoro di produzione rispetto agli ambienti pre-produzione.

 I volumi Amazon EBS collegati alle attività possono essere crittografati con AWS Key Management Service (AWS KMS) chiavi per proteggere i dati. Per ulteriori informazioni, consultare [Crittografia dei dati archiviati nei volumi Amazon EBS allegati alle attività Amazon ECS](ebs-kms-encryption.md).

Per monitorare le prestazioni del volume, puoi anche utilizzare i CloudWatch parametri di Amazon. Per ulteriori informazioni sulle metriche di Amazon ECS per i volumi Amazon EBS, consultare [Metriche di Amazon ECS CloudWatch](available-metrics.md) e [Amazon ECS Container Insights metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-metrics-ECS.html).

Il collegamento di un volume Amazon EBS a un'attività è supportato in tutte le aziende commerciali e nelle [Regioni AWS](https://docs.aws.amazon.com/glossary/latest/reference/glos-chap.html?icmpid=docs_homepage_addtlrcs#region) in Cina, che supportano Amazon ECS.

## Sistemi operativi e capacità supportati
<a name="ebs-volumes-configuration"></a>

La tabella seguente fornisce il sistema operativo e le configurazioni di capacità supportate.


| Capacity | Linux  | Windows | 
| --- | --- | --- | 
| Fargate |  I volumi Amazon EBS sono supportati nella versione della piattaforma 1.4.0 o successiva (Linux). Per ulteriori informazioni, consulta [Versioni della piattaforma Fargate per Amazon ECS](platform-fargate.md). | Non supportata | 
| EC2 | I volumi Amazon EBS sono supportati per le attività ospitate su istanze Nitro basate con Amazon Machine Images () ottimizzato per Amazon ECS. AMIs Per ulteriori informazioni sui tipi di istanza, consultare [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) nella Guida dell'utente di Amazon EC2. I volumi Amazon EBS sono supportati su AMI `20231219` ottimizzate per ECS o versioni successive. Per ulteriori informazioni, consulta [Retrieving Amazon ECS-Optimized AMI metadata](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html). | Attività ospitate su istanze Nitro basate con Amazon Machine Images AMIs () ottimizzate per Amazon ECS. Per ulteriori informazioni sui tipi di istanza, consultare [Instance types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) nella Guida dell'utente di Amazon EC2. I volumi Amazon EBS sono supportati su AMI `20241017` ottimizzate per ECS o versioni successive. Per ulteriori informazioni, consultare [Retrieving Amazon ECS-Optimized Windows AMI metadata](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html). | 
| Istanze gestite da Amazon ECS | I volumi Amazon EBS sono supportati per le attività ospitate su Istanze gestite da Amazon ECS su Linux. | Non supportata | 

## Considerazioni
<a name="ebs-volume-considerations"></a>

 Quando si usano i volumi Amazon EBS, si tenga presente quanto segue:
+ Non è possibile configurare i volumi Amazon EBS per il collegamento alle attività Fargate Amazon ECS nella zona di disponibilità `use1-az3`.
+ Il tipo di volume Amazon EBS magnetico (`standard`) non è supportato per le attività ospitate su Fargate. Per ulteriori informazioni sui tipi di volume Amazon EBS, consultare [Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) nella *Guida per l'utente di Amazon EC2*.
+ Un ruolo IAM dell'infrastruttura di Amazon ECS è necessario quando si crea un servizio o un'attività autonoma che consiste nella configurazione di un volume al momento dell'implementazione. È possibile allegare la policy IAM `AmazonECSInfrastructureRolePolicyForVolumes` gestita da AWS al ruolo, oppure è possibile utilizzare la policy gestita come guida per creare e allegare la policy con autorizzazioni che soddisfino le esigenze specifiche. Per ulteriori informazioni, consulta [Ruolo IAM dell’infrastruttura Amazon ECS](infrastructure_IAM_role.md).
+ È possibile allegare al massimo un volume Amazon EBS a ciascuna attività Amazon ECS e deve trattarsi di un nuovo volume. Non è possibile collegare un volume Amazon EBS esistente a un'attività. Tuttavia, è possibile configurare un nuovo volume Amazon EBS al momento dell'implementazione utilizzando lo snapshot di un volume esistente.
+ Per utilizzare i volumi Amazon EBS con i servizi Amazon ECS, il comando dell'implementazione deve essere `ECS`. Quando si utilizza questo controller di blue/green distribuzione sono supportate sia le strategie di rolling che quelle di distribuzione.
+ Affinché un contenitore della tua attività possa scrivere sul volume Amazon EBS montato, deve disporre delle autorizzazioni di file system appropriate. Quando specifichi un utente non root nella definizione del contenitore, Amazon ECS configura automaticamente il volume con autorizzazioni basate sul gruppo che consentono all'utente specificato di leggere e scrivere sul volume. Se non viene specificato alcun utente, il contenitore funziona come root e ha pieno accesso al volume.
+ Amazon ECS allega automaticamente i tag riservati `AmazonECSCreated` e `AmazonECSManaged` a un volume Amazon EBS. Se si rimuovono questi tag dal volume, Amazon ECS non sarà in grado di gestire il volume per conto dell'utente. Per ulteriori informazioni sulla menzione di volumi Amazon EBS, consultare [Tagging Amazon EBS volumes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specify-ebs-config.html#ebs-volume-tagging). Per ulteriori informazioni sull'etichettare le risorse di Amazon ECS, consultare [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html).
+ Il provisioning di volumi da uno snapshot di un volume Amazon EBS che contiene partizioni non è supportato.
+ I volumi collegati alle attività gestite da un servizio non vengono conservati e vengono sempre eliminati al termine della stessa.
+ Non è possibile configurare i volumi Amazon EBS per il collegamento alle attività di Amazon ECS che vengono eseguite su AWS Outposts.

# Comportamento degli utenti non root
<a name="ebs-non-root-behavior"></a>

Quando specifichi un utente non root nella definizione del contenitore, Amazon ECS configura automaticamente il volume Amazon EBS con autorizzazioni basate sul gruppo che consentono all'utente specificato di leggere e scrivere sul volume. Il volume è montato con le seguenti caratteristiche:
+ Il volume è di proprietà dell'utente root e del gruppo root.
+ Le autorizzazioni di gruppo sono impostate per consentire l'accesso in lettura e scrittura.
+ L'utente non root viene aggiunto al gruppo appropriato per accedere al volume.

Segui queste best practice quando usi volumi Amazon EBS con contenitori non root:
+ Usa user IDs (UIDs) e group IDs (GIDs) coerenti tra le immagini del contenitore per garantire autorizzazioni coerenti.
+ Precrea le directory dei punti di montaggio nell'immagine del contenitore e imposta la proprietà e le autorizzazioni appropriate.
+ Testa i tuoi contenitori con volumi Amazon EBS in un ambiente di sviluppo per confermare che le autorizzazioni del file system funzionino come previsto.
+ Se più contenitori per la stessa attività condividono un volume, assicurati che utilizzino un volume compatibile UIDs/GIDs o installino il volume con aspettative di accesso coerenti.

# Rimanda la configurazione del volume all'ora di avvio nella definizione di un'attività di Amazon ECS
<a name="specify-ebs-config"></a>

Per configurare un volume Amazon EBS per gli allegati dell'attività, è necessario specificare il punto di montaggio nella definizione di attività e dare un nome al volume. È inoltre necessario impostare `configuredAtLaunch` su `true` perché i volumi Amazon EBS non possono essere configurati per l'allegato nella definizione dell'attività. Invece, i volumi Amazon EBS sono configurati per l'allegato durante l'implementazione.

Per registrare la definizione dell'attività utilizzando AWS Command Line Interface (AWS CLI), salvate il modello come file JSON, quindi passate il file come input per il `[register-task-definition](https://docs.aws.amazon.com/cli/latest/reference/ecs/register-task-definition.html)` comando. 

Per creare e registrare una definizione di attività utilizzando il Console di gestione AWS, vedere[Creazione di una definizione di attività di Amazon ECS attraverso la nuova console](create-task-definition.md).

La definizione di attività seguente illustra la sintassi degli oggetti `mountPoints` e `volumes` nella definizione di attività. Per ulteriori informazioni sui parametri per la definizione di attività, consultare [Parametri di definizione di attività Amazon ECS per Fargate](task_definition_parameters.md). Per utilizzare questo comando, sostituire `user input placeholders` con le proprie informazioni.

## Linux
<a name="linux-example"></a>

```
{
    "family": "mytaskdef",
    "containerDefinitions": [
        {
            "name": "nginx",
            "image": "public.ecr.aws/nginx/nginx:latest",
            "networkMode": "awsvpc",
           "portMappings": [
                {
                    "name": "nginx-80-tcp",
                    "containerPort": 80,
                    "hostPort": 80,
                    "protocol": "tcp",
                    "appProtocol": "http"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "/mount/ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

## Windows
<a name="windows-example"></a>

```
{
    "family": "mytaskdef",
     "memory": "4096",
     "cpu": "2048",
    "family": "windows-simple-iis-2019-core",
    "executionRoleArn": "arn:aws:iam::012345678910:role/ecsTaskExecutionRole",
    "runtimePlatform": {"operatingSystemFamily": "WINDOWS_SERVER_2019_CORE"},
    "requiresCompatibilities": ["EC2"]
    "containerDefinitions": [
        {
             "command": ["New-Item -Path C:\\inetpub\\wwwroot\\index.html -Type file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p>'; C:\\ServiceMonitor.exe w3svc"],
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "essential": true,
            "cpu": 2048,
            "memory": 4096,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "name": "sample_windows_app",
            "portMappings": [
                {
                    "hostPort": 443,
                    "containerPort": 80,
                    "protocol": "tcp"
                }
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEBSVolume",
                    "containerPath": "drive:\ebs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEBSVolume",
            "configuredAtLaunch": true
        }
    ],
    "requiresCompatibilities": [
        "FARGATE", "EC2"
    ],
    "cpu": "1024",
    "memory": "3072",
    "networkMode": "awsvpc"
}
```

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

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

`configuredAtLaunch`  
Tipo: Booleano  
Obbligatorio: sì, quando vuoi collegare un volume EBS direttamente a un'attività.  
Specificare se un volume è configurabile all'avvio. Se impostato su `true`, è possibile configurare il volume quando si esegue un'attività autonoma o quando si crea o si aggiorna un servizio. Se impostato su `false`, non sarà possibile fornire un'altra configurazione di volume nella definizione dell'attività. Questo parametro deve essere fornito e impostato su `true` per configurare un volume Amazon EBS da allegare a un'attività.

# Crittografia dei dati archiviati nei volumi Amazon EBS allegati alle attività Amazon ECS
<a name="ebs-kms-encryption"></a>

Puoi usare AWS Key Management Service (AWS KMS) per creare e gestire chiavi crittografiche che proteggono i tuoi dati. I volumi Amazon EBS vengono crittografati a riposo utilizzando AWS KMS keys. I seguenti tipi di dati sono crittografati:
+ Dati archiviati quando inattivi sul volume
+ I/O del disco
+ Snapshot creati dal volume
+ Nuovi volumi creati da snapshot crittografati

I volumi Amazon EBS collegati alle attività possono essere crittografati utilizzando un Chiave gestita da AWS predefinito con un alias `alias/aws/ebs` o una chiave simmetrica gestita dal cliente specificata nella configurazione del volume. Chiavi gestite da AWS I valori predefiniti sono unici Account AWS per ciascun utente Regione AWS e vengono creati automaticamente. Per creare una chiave simmetrica gestita dal cliente, seguire le fasi descritte in [Creazione delle chiavi KMS per la crittografia simmetrica](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk) nella *Guida per gli sviluppatori di AWS KMS *.

Puoi configurare la crittografia Amazon EBS per impostazione predefinita in modo che tutti i nuovi volumi creati e collegati a un'attività in una determinata operazione Regione AWS vengano crittografati utilizzando la chiave KMS specificata per il tuo account. Per ulteriori informazioni sulla crittografia di Amazon EBS e la crittografia per impostazione predefinita, consultare [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) nella *Guida per l'utente di Amazon EBS*.

## Comportamento di Istanze gestite da Amazon ECS
<a name="managed-instances"></a>

È possibile crittografare i volumi Amazon EBS abilitando la crittografia, utilizzando la crittografia per impostazione predefinita o abilitando la crittografia al momento della creazione di un volume che si desidera crittografare. Per informazioni su come abilitare la crittografia per impostazione predefinita (a livello di account), consultare [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/encryption-by-default.html) nella *Guida per l'utente di Amazon EBS*.

È possibile configurare qualsiasi combinazione di questi tasti. L'ordine di precedenza delle chiavi KMS è il seguente:

1. La chiave KMS specificata nella configurazione del volume. Quando si specifica una chiave KMS nella configurazione del volume, questa sostituisce l'impostazione predefinita di Amazon EBS e qualsiasi chiave KMS specificata a livello di account.

1. La chiave KMS specificata a livello di account. Quando si specifica una chiave KMS per la crittografia a livello di cluster dello storage gestito di Amazon ECS, questa sostituisce la crittografia predefinita di Amazon EBS ma non sostituisce alcuna chiave KMS specificata nella configurazione del volume.

1. Crittografia predefinita di Amazon EBS. La crittografia predefinita si applica quando non si specifica né una chiave KMS a livello di account né una chiave nella configurazione del volume. Se abiliti la crittografia Amazon EBS per impostazione predefinita, l'impostazione predefinita è la chiave KMS che specifichi per la crittografia per impostazione predefinita. Altrimenti, l'impostazione predefinita è Chiave gestita da AWS con l'alias `alias/aws/ebs`.
**Nota**  
Se si imposta `encrypted` a `false` nella configurazione del volume, non si specifica alcuna chiave KMS a livello di account e si abilita la crittografia Amazon EBS per impostazione predefinita, il volume verrà comunque crittografato con la chiave specificata per la crittografia Amazon EBS per impostazione predefinita.

## Comportamento di Istanze non gestite da Amazon ECS
<a name="non-managed-instances"></a>

È possibile anche configurare la crittografia a livello di cluster di Amazon ECS per l'archiviazione gestita da Amazon ECS quando si crea o aggiorna un cluster. La crittografia a livello di cluster ha effetto a livello di attività e può essere utilizzata per crittografare i volumi di Amazon EBS collegati a ciascuna attività in esecuzione in un cluster specifico utilizzando la chiave KMS specificata. Per ulteriori informazioni sulla configurazione della crittografia a livello di cluster per ogni attività, consulta il riferimento [ManagedStorageConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_ManagedStorageConfiguration.html)alle *API di Amazon ECS.*

È possibile configurare qualsiasi combinazione di questi tasti. L'ordine di precedenza delle chiavi KMS è il seguente:

1. La chiave KMS specificata nella configurazione del volume. Quando si specifica una chiave KMS nella configurazione del volume, questa sostituisce l'impostazione predefinita di Amazon EBS e qualsiasi chiave KMS specificata a livello di cluster.

1. La chiave KMS specificata a livello di cluster. Quando si specifica una chiave KMS per la crittografia a livello di cluster dello storage gestito di Amazon ECS, questa sostituisce la crittografia predefinita di Amazon EBS ma non sostituisce alcuna chiave KMS specificata nella configurazione del volume.

1. Crittografia predefinita di Amazon EBS. La crittografia predefinita si applica quando non si specifica né una chiave KMS a livello di cluster né una chiave nella configurazione del volume. Se abiliti la crittografia Amazon EBS per impostazione predefinita, l'impostazione predefinita è la chiave KMS che specifichi per la crittografia per impostazione predefinita. Altrimenti, l'impostazione predefinita è Chiave gestita da AWS con l'alias. `alias/aws/ebs`
**Nota**  
Se si imposta `encrypted` a `false` nella configurazione del volume, non specifichi alcuna chiave KMS a livello di cluster e abiliti la crittografia Amazon EBS per impostazione predefinita, il volume verrà comunque crittografato con la chiave specificata per la crittografia Amazon EBS per impostazione predefinita.

## Policy delle chiavi KMS gestite dal cliente
<a name="ebs-kms-encryption-policy"></a>

Per crittografare un volume EBS collegato all'attività utilizzando una chiave gestita dal cliente, è necessario configurare la policy della chiave KMS per garantire che il ruolo IAM utilizzato per la configurazione del volume disponga delle autorizzazioni necessarie per utilizzare la chiave. La policy della chiave deve includere le autorizzazioni `kms:CreateGrant` e `kms:GenerateDataKey*`. Le autorizzazioni `kms:ReEncryptTo` e `kms:ReEncryptFrom` sono necessarie per crittografare i volumi creati utilizzando gli snapshot. Se desideri configurare e crittografare solo nuovi volumi vuoti da allegare, puoi escludere le autorizzazioni `kms:ReEncryptTo` e `kms:ReEncryptFrom`. 

Il seguente frammento di codice JSON mostra le dichiarazioni della policy della chiave che puoi allegare alla policy della chiave KMS. L'utilizzo di queste istruzioni consentirà ad Amazon ECS di utilizzare la chiave per crittografare il volume EBS. Per usare gli esempi di dichiarazioni della policy, sostituire `user input placeholders` con le proprie informazioni. Come sempre, configurare solo le autorizzazioni necessarie.

```
{
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:DescribeKey",
      "Resource":"*"
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": [
      "kms:GenerateDataKey*",
      "kms:ReEncryptTo",
      "kms:ReEncryptFrom"
      ],
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        }
      }
    },
    {
      "Effect": "Allow",
      "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" },
      "Action": "kms:CreateGrant",
      "Resource":"*",
      "Condition": {
        "StringEquals": {
          "kms:CallerAccount": "aws_account_id",
          "kms:ViaService": "ec2.region.amazonaws.com"
        },
        "ForAnyValue:StringEquals": {
          "kms:EncryptionContextKeys": "aws:ebs:id"
        },
        "Bool": {
          "kms:GrantIsForAWSResource": true
        }
      }
    }
```

Per maggiori informazioni sulle autorizzazioni e le policy della chiave, consultare [Key policies in AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) e [permissions AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) nella *Guida per sviluppatori di AWS KMS *. Per la risoluzione dei problemi degli allegati dei volumi EBS relativi alle autorizzazioni chiave, consultare [Risoluzione dei problemi relativi ai volumi di Amazon EBS collegati alle attività di Amazon ECS](troubleshoot-ebs-volumes.md).

# Specificare la configurazione del volume Amazon EBS nell'implementazione di Amazon ECS
<a name="configure-ebs-volume"></a>

Dopo aver registrato una definizione di attività con il parametro `configuredAtLaunch` impostato su `true`, puoi configurare un volume Amazon EBS durante l'implementazione quando esegui un'attività autonoma o quando crei o aggiorni un servizio. Per ulteriori informazioni su come posticipare la configurazione del volume all'ora di avvio utilizzando il parametro `configuredAtLaunch`, consultare [Rimanda la configurazione del volume all'ora di avvio nella definizione di un'attività di Amazon ECS](specify-ebs-config.md).

Per configurare un volume, puoi utilizzare Amazon ECS APIs oppure puoi passare un file JSON come input per i seguenti comandi: AWS CLI 
+ `[run-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/run-task.html)` per eseguire un'attività ECS autonoma.
+ `[start-task](https://docs.aws.amazon.com/cli/latest/reference/ecs/start-task.html)` per eseguire un'attività ECS autonoma in un'istanza di container specifica. Questo comando non è applicabile alle attività di Fargate.
+ `[create-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/create-service.html)` per creare un nuovo servizio ECS.
+ `[update-service](https://docs.aws.amazon.com/cli/latest/reference/ecs/update-service.html)` per aggiornare un servizio esistente.

**Nota**  
Affinché un contenitore della tua attività possa scrivere sul volume Amazon EBS montato, deve disporre delle autorizzazioni di file system appropriate. Quando specifichi un utente non root nella definizione del contenitore, Amazon ECS configura automaticamente il volume con autorizzazioni basate sul gruppo che consentono all'utente specificato di leggere e scrivere sul volume. Se non viene specificato alcun utente, il contenitore funziona come root e ha pieno accesso al volume.

 È possibile anche configurare un volume Amazon EBS utilizzando Console di gestione AWS. Per ulteriori informazioni, consultare [Esecuzione di un'applicazione come attività Amazon ECS](standalone-task-create.md), [Creazione di un'implementazione di aggiornamenti continui di Amazon ECS](create-service-console-v2.md) e [Aggiornamento di un servizio Amazon ECS](update-service-console-v2.md).

Il seguente frammento di codice JSON mostra tutti i parametri di un volume Amazon EBS che può essere configurato al momento dell'implementazione. Per utilizzare questi parametri per la configurazione del volume, sostituire `user input placeholders` con le proprie informazioni. Per ulteriori informazioni sui parametri di configurazione, consultare [Volume configurations](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_definition_parameters.html#sd-volumeConfigurations).

```
"volumeConfigurations": [
        {
            "name": "ebs-volume", 
            "managedEBSVolume": {
                "encrypted": true, 
                "kmsKeyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", 
                "volumeType": "gp3", 
                "sizeInGiB": 10, 
                "snapshotId": "snap-12345", 
                "volumeInitializationRate":100,
                "iops": 3000, 
                "throughput": 125, 
                "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ], 
                "roleArn": "arn:aws:iam::1111222333:role/ecsInfrastructureRole", 
                 "terminationPolicy": {
                    "deleteOnTermination": true//can't be configured for service-managed tasks, always true 
                },
                "filesystemType": "ext4"
            }
        }
    ]
```

**Importante**  
Assicurarsi che `volumeName`, specificato nella configurazione, sia uguale a `volumeName`, specificato nella definizione dell'attività.

Per informazioni sulla verifica dello stato del volume dell'allegato, consultare [Risoluzione dei problemi relativi ai volumi di Amazon EBS collegati alle attività di Amazon ECS](troubleshoot-ebs-volumes.md). Per informazioni sul ruolo dell'infrastruttura Amazon ECS AWS Identity and Access Management (IAM) necessario per l'allegato del volume EBS, consulta. [Ruolo IAM dell’infrastruttura Amazon ECS](infrastructure_IAM_role.md)

Di seguito sono riportati alcuni frammenti di esempio JSON che mostrano la configurazione dei volumi Amazon EBS. Questi esempi possono essere utilizzati salvando gli snippet in file JSON e passando i file come parametri (utilizzando il parametro) per i `--cli-input-json file://filename` comandi. AWS CLI Sostituisci `user input placeholders` con le informazioni appropriate.

## Configurare un volume per un'attività autonoma
<a name="ebs-run-task"></a>

Il seguente frammento mostra la sintassi per configurare i volumi di Amazon EBS per l'allegato a un'attività autonoma. Il seguente frammento di codice JSON mostra la sintassi per la configurazione delle impostazioni `volumeType`, `sizeInGiB`, `encrypted` e `kmsKeyId`. La configurazione specificata nel file JSON viene utilizzata per creare e allegare un volume EBS all'attività autonoma.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

## Configurare un volume al momento della creazione del servizio
<a name="ebs-create-service"></a>

Il seguente frammento mostra la sintassi per configurare i volumi di Amazon EBS per l'allegato alle attività gestite da un servizio. I volumi provengono dallo snapshot specificato utilizzando il parametro `snapshotId` a una velocità di 200 MiB/s. La configurazione specificata nel file JSON viene utilizzata per creare e allegare un volume EBS a ogni attività gestita da un servizio.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
              "snapshotId": "snap-12345",
              "volumeInitializationRate": 200
            }
        }
   ]
}
```

## Configura un volume al momento dell'aggiornamento del servizio
<a name="ebs-update-service"></a>

Il seguente frammento di codice JSON mostra la sintassi per l'aggiornamento di un servizio che in precedenza non aveva volumi Amazon EBS configurati per il collegamento alle attività. È necessario fornire l'ARN di una revisione della definizione dell'attività con `configuredAtLaunch` impostato su `true`. Il seguente frammento di codice JSON mostra la sintassi per la configurazione delle impostazioni `volumeType`, `sizeInGiB`, `throughput`, `iops` e `filesystemType`. Questa configurazione viene utilizzata per creare e allegare un volume EBS a ogni attività gestita da un servizio.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": [
        {
            "name": "myEbsVolume",
            "managedEBSVolume": {
              "roleArn":"arn:aws:iam::1111222333:role/ecsInfrastructureRole",
               "volumeType": "gp3",
                "sizeInGiB": 100,
                 "iops": 3000, 
                "throughput": 125, 
                "filesystemType": "ext4"
            }
        }
   ]
}
```

### Configurare un servizio per non utilizzare più i volumi Amazon EBS
<a name="ebs-service-disable-ebs"></a>

Il seguente frammento di codice JSON mostra la sintassi per aggiornare un servizio in modo che non utilizzi più i volumi Amazon EBS. È necessario fornire l'ARN di una definizione di attività con `configuredAtLaunch` impostato su `false` o una definizione di attività senza il parametro `configuredAtLaunch`. È inoltre necessario fornire un oggetto `volumeConfigurations` vuoto.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "service": "mysvc",
   "desiredCount": 2,
   "volumeConfigurations": []
}
```

## Policy di terminazione per i volumi di Amazon EBS
<a name="ebs-volume-termination-policy"></a>

Quando si termina un'attività Amazon ECS, questo utilizza il valore `deleteOnTermination` per determinare se il volume Amazon EBS associato all'attività terminata deve essere eliminato. Per impostazione predefinita, i volumi EBS collegati alle attività vengono eliminati quando l'attività viene terminata. Per le attività autonome, è possibile modificare questa impostazione per preservare il volume al termine dell'attività.

**Nota**  
I volumi collegati alle attività gestite da un servizio non vengono conservati e vengono sempre eliminati al termine della stessa.

## Tag volumi Amazon EBS
<a name="ebs-volume-tagging"></a>

È possibile etichettare i volumi Amazon EBS utilizzando l'oggetto `tagSpecifications`. Utilizzando l'oggetto, è possibile fornire tag personalizzati e impostare la propagazione dei tag dalla definizione dell'attività o dal servizio, a seconda che il volume sia collegato a un'attività autonoma o a un'attività in un servizio. Il numero massimo di tag che è possibile collegare a un volume è pari a 50.

**Importante**  
Amazon ECS allega automaticamente i tag `AmazonECSManaged` e `AmazonECSCreated` riservati a un volume Amazon EBS. Ciò significa che è possibile controllare l'allegato di un massimo di 48 tag aggiuntivi a un volume. Questi tag aggiuntivi possono essere tag definiti dall'utente, gestiti da ECS o propagati.

Se si desidera aggiungere tag gestiti da Amazon ECS al proprio volume, è necessario impostare `enableECSManagedTags` su `true` nella propria chiamata `UpdateService`, `CreateService`, `RunTask` o `StartTask`. Se si attivano i tag gestiti da Amazon ECS, quest'ultimo etichetterà automaticamente il volume con informazioni su cluster e servizi (`aws:ecs:clusterName` e `aws:ecs:serviceName`). Per ulteriori informazioni sull'etichettare le risorse di Amazon ECS, consultare [Tagging your Amazon ECS resources](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-using-tags.html).

Il seguente frammento di codice JSON mostra la sintassi per etichettare ogni volume Amazon EBS collegato a ciascuna attività in un servizio con un tag definito dall'utente. Per utilizzare questo esempio per la creazione di un servizio, sostituisci `user input placeholders` con le tue informazioni.

```
{
   "cluster": "mycluster",
   "taskDefinition": "mytaskdef",
   "serviceName": "mysvc",
   "desiredCount": 2,
   "enableECSManagedTags": true,
   "volumeConfigurations": [
        {
            "name": "datadir",
            "managedEBSVolume": {
                "volumeType": "gp3",
                "sizeInGiB": 100,
                 "tagSpecifications": [
                    {
                        "resourceType": "volume", 
                        "tags": [
                            {
                                "key": "key1", 
                                "value": "value1"
                            }
                        ], 
                        "propagateTags": "NONE"
                    }
                ],
                "roleArn":"arn:aws:iam:1111222333:role/ecsInfrastructureRole",
                "encrypted": true,
                "kmsKeyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
            }
        }
   ]
}
```

**Importante**  
È necessario specificare un tipo di risorsa `volume` per etichettare i volumi Amazon EBS.

# Prestazioni dei volumi Amazon EBS per le attività on-demand di Fargate
<a name="ebs-fargate-performance-limits"></a>

Il volume, gli IOPS e il throughput di base di Amazon EBS disponibili per un'attività on demand di Fargate dipendono dal numero totale di unità CPU richieste per l'attività. Se si richiede 0,25, 0,5 o 1 unità CPU virtuale (vCPU) per l'attività Fargate, consigliamo di configurare un volume SSD per uso generico (`gp2` o`gp3`) o un volume Unità disco rigido (HDD) (`st1` o `sc1`). Se si richiede più di 1 vCPU per l'attività Fargate, i seguenti limiti di prestazioni di base si applicano a un volume Amazon EBS collegato all'attività. È possibile ottenere temporaneamente prestazioni EBS superiori ai seguenti limiti. Consigliamo, tuttavia, di pianificare il carico di lavoro in base a questi limiti.


| Unità CPU richieste (in v) CPUs | IOPS di base di Amazon EBS (16 KiB I/O) | Throughput di base di Amazon EBS (in, MiBps 128 KB di I/O) | Larghezza di banda della rete di base (in Mbps) | 
| --- | --- | --- | --- | 
| 2 | 3.000 | 75 | 360 | 
| 4 | 5.000 | 120 | 1.150 | 
| 8 | 10.000 | 250 | 2.300 | 
| 16 | 15.000 | 500 | 4.500 | 

**Nota**  
 Quando si configura un volume Amazon EBS per il collegamento a un'attività Fargate, il limite di prestazioni di Amazon EBS per l'attività Fargate viene condiviso tra l'archivio temporaneo dell'attività e il volume allegato.

# Prestazioni dei volumi Amazon EBS per le attività EC2
<a name="ebs-fargate-performance-limits-ec2"></a>

Amazon EBS fornisce i tipi di volume, che presentano caratteristiche di prestazioni e prezzi diversi, consentendo di definire le prestazioni e i costi di archiviazione in base alle esigenze imposte dalle proprie applicazioni. Per informazioni sulle prestazioni, inclusi IOPS per volume e throughput per volume, consultare [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) nella *Guida per l'utente di Amazon Elastic Block Store*.

# Prestazioni dei volumi Amazon EBS per le attività di istanze gestite da Amazon ECS
<a name="ebs-managed-instances-performance"></a>

Amazon EBS fornisce i tipi di volume, che presentano caratteristiche di prestazioni e prezzi diversi, consentendo di definire le prestazioni e i costi di archiviazione in base alle esigenze imposte dalle proprie applicazioni. Per informazioni sulle prestazioni, inclusi IOPS per volume e throughput per volume, consultare [Amazon EBS volume types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html) nella *Guida per l'utente di Amazon Elastic Block Store*.

# Risoluzione dei problemi relativi ai volumi di Amazon EBS collegati alle attività di Amazon ECS
<a name="troubleshoot-ebs-volumes"></a>

Potrebbe essere necessario risolvere i problemi o verificare il collegamento dei volumi Amazon EBS alle attività di Amazon ECS.

## Verificare lo stato di collegamento dei volumi
<a name="troubleshoot-ebs-volumes-location"></a>

Puoi utilizzare il Console di gestione AWS per visualizzare lo stato dell'allegato di un volume Amazon EBS a un'attività Amazon ECS. Se l'attività inizia e l'allegato fallisce, verrà visualizzato anche un motivo dello stato che si può utilizzare per risolvere il problema. Il volume creato verrà eliminato e l'operazione verrà interrotta. Per ulteriori informazioni sui motivi di stato, consultare [Motivi dello stato dell'allegato del volume Amazon EBS alle attività di Amazon ECS](troubleshoot-ebs-volumes-scenarios.md).

**Per visualizzare lo stato degli allegati di un volume e il motivo dello stato utilizzando la console**

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

1. Nella pagina **Cluster**, scegliere il cluster in cui è in esecuzione l'attività. Viene visualizzata la pagina dei dettagli del cluster.

1. Nella pagina dettagli del cluster, scegliere la scheda **Attività**.

1. Scegliere l'attività per la quale si desidera visualizzare lo stato degli allegati del volume. Potrebbe essere necessario utilizzare **Filtra lo stato desiderato** e scegliere **Arrestato** se l'attività che si desidera esaminare è stata interrotta.

1. Nella pagina dettagli dell'attività, scegliere la scheda **Volumi**. Sarà possibile visualizzare lo stato degli allegati del volume Amazon EBS in **Stato degli allegati**. Se il volume non riesce a collegarsi all'attività, è possibile scegliere lo stato in **Stato degli allegati** per visualizzare la causa dell'errore.

Puoi anche visualizzare lo stato degli allegati al volume di un'attività e il motivo dello stato associato utilizzando l'[DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)API.

## Errori di servizio e attività
<a name="service-task-failures"></a>

È possibile che si verifichino errori di servizio o attività non specifici dei volumi Amazon EBS che possono influire sull'allegato del volume. Per ulteriori informazioni, consultare la pagina
+ [Messaggi di evento relativi ai servizi](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-event-messages.html)
+ [Codici di errore dell'attività arrestata](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/stopped-task-error-codes.html)
+ [Motivi di errore dell'API](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html)

# Il contenitore non può scrivere sul volume Amazon EBS
<a name="troubleshoot-non-root-container"></a>

Utente non root senza autorizzazioni adeguate  
Quando specifichi un utente non root nella definizione del contenitore, Amazon ECS configura automaticamente il volume con autorizzazioni basate sul gruppo per consentire l'accesso in scrittura. Tuttavia, se continui a riscontrare problemi di autorizzazione:  
+ Verifica che il `user` parametro sia specificato correttamente nella definizione del contenitore utilizzando il formato `uid:gid` (ad esempio,`1001:1001`).
+ Assicurati che l'immagine del contenitore non prevalga sulle autorizzazioni dell'utente dopo il montaggio del volume.
+ Verifica che l'applicazione sia in esecuzione con l'ID utente previsto esaminando i log del contenitore o utilizzando Amazon ECS Exec per ispezionare il contenitore in esecuzione.

Utente root con problemi di autorizzazione  
Se non è specificato alcun utente nella definizione del contenitore, il contenitore funziona come root e dovrebbe avere pieno accesso al volume. Se riscontri problemi:  
+ Verifica che il volume sia montato correttamente controllando i punti di montaggio all'interno del contenitore.
+ Assicurati che il volume non sia configurato come di sola lettura nella configurazione del punto di montaggio.

Attività in più contenitori con utenti diversi  
Nelle attività con più contenitori eseguiti come utenti diversi, Amazon ECS gestisce automaticamente le autorizzazioni di gruppo per consentire a tutti gli utenti specificati di scrivere sul volume. Se i contenitori non sono in grado di scrivere:  
+ Verifica che tutti i contenitori che richiedono l'accesso in scrittura abbiano il `user` parametro configurato correttamente.
+ Verificate che il volume sia montato in tutti i contenitori che devono accedervi.

Per ulteriori informazioni sulla configurazione degli utenti nelle definizioni dei container, consulta [Parametri di definizione delle attività di Amazon ECS per Fargate](https://docs.aws.amazon.com/./task_definition_parameters.html). 

# Motivi dello stato dell'allegato del volume Amazon EBS alle attività di Amazon ECS
<a name="troubleshoot-ebs-volumes-scenarios"></a>

Utilizza il seguente riferimento per risolvere i problemi che potresti riscontrare sotto forma di motivi di stato Console di gestione AWS durante la configurazione dei volumi Amazon EBS da allegare alle attività di Amazon ECS. Per ulteriori informazioni sulla localizzazione di questi motivi di stato nella console, consultare [Verificare lo stato di collegamento dei volumi](troubleshoot-ebs-volumes.md#troubleshoot-ebs-volumes-location).

ECS non è stato in grado di assumere il ruolo dell'infrastruttura ECS configurato 'arn:aws:iam: ::role/ '. *111122223333* *ecsInfrastructureRole* Verificare che il ruolo passato abbia un rapporto di fiducia adeguato con Amazon ECS  
Questo motivo dello stato viene visualizzato nei seguenti scenari.  
+  Fornire un ruolo IAM senza la necessaria policy di attendibilità allegata. Amazon ECS non può accedere al ruolo IAM dell'infrastruttura Amazon ECS che è stato fornito se il ruolo non dispone della policy di attendibilità necessaria. L'attività può rimanere bloccata nello stato `DEPROVISIONING`. Per ulteriori informazioni sulla policy di attendibilità necessaria, consultare [Ruolo IAM dell’infrastruttura Amazon ECS](infrastructure_IAM_role.md).
+ L'utente IAM non è autorizzato a trasferire il ruolo dell'infrastruttura Amazon ECS ad Amazon ECS. L'attività può rimanere bloccata nello stato `DEPROVISIONING`. Per evitare questo problema, è possibile allegare l'autorizzazione `PassRole` al proprio utente. Per ulteriori informazioni, consultare [Ruolo IAM dell’infrastruttura Amazon ECS](infrastructure_IAM_role.md).
+ Il ruolo IAM non dispone delle autorizzazioni necessarie per gli allegati del volume Amazon EBS. L'attività può rimanere bloccata nello stato `DEPROVISIONING`. Per ulteriori informazioni sulle autorizzazioni specifiche necessarie per collegare i volumi Amazon EBS alle attività, consultare [Ruolo IAM dell’infrastruttura Amazon ECS](infrastructure_IAM_role.md).
È possibile anche visualizzare questo messaggio di errore a causa di un ritardo nella propagazione dei ruoli. Se il problema non si risolve riprovando a utilizzare il ruolo dopo aver atteso qualche minuto, è possibile che tu abbia configurato erroneamente la policy di attendibilità per il ruolo.

ECS non è riuscito a configurare il volume EBS. Incontro IdempotentParameterMismatch «; «Il token client che hai fornito è associato a una risorsa che è già stata eliminata. Utilizzare un token client diverso.”  
I seguenti scenari AWS KMS chiave possono portare alla `IdempotentParameterMismatch` visualizzazione di un messaggio:  
+ Specificare un ARN, un ID o un alias della chiave KMS che non è valido. In questo scenario, l'attività potrebbe sembrare avviata correttamente, ma alla fine non riesce perché AWS autentica la chiave KMS in modo asincrono. Per ulteriori informazioni, consultare [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) nella *Guida per l'utente di Amazon EC2*.
+ Fornire una chiave gestita dal cliente priva delle autorizzazioni che consentono al ruolo IAM dell'infrastruttura Amazon ECS di utilizzare la chiave per la crittografia. Per evitare problemi di autorizzazione relativi alle policy chiave, consulta la policy AWS KMS chiave di esempio in [Data encryption for Amazon EBS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ebs-volumes.html#ebs-kms-encryption) Volumes.
Puoi configurare Amazon EventBridge per inviare eventi di volume Amazon EBS e eventi di modifica dello stato delle attività di Amazon ECS a una destinazione, ad esempio gruppi Amazon CloudWatch . È quindi possibile utilizzare questi eventi per identificare lo specifico problema relativo alla chiave gestita dal cliente che ha interessato l'allegato del volume. Per ulteriori informazioni, consultare la pagina  
+  [Come posso creare un gruppo di CloudWatch log da utilizzare come destinazione per una EventBridge regola?](https://repost.aws/knowledge-center/cloudwatch-log-group-eventbridge) su AWS Re:post.
+ [Task state change events](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html#ecs_task_events).
+ [ EventBridge Eventi Amazon per Amazon EBS nella Guida](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-cloud-watch-events.html) per l'*utente di Amazon EBS.*

ECS è scaduto durante la configurazione dell'allegato del volume EBS all'attività.  
I seguenti scenari di formato del file system generano questo messaggio.  
+ Il formato del file system specificato durante la configurazione non è compatibile con il [sistema operativo dell'attività](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RuntimePlatform.html).
+ Configurare un volume Amazon EBS da creare da uno snapshot e il formato del file system dello snapshot non è compatibile con il sistema operativo dell'attività. Per i volumi creati da una snapshot, è necessario specificare lo stesso tipo di file system utilizzato dal volume al momento della creazione della snapshot.
È possibile utilizzare i log degli agenti container di Amazon ECS per risolvere il problema di questo messaggio per le attività EC2. Per ulteriori informazioni, consultare [Amazon ECS log file locations](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/logs.html) e [Amazon ECS log collector](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-logs-collector.html).

# Usare i volumi Amazon EFS con Amazon ECS
<a name="efs-volumes"></a>

Amazon Elastic File System (Amazon EFS) offre archiviazione file semplice e scalabile da utilizzare con i processi Amazon ECS. Con Amazon EFS, la capacità di storage è elastica. La capacità di storage aumenta e si riduce automaticamente quando si aggiungono e si rimuovono i file. Le tue applicazioni possono disporre dello storage di cui hanno bisogno nel momento in cui ne hanno bisogno.

Puoi utilizzare i file system Amazon EFS con Amazon ECS per esportare i dati del file system all'interno del tuo parco istanze di container. In questo modo, le tue attività hanno accesso allo stesso storage persistente, indipendentemente dall'istanza in cui si trovano. Inoltre, per utilizzare il file system, le tue definizioni di attività devono fare riferimento ai montaggi di volume inerenti l'istanza di container.

Per un tutorial, vedere [Configurazione dei file system Amazon EFS per Amazon ECS utilizzando la console](tutorial-efs-volumes.md).

## Considerazioni
<a name="efs-volume-considerations"></a>

 Quando usi i volumi Amazon EFS, tieni presente quanto segue:
+ Per le attività che utilizzano EC2, il supporto del file system Amazon EFS è stato aggiunto come anteprima pubblica con l'AMI ottimizzata per Amazon ECS versione `20191212` con l'agente del container versione 1.35.0. Tuttavia, il supporto del file system Amazon EFS è entrato nella disponibilità generale con l'AMI ottimizzata per Amazon ECS versione `20200319` con l'agente del container versione 1.38.0, che conteneva il punto di accesso Amazon EFS e le funzionalità di autorizzazione IAM. Per utilizzare queste funzionalità, ti consigliamo di utilizzare la versione AMI ottimizzata per Amazon ECS `20200319` o versioni successive. Per ulteriori informazioni, consulta [Linux ottimizzato per Amazon ECS AMIs](ecs-optimized_AMI.md).
**Nota**  
Se crei la tua AMI, è necessario utilizzare l'agente del container 1.38.0 o versione successiva, `ecs-init` versione 1.38.0-1 o successiva ed emettere i seguenti comandi sull'istanza Amazon EC2 per abilitare il plug-in del volume Amazon ECS. I comandi dipendono dal fatto che si stia usando Amazon Linux 2 o Amazon Linux come immagine di base.  
Amazon Linux 2  

  ```
  yum install amazon-efs-utils
  systemctl enable --now amazon-ecs-volume-plugin
  ```
Amazon Linux  

  ```
  yum install amazon-efs-utils
  sudo shutdown -r now
  ```
+ Per le attività ospitate su Fargate, i file system Amazon EFS sono supportati sulla versione della piattaforma 1.4.0 o successiva (Linux). Per ulteriori informazioni, consulta [Versioni della piattaforma Fargate per Amazon ECS](platform-fargate.md).
+ Quando utilizzi volumi Amazon EFS per attività ospitate su Fargate, Fargate crea un container supervisor responsabile della gestione del volume Amazon EFS. Il container supervisor utilizza una piccola quantità di memoria e di CPU dell'attività. Il container supervisor è visibile quando si sottopone a query l'endpoint dei metadati dell'attività versione 4. Inoltre, è visibile in CloudWatch Container Insights come nome del contenitore. `aws-fargate-supervisor` Per ulteriori informazioni durante l'utilizzo di EC2, consultare [Versione 4 degli endpoint dei metadati delle attività di Amazon ECS](task-metadata-endpoint-v4.md). Per ulteriori informazioni durante l'utilizzo di Fargate, consultare [Endpoint metadati delle attività Amazon ECS versione 4 per le attività su Fargate](task-metadata-endpoint-v4-fargate.md).
+ L'utilizzo di volumi Amazon EFS o la specifica di una `EFSVolumeConfiguration` non sono supportati su istanze esterne.
+ L'utilizzo dei volumi Amazon EFS è supportato per le attività che utilizzano istanze gestite da Amazon ECS.
+ Consigliamo di impostare il parametro `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` nel file di configurazione dell'agente su un valore inferiore a quello predefinito (circa 1 ora). Questa modifica aiuta a prevenire la scadenza delle credenziali di montaggio EFS e consente la pulizia dei supporti che non sono in uso.  Per ulteriori informazioni, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).

## Utilizzo dei punti di accesso Amazon EFS
<a name="efs-volume-accesspoints"></a>

I punti di accesso Amazon EFS sono punti di accesso specifici dell'applicazione in un file system EFS per la gestione dell'accesso dell'applicazione ai set di dati condivisi. Per ulteriori informazioni sui punti di accesso Amazon EFS e su come controllare l'accesso a tali punti, consulta [Working with Amazon EFS Access Points](https://docs.aws.amazon.com/efs/latest/ug/efs-access-points.html) (Utilizzo dei punti di accesso Amazon EFS) nella *Guida per l'utente di Amazon Elastic File System*.

I punti di accesso possono applicare un’identità utente, inclusi i gruppi dell’utente POSIX, per tutte le richieste al file system effettuate tramite il punto di accesso. I punti di accesso possono inoltre applicare una directory root diversa per il file system. In questo modo i client possono accedere solo ai dati nella directory specificata o nelle relative sottodirectory.

**Nota**  
Quando crei un punto di accesso EFS, è necessario specificare un percorso nel file system da utilizzare come directory root. Quando si fa riferimento al file system EFS con un ID punto di accesso nella definizione di attività Amazon ECS, la directory root deve essere omessa o impostata su `/` in modo da forzare il percorso impostato sul punto di accesso EFS.

Puoi utilizzare un ruolo IAM del processo Amazon ECS per imporre che applicazioni specifiche utilizzino un punto di accesso specifico. Combinando le policy IAM con i punti di accesso, puoi fornire accesso sicuro a set di dati specifici per le applicazioni. Per ulteriori informazioni su come utilizzare i ruoli IAM dell'attività, consulta [Ruolo IAM dell'attività Amazon ECS](task-iam-roles.md).

# Best practice per l'utilizzo di volumi Amazon EFS con Amazon ECS
<a name="efs-best-practices"></a>

Prendere nota dei seguenti consigli di best practice quando si utilizza Amazon EFS con Amazon ECS.

## Sicurezza e controlli di accesso per i volumi Amazon EFS
<a name="storage-efs-security"></a>

Amazon EFS offre funzionalità di controllo degli accessi che è possibile utilizzare per garantire che i dati archiviati in un file system Amazon EFS siano sicuri e accessibili solo dalle applicazioni che ne hanno bisogno. È possibile proteggere i dati abilitando la crittografia dei dati memorizzati su disco e in transito. Per ulteriori informazioni, consulta [Crittografia dati in Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/encryption.html) nella *Amazon Elastic File System User Guide*.

Oltre alla crittografia dei dati, è possibile anche utilizzare Amazon EFS per limitare l'accesso a un file system. Esistono tre modi per implementare il controllo degli accessi in EFS.
+ **Gruppi di sicurezza**: con gli obiettivi di montaggio di Amazon EFS, è possibile configurare un gruppo di sicurezza utilizzato per consentire e negare il traffico di rete. È possibile configurare il gruppo di sicurezza collegato ad Amazon EFS per consentire il traffico NFS (porta 2049) dal gruppo di sicurezza collegato alle istanze Amazon ECS o, quando si utilizza la modalità di rete `awsvpc`, l'attività di Amazon ECS.
+ **IAM**: è possibile limitare l'accesso a un file system Amazon EFS utilizzando IAM. Una volta configurate, le attività di Amazon ECS richiedono un ruolo IAM per l'accesso al file system per montare un file system EFS. Per ulteriori informazioni, consultare [Using IAM to control file system data access](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html) nella *Guida per l'utente di Amazon Elastic File System*.

  Le policy IAM possono inoltre applicare condizioni predefinite, ad esempio richiedere a un client di utilizzare TLS durante la connessione a un file system Amazon EFS. Per ulteriori informazioni, consultare [Amazon EFS condition keys for clients](https://docs.aws.amazon.com/efs/latest/ug/iam-access-control-nfs-efs.html#efs-condition-keys-for-nfs), nella *Guida per l'utente di Amazon Elastic File System*.
+ **Punti di accesso Amazon EFS**: i punti di accesso di Amazon EFS sono punti di accesso specifici dell'applicazione in un file system Amazon EFS. È possibile utilizzare i punti di accesso per applicare un'identità utente, inclusi i gruppi dell'utente POSIX, per tutte le richieste al file system effettuate tramite il punto di accesso. I punti di accesso possono inoltre applicare una directory root diversa per il file system. In questo modo i client possono accedere solo ai dati nella directory specificata o nelle relative sottodirectory.

### Policy IAM
<a name="storage-efs-security-iam"></a>

È possibile utilizzare le policy IAM per controllare l'accesso al file system Amazon EFS.

È possibile specificare le seguenti operazioni per i client in un file system utilizzando una policy del file system.


| Azione | Description | 
| --- | --- | 
|  `elasticfilesystem:ClientMount`  |  Fornisce un accesso in sola lettura a un file system.  | 
|  `elasticfilesystem:ClientWrite`  |  Fornisce le autorizzazioni di scrittura su un file system.  | 
|  `elasticfilesystem:ClientRootAccess`  |  Fornisce la possibilità di utilizzare l'utente root quando si accede a un file system.  | 

È necessario specificare ogni azione in una policy. Le policy possono essere definite nei seguenti modi:
+ Basata su client: collega la policy al ruolo dell'attività

  Impostare l'opzione **Autorizzazione IAM** quando si crea la definizione dell'attività. 
+ Basata sulle risorse: collega la policy al file system Amazon EFS

  Se la policy basata sulle risorse non esiste, per impostazione predefinita al momento della creazione del file system l'accesso è concesso a tutti i principali (\$1). 

Quando si imposta l'opzione **Autorizzazione IAM**, uniamo la policy associata al ruolo dell'attività e quella basata sulle risorse Amazon EFS. L'opzione **Autorizzazione IAM** trasmette l'identità dell'attività (il ruolo dell'attività) con la policy ad Amazon EFS. Ciò consente alla policy basata sulle risorse di Amazon EFS di avere un contesto per l'utente o il ruolo IAM specificato nella policy. Se non imposti l'opzione, la policy a livello di risorsa di Amazon EFS identifica l'utente IAM come “anonimo”.

Prendi in considerazione l'implementazione di tutti e tre i controlli di accesso su un file system Amazon EFS per la massima sicurezza. Ad esempio, puoi configurare il gruppo di sicurezza collegato a un punto di montaggio Amazon EFS per consentire solo il traffico NFS in ingresso da un gruppo di sicurezza associato all'istanza di container o all'attività Amazon ECS. Inoltre, è possibile configurare Amazon EFS per richiedere un ruolo IAM per accedere al file system, anche se la connessione proviene da un gruppo di sicurezza consentito. Infine, è possibile utilizzare i punti di accesso di Amazon EFS per applicare le autorizzazioni utente POSIX e specificare le directory root per le applicazioni.

Il seguente frammento di definizione delle attività mostra come montare un file system Amazon EFS utilizzando un punto di accesso.

```
"volumes": [
    {
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-1234",
        "authorizationConfig": {
          "accessPointId": "fsap-1234",
          "iam": "ENABLED"
        },
        "transitEncryption": "ENABLED",
        "rootDirectory": ""
      },
      "name": "my-filesystem"
    }
]
```

## Prestazioni di volume Amazon EFS
<a name="storage-efs-performance"></a>

Amazon EFS offre due modalità di prestazioni: i I/O. General Purpose is suitable for latency-sensitive applications such as content management systems and CI/CD tools. In contrast, Max I/O file system General Purpose e Max sono adatti per carichi di lavoro come analisi dei dati, elaborazione multimediale e apprendimento automatico. Questi carichi di lavoro devono eseguire operazioni parallele da centinaia o addirittura migliaia di container e richiedono il throughput aggregato e gli IOPS più elevati possibili. Per ulteriori informazioni, consultare [Amazon EFS performance modes](https://docs.aws.amazon.com/efs/latest/ug/performance.html#performancemodes) nella *Guida per l'utente di Amazon Elastic File System*.

Alcuni carichi di lavoro sensibili alla latenza richiedono sia i I/O livelli più alti forniti dalla modalità Max I/O Performance sia la latenza più bassa fornita dalla modalità a prestazioni General Purpose. Per questo tipo di carico di lavoro, consigliamo di creare più file system in modalità prestazionale per uso generico. In questo modo, è possibile distribuire il carico di lavoro dell'applicazione su tutti questi file system, purché il carico di lavoro e le applicazioni possano supportarlo.

## Throughput dei volumi Amazon EFS
<a name="storage-efs-performance-throughput"></a>

Tutti i file system Amazon EFS hanno un throughput misurato associato determinato dalla quantità di throughput assegnato per i file system che utilizzano *Throughput assegnato* o dalla quantità di dati archiviati nella classe di archiviazione EFS Standard o a zona unica per i file system che utilizzano *Throughput di bursting*. Per ulteriori informazioni, consultare [Understanding metered throughput](https://docs.aws.amazon.com/efs/latest/ug/performance.html#read-write-throughput) nella *Guida per l'utente di Amazon Elastic File System*.

La modalità di throughput predefinita per i file system Amazon EFS è la modalità bursting. Con la modalità bursting, il throughput disponibile per un file system aumenta o diminuisce man mano che quest'ultimo cresce. Poiché i carichi di lavoro basati su file in genere registrano picchi, richiedendo livelli di throughput elevati per certi periodi di tempo e livelli di throughput inferiori per il resto, Amazon EFS è progettato per consentire livelli di throughput elevati per certi periodi di tempo. Inoltre, poiché molti carichi di lavoro richiedono un elevato livello di lettura, le operazioni di lettura vengono misurate con un rapporto 1:3 rispetto ad altre operazioni NFS (come la scrittura). 

Tutti i file system Amazon EFS offrono prestazioni di base costanti di 50 MB/s per ogni TB di storage Amazon EFS Standard o Amazon EFS One Zone. Tutti i file system (indipendentemente dalle dimensioni) possono arrivare a 100 MB/s. File systems with more than 1TB of EFS Standard or EFS One Zone storage can burst to 100 MB/s for each TB. Because read operations are metered at a 1:3 ratio, you can drive up to 300 MiBs/s per ogni TIB di velocità di lettura. Man mano che aggiungi dati al file system, il throughput massimo disponibile per il file system scala in modo lineare e automatico con l'archivio nella classe di archiviazione Amazon EFS Standard. Se è necessaria una quantità maggiore di throughput rispetto a quella che si può ottenere con la quantità di dati archiviati, è possibile configurare il Throughput assegnato sulla quantità specifica richiesta dal carico di lavoro.

Il throughput del file system è condiviso tra tutte le istanze di Amazon EC2 connesse a un file system. Ad esempio, un file system da 1 TB in grado di raggiungere il 100% MB/s del throughput può generare 100 unità MB/s da una singola istanza di Amazon EC2, ognuna con una velocità di 10 MB/s. Per ulteriori informazioni, consulta [Amazon EFS performance](https://docs.aws.amazon.com/efs/latest/ug/performance.html) nella *Guida per l'utente di Amazon Elastic File System*.

## Ottimizzazione dei costi per i volumi di Amazon EFS
<a name="storage-efs-costopt"></a>

Amazon EFS semplifica la scalabilità dell'archiviazione. I file system di Amazon EFS crescono automaticamente man mano che aggiungi più dati. Specialmente con la modalità *Throughput di bursting* di Amazon EFS, il throughput su Amazon EFS scala mentre le dimensioni del file system nella classe di archiviazione Standard aumentano. Per migliorare il throughput senza pagare costi aggiuntivi per il throughput assegnato su un file system EFS, è possibile condividere un file system Amazon EFS con più applicazioni. Utilizzando i punti di accesso Amazon EFS, puoi implementare l'isolamento dell'archiviazione nei file system Amazon EFS condivisi. In questo modo, anche se le applicazioni condividono ancora lo stesso file system, possono accedere ai dati solo con l'autorizzazione.

Man mano che i dati crescono, Amazon EFS ti aiuta a spostare automaticamente i file a cui si accede raramente in una classe di archiviazione inferiore. La classe di archiviazione Accesso Infrequente Amazon EFS Standard (IA) riduce i costi di archiviazione per i file ai quali non viene effettuato l'accesso ogni giorno. Ciò avviene senza sacrificare disponibilità elevata, durabilità elevata, elasticità e accesso al file system POSIX disponibili tramite Amazon EFS. Per ulteriori informazioni, consultare [EFS storage classes](https://docs.aws.amazon.com/efs/latest/ug/features.html) nella *Guida per l'utente di Amazon Elastic File System*.

Prendi in considerazione l'utilizzo delle policy del ciclo di vita di Amazon EFS per risparmiare automaticamente denaro spostando i file a cui si accede raramente nell'archivio di Amazon EFS IA. Per ulteriori informazioni, consulta [Amazon EFS lifecycle management](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html) nella *Guida per l'utente di Amazon Elastic File System*.

Quando si crea un file system Amazon EFS, è possibile scegliere se Amazon EFS replica i dati su più zone di disponibilità (Standard) o se li archivia in modo ridondante all'interno di un'unica zona di disponibilità. La classe di archiviazione Amazon EFS a zona unica può ridurre i costi di archiviazione di un margine significativo rispetto alle classi di archiviazione Amazon EFS Standard. Prendere in considerazione l'utilizzo della classe di archiviazione Amazon EFS a zona unica per carichi di lavoro che non richiedono resilienza Multi-AZ. È possibile ridurre ulteriormente il costo dell'archiviazione Amazon EFS a zona unica spostando i file a cui si accede raramente su Accesso infrequente a zona unica Amazon EFS. Per ulteriori informazioni, consulta la sezione [Amazon EFS Infrequent Access](https://aws.amazon.com/efs/features/infrequent-access/).

## Protezione dei dati dei volumi Amazon EFS
<a name="storage-efs-dataprotection"></a>

Amazon EFS archivia i dati in modo ridondante su più zone di disponibilità per file system utilizzando classi di archiviazione standard. Se si selezionano le classi di archiviazione Amazon EFS a zona unica, i dati vengono archiviati in modo ridondante all'interno di una singola zona di disponibilità. Inoltre, Amazon EFS è progettato per fornire il 99,999999999% (11 volte 9) di durabilità in un determinato anno.

Come per qualsiasi ambiente, è consigliabile disporre di un backup e creare protezioni contro l'eliminazione accidentale. Per i dati di Amazon EFS, tale best practice include un backup funzionante e regolarmente testato utilizzando AWS Backup. I file system che utilizzano le classi di archiviazione Amazon EFS a zona unica sono configurati per eseguire automaticamente il backup dei file per impostazione predefinita al momento della creazione del file system, a meno che non si scelga di disabilitare questa funzionalità. Per ulteriori informazioni, consultare [Backing up EFS file systems](https://docs.aws.amazon.com/efs/latest/ug/awsbackup.html) della *Guida per l'utente di Amazon Elastic File System*.

# Specificare di un file system Amazon EFS nella definizione di un'attività Amazon ECS
<a name="specify-efs-config"></a>

Per utilizzare i volumi del file system Amazon EFS per i container, è necessario specificare le configurazioni di volume e punto di montaggio nella definizione di attività. Il seguente frammento JSON della definizione di attività illustra la sintassi degli oggetti `volumes` e `mountPoints` per un container.

```
{
    "containerDefinitions": [
        {
            "name": "container-using-efs",
            "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
            "entryPoint": [
                "sh",
                "-c"
            ],
            "command": [
                "ls -la /mount/efs"
            ],
            "mountPoints": [
                {
                    "sourceVolume": "myEfsVolume",
                    "containerPath": "/mount/efs",
                    "readOnly": true
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "myEfsVolume",
            "efsVolumeConfiguration": {
                "fileSystemId": "fs-1234",
                "rootDirectory": "/path/to/my/data",
                "transitEncryption": "ENABLED",
                "transitEncryptionPort": integer,
                "authorizationConfig": {
                    "accessPointId": "fsap-1234",
                    "iam": "ENABLED"
                }
            }
        }
    ]
}
```

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

# Configurazione dei file system Amazon EFS per Amazon ECS utilizzando la console
<a name="tutorial-efs-volumes"></a>

Informazioni su come utilizzare i file system Amazon Elastic File System (Amazon EFS) con Amazon ECS.

## Fase 1: Creazione di un cluster Amazon ECS
<a name="efs-create-cluster"></a>

Utilizza la procedura seguente per creare un cluster Amazon ECS. 

**Creazione di un nuovo cluster (console Amazon ECS)**

Prima di iniziare, assegna l'autorizzazione IAM appropriata. Per ulteriori informazioni, consulta [Esempi di cluster Amazon ECS](security_iam_id-based-policy-examples.md#IAM_cluster_policies).

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

1. Seleziona la Regione da utilizzare nella barra di navigazione.

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

1. Nella pagina **Clusters** (Cluster), scegli **Create cluster** (Crea cluster).

1. In **Configurazione del cluster**, per **Nome cluster**, inserisci `EFS-tutorial` come nome del cluster.

1. (Facoltativo) Per modificare il VPC e le sottoreti in cui vengono avviati i processi e i servizi, in **Networking** (Reti), esegui una qualunque di queste operazioni:
   + Per rimuovere una sottorete, in **Subnets** (Sottoreti), scegli **X** per ogni sottorete da rimuovere.
   + Per passare a un VPC diverso da quello **di default**, in **VPC**, scegli un **VPC** esistente, poi in **Subnets** (Sottoreti), seleziona ciascuna sottorete.

1.  Per aggiungere istanze Amazon EC2 al cluster, espandi **Infrastruttura** e seleziona **Istanze Amazon EC2**. Successivamente, configura il gruppo Auto Scaling che funge da provider di capacità:

   1. Per creare un gruppo Auto Scaling, da **Auto Scaling group (ASG)** (Gruppo di Auto Scaling (ASG)), seleziona **Create new group** (Crea nuovo gruppo) e quindi fornisci i seguenti dettagli sul gruppo:
     + Per **Sistema operativo/architettura**, seleziona Amazon Linux 2.
     + In **EC2 instance type (Tipo di istanza EC2)**, selezionare `t2.micro`.

        In **SSH key pair** (Coppia di chiavi SSH), scegli la coppia che dimostra la tua identità quando ti connetti all'istanza.
     + In **Capacità**, inserisci `1`.

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

## Fase 2: creazione di un gruppo di sicurezza per le istanze Amazon EC2 e il file system Amazon EFS
<a name="efs-security-group"></a>

In questa fase, crea un gruppo di sicurezza per le istanze Amazon EC2 che consenta il traffico di rete in entrata sulla porta 80 e per il file system Amazon EFS che consenta l'accesso in entrata dalle istanze di container. 

Crea un gruppo di sicurezza per le istanze Amazon EC2 con le seguenti opzioni:
+ **Nome gruppo di sicurezza**: immetti un nome univoco per il gruppo di sicurezza.
+ **VPC**: il VPC identificato in precedenza per il cluster.
+ **Regola in entrata**
  + **Tipo**: **HTTP**
  + **Origine**: **0.0.0.0/0**.

Crea un gruppo di sicurezza per il file system Amazon EFS con le seguenti opzioni:
+ **Nome gruppo di sicurezza**: immetti un nome univoco per il gruppo di sicurezza. Ad esempio, `EFS-access-for-sg-dc025fa2`.
+ **VPC**: il VPC identificato in precedenza per il cluster.
+ **Regola in entrata**
  + **Tipo**: **NFS**
  + **Origine**: **personalizzato** con l'ID del gruppo di sicurezza creato per le istanze.

Per informazioni sulla creazione di un gruppo di sicurezza, consultare [Create a security group for your Amazon EC2 instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-security-group.html) nella *Guida per l'utente di Amazon EC2*.

## Fase 3: Creazione di un file system Amazon EFS
<a name="efs-create-filesystem"></a>

In questa fase, viene creato un file system Amazon EFS.

**Come creare un file system Amazon EFS per i processi di Amazon ECS**

1. Apri la console Amazon Elastic File System all'indirizzo [https://console.aws.amazon.com/efs/](https://console.aws.amazon.com/efs/).

1. Scegliere **Create file system (Crea file system)**.

1. Inserisci un nome per il file system, quindi scegli il VPC in cui sono ospitate le istanze di container. Di default, ciascuna sottorete nel VPC specificato riceve un target di montaggio che utilizza il gruppo di sicurezza predefinito per tale VPC. Quindi, scegli **Personalizza**.
**Nota**  
Questo tutorial dà per scontato che il file system Amazon EFS, il cluster Amazon ECS, le istanze di container e i processi si trovano nello stesso VPC. Per ulteriori informazioni sul montaggio di un file system da un VPC diverso, consultare [Walkthrough: Mount a file system from a different VPC](https://docs.aws.amazon.com/efs/latest/ug/efs-different-vpc.html) nella *Guida per l'utente di Amazon EFS*.

1. Nella pagina **Impostazioni del file system**, configura le impostazioni facoltative, quindi in **Impostazioni delle prestazioni**, scegli **Ottimizzazione** come modalità di throughput per il file system. Dopo aver configurato le impostazioni, seleziona **Avanti**.

   1. (Opzionale) Aggiungi tag al tuo file system. Ad esempio, puoi specificare un nome di file system univoco inserendolo nella colonna **Value** (Valore) accanto alla chiave **Name** (Nome).

   1. (Facoltativo) Abilita la gestione del ciclo di vita per risparmiare denaro in storage con accessi non frequenti. Per ulteriori informazioni, consulta [Gestione del ciclo di vita EFS](https://docs.aws.amazon.com/efs/latest/ug/lifecycle-management-efs.html) nella *Amazon Elastic File System User Guide*.

   1. (Facoltativo) Abilita la crittografia. Seleziona la casella di controllo per abilitare la crittografia del file system Amazon EFS inattivo.

1. Nella pagina **Accesso di rete**, in **Target di montaggio**, sostituisci la configurazione del gruppo di sicurezza esistente per ogni zona di disponibilità con il gruppo di sicurezza creato per il file system in [Fase 2: creazione di un gruppo di sicurezza per le istanze Amazon EC2 e il file system Amazon EFS](#efs-security-group), quindi scegli **Avanti**.

1.  Non è necessario configurare la **Policy del file system** per questo tutorial, quindi puoi saltare la sezione scegliendo **Avanti**.

1. Esamina le opzioni del file system e scegli **Crea** per completare il processo.

1. Dalla schermata **File system**, registra **ID del file system**. Nel passaggio successivo, si farà riferimento a questo valore nella definizione di attività di Amazon ECS.

## Fase 4: Aggiunta di contenuti al file system Amazon EFS
<a name="efs-add-content"></a>

In questa fase, monti il file system Amazon EFS su un'istanza Amazon EC2 e aggiungi contenuto. Questo è per scopi di test in questo tutorial, per illustrare la natura persistente dei dati. Quando si utilizza questa funzione è necessario disporre della propria applicazione o di un altro metodo di scrittura dei dati nel file system Amazon EFS.

**Come creare un'istanza di Amazon EC2 e montare il file system Amazon EFS**

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

1. Scegliere **Launch Instance (Avvia istanza)**.

1. In **Immagini di applicazioni e sistema operativo (Amazon Machine Image)**, seleziona **AMI (HVM) di Amazon Linux 2**.

1. In **Tipo di istanza**, mantieni il tipo di istanza predefinito `t2.micro`.

1.  In **Coppia di chiavi (registrazione)**, seleziona una coppia di chiavi per l'accesso SSH all'istanza.

1. In **Impostazioni di rete**, seleziona il VPC specificato per il file system Amazon EFS e il cluster Amazon ECS. Seleziona una sottorete e il gruppo di sicurezza dell'istanza creato in [Fase 2: creazione di un gruppo di sicurezza per le istanze Amazon EC2 e il file system Amazon EFS](#efs-security-group). Configura il gruppo di sicurezza dell'istanza. Assicurati che l'opzione **Assegna automaticamente IP pubblico** sia abilitata.

1. In **Configura storage**, scegli il pulsante **Modifica** per i file system, quindi scegli **EFS**. Seleziona il file system creato in [Fase 3: Creazione di un file system Amazon EFS](#efs-create-filesystem). Puoi modificare facoltativamente il punto di montaggio o lasciare il valore predefinito.
**Importante**  
Devi selezionare una sottorete prima di poter aggiungere un file system all'istanza.

1. Deseleziona l'opzione **Crea e allega automaticamente i gruppi di sicurezza**. Lascia selezionata l'altra casella di controllo. Scegli **Add shared file system** (Aggiungi file system condiviso).

1. In **Dettagli avanzati**, assicurati che lo script dati utente venga popolato automaticamente con le fasi di montaggio del file system Amazon EFS.

1.  In **Riepilogo**, assicurati che **Numero di istanze** sia **1**. Scegliere **Launch Instance (Avvia istanza)**.

1. Nella pagina **Avvia un'istanza**, scegli **Visualizza tutte le istanze** per visualizzare lo stato delle istanze. Inizialmente, **Stato dell'istanza** è `PENDING`. Quando lo stato cambia in `RUNNING` e l'istanza supera tutti i controlli di stato, l'istanza è pronta per l'uso.

Ora, connettiti all'istanza Amazon EC2 e aggiungi contenuti al file system Amazon EFS.

**Come connettersi all'istanza Amazon EC2 e aggiungere contenuti al file system Amazon EFS**

1. Esegui l'SSH sull'istanza Amazon EC2 creata. Per ulteriori informazioni, consultare [Connect to your Linux instance using SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html) nella *Guida per l'utente di Amazon EC2*.

1. Dalla finestra del terminale, esegui il comando **df -T** per verificare che il file system Amazon EFS sia montato. Nel seguente output, abbiamo evidenziato il montaggio del file system Amazon EFS.

   ```
   $ df -T
   Filesystem     Type            1K-blocks    Used        Available Use% Mounted on
   devtmpfs       devtmpfs           485468       0           485468   0% /dev
   tmpfs          tmpfs              503480       0           503480   0% /dev/shm
   tmpfs          tmpfs              503480     424           503056   1% /run
   tmpfs          tmpfs              503480       0           503480   0% /sys/fs/cgroup
   /dev/xvda1     xfs               8376300 1310952          7065348  16% /
   127.0.0.1:/    nfs4     9007199254739968       0 9007199254739968   0% /mnt/efs/fs1
   tmpfs          tmpfs              100700       0           100700   0% /run/user/1000
   ```

1. Passa alla directory in cui è montato il file system Amazon EFS. Nell'esempio precedente è `/mnt/efs/fs1`.

1. Crea un file denominato `index.html` con i seguenti contenuti:

   ```
   <html>
       <body>
           <h1>It Works!</h1>
           <p>You are using an Amazon EFS file system for persistent container storage.</p>
       </body>
   </html>
   ```

## Fase 5: creazione di una definizione di attività
<a name="efs-task-def"></a>

La seguente definizione di attività crea un volume di dati denominato `efs-html`. Il container `nginx` monta il volume di dati host nella radice NGINX, `/usr/share/nginx/html`.

**Per creare una nuova definizione di attività utilizzando la console Amazon ECS**

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

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

1. Scegli **Create new task definition** (Crea nuova definizione di attività), **Create new task definition with JSON** (Crea nuova definizione di attività con JSON).

1. Nella casella dell'editor JSON, copia e incolla il seguente testo JSON, sostituendo `fileSystemId` con l'ID del file system Amazon EFS.

   ```
   {
       "containerDefinitions": [
           {
               "memory": 128,
               "portMappings": [
                   {
                       "hostPort": 80,
                       "containerPort": 80,
                       "protocol": "tcp"
                   }
               ],
               "essential": true,
               "mountPoints": [
                   {
                       "containerPath": "/usr/share/nginx/html",
                       "sourceVolume": "efs-html"
                   }
               ],
               "name": "nginx",
               "image": "public.ecr.aws/docker/library/nginx:latest"
           }
       ],
       "volumes": [
           {
               "name": "efs-html",
               "efsVolumeConfiguration": {
                   "fileSystemId": "fs-1324abcd",
                   "transitEncryption": "ENABLED"
               }
           }
       ],
       "family": "efs-tutorial",
       "executionRoleArn":"arn:aws:iam::111122223333:role/ecsTaskExecutionRole"
   }
   ```
**Nota**  
Il ruolo IAM di esecuzione delle attività di Amazon ECS non richiede autorizzazioni specifiche relative ad Amazon EFS per montare un file system di Amazon EFS. Per impostazione predefinita, se non esiste una policy basata sulle risorse di Amazon EFS, l'accesso è concesso a tutti i principali (\$1) al momento della creazione del file system.  
Il ruolo dell'attività di Amazon ECS è richiesto solo se “Autorizzazione EFS IAM” è abilitata nella definizione dell'attività di Amazon ECS. Se abilitata, l'identità del ruolo dell'attività deve avere accesso al file system di Amazon EFS nella policy basata sulle risorse di Amazon EFS e l'accesso anonimo deve essere disabilitato.

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

## Fase 6: Esecuzione di un processo e visualizzazione dei risultati
<a name="efs-run-task"></a>

Ora che il file system Amazon EFS è stato creato e che è presente del contenuto Web per il container NGINX da servire, è possibile eseguire un processo utilizzando la definizione di attività creata. I server Web NGINX gestiscono la pagina HTML semplice. Se aggiorni il contenuto del tuo file system Amazon EFS, le modifiche vengono propagate a qualsiasi container in cui è montato lo stesso file system.

L'attività viene eseguita nella sottorete definita per il cluster.

**Esecuzione di un processo e visualizzazione dei risultati attraverso la console**

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

1. Nella pagina **Cluster**, seleziona il cluster per eseguire il processo autonomo contenuto.

   Determina la risorsa da cui avviare il servizio.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/tutorial-efs-volumes.html)

1. (Facoltativo) Scegli come viene distribuita l'attività pianificata nell'infrastruttura cluster. Espandi **Compute configuration** (Configurazione di calcolo), quindi effettua le seguenti operazioni:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonECS/latest/developerguide/tutorial-efs-volumes.html)

1. Per **Tipo di applicazione**, scegli **Processo**.

1. Per **Definizione di attività**, seleziona la definizione dell'attività `efs-tutorial` che hai creato in precedenza.

1. Per **Attività desiderate**, inserisci `1`.

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

1. Nella pagina **Cluster**, seleziona **Infrastruttura**.

1. In **Istanze di container**, seleziona l'istanza di container a cui effettuare la connessione.

1. Nella pagina **Istanza di container**, nella sezione **Reti**, registra l'**IP pubblico** per l'istanza.

1. Apri un browser e inserisci l'indirizzo IP pubblico. Dovresti visualizzare un messaggio simile al seguente:

   ```
   It works!
   You are using an Amazon EFS file system for persistent container storage.
   ```
**Nota**  
In caso contrario, assicurati che il gruppo di sicurezza per l'istanza di container consenta il traffico di rete in entrata sulla porta 80 e che il gruppo di sicurezza per il file system consenta l'accesso in entrata dall'istanza di container.

# Utilizzo FSx per volumi Windows File Server con Amazon ECS
<a name="wfsx-volumes"></a>

FSx per Windows File Server fornisce file server Windows completamente gestiti, supportati da un file system Windows. Quando si utilizza FSx for Windows File Server insieme a ECS, è possibile effettuare il provisioning delle attività di Windows con uno storage di file statico persistente, distribuito, condiviso. Per ulteriori informazioni, consulta [What Is FSx for Windows File Server?](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) .

**Nota**  
Le istanze EC2 che utilizzano l'AMI Windows Server 2016 Full ottimizzata FSx per Amazon ECS non supportano i volumi di attività ECS di Windows File Server.  
Non è possibile utilizzarlo FSx per i volumi di Windows File Server in un contenitore Windows nella configurazione Fargate. Invece, è possibile [modificare i container per montarli all'avvio](https://aws.amazon.com/blogs/containers/use-smb-storage-with-windows-containers-on-aws-fargate/).

È possibile utilizzare Windows File Server FSx per distribuire carichi di lavoro Windows che richiedono l'accesso allo storage esterno condiviso, allo storage regionale ad alta disponibilità o allo storage ad alto throughput. Puoi montare uno o più FSx volumi del file system Windows File Server in un contenitore Amazon ECS eseguito su un'istanza Amazon ECS Windows. Puoi condividere FSx i volumi del file system Windows File Server tra più contenitori Amazon ECS all'interno di una singola attività Amazon ECS.

Per abilitare l'uso di FSx per Windows File Server con ECS, includi l'ID del file system FSx per Windows File Server e le informazioni correlate in una definizione di attività. Ciò viene riportato nel frammento JSON della definizione di attività di esempio di seguito riportato. Per poter creare ed eseguire una definizione di attività, è necessario quanto riportato di seguito.
+ Un'istanza EC2 Windows per ECS unita a un dominio valido. Può essere ospitata da un [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html), Active Directory on-premises o Active Directory autogestito su Amazon EC2.
+ Un parametro Gestione dei segreti AWS segreto o Systems Manager che contiene le credenziali utilizzate per aggiungere il dominio Active Directory e collegare il file system FSx per Windows File Server. I valori delle credenziali sono le credenziali di nome e password immesse durante la creazione di Active Directory.

Per un tutorial correlato, consulta [Scopri come configurare FSx i file system Windows File Server per Amazon ECS](tutorial-wfsx-volumes.md).

## Considerazioni
<a name="wfsx-volume-considerations"></a>

Quando si utilizza FSx per volumi Windows File Server, si consideri quanto segue:
+ I volumi FSx for Windows File Server sono supportati nativamente con Amazon ECS su istanze Windows Amazon EC2: Amazon ECS gestisce automaticamente il montaggio tramite la configurazione della definizione delle attività.

  Sulle istanze Amazon EC2 Linux, Amazon ECS non può montare automaticamente i volumi FSx for Windows File Server tramite le definizioni delle attività. Tuttavia, puoi montare manualmente una condivisione di file FSx for Windows File Server su un'istanza Linux EC2 a livello di host e poi montare in associazione quel percorso nei tuoi contenitori Amazon ECS. Per ulteriori informazioni, consulta [Montaggio di condivisioni di FSx file Amazon da Linux](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/map-shares-linux.html).
**Importante**  
Si tratta di una configurazione autogestita. Per indicazioni sul montaggio e la manutenzione delle FSx condivisioni di file Windows File Server su Linux, consulta la [FSx documentazione relativa a Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/).
**Importante**  
Quando si utilizza una condivisione FSx for Windows File Server montata manualmente su istanze Linux EC2, Amazon FSx ECS e per Windows File Server funzionano in modo indipendente: Amazon ECS non monitora il montaggio FSx di Amazon e per Windows File Server non tiene traccia del FSx posizionamento delle attività o degli eventi del ciclo di vita di Amazon ECS. Sei responsabile di garantire la raggiungibilità della rete tra le tue istanze di container Amazon ECS e il FSx file system Amazon, implementare i controlli dello stato del montaggio e gestire la logica di riconnessione per tollerare gli eventi di failover.
+ FSx per Windows File Server con Amazon ECS non supporta AWS Fargate.
+ FSx per Windows File Server con Amazon ECS non è supportato su Amazon ECS Managed Instances.
+ FSx per Windows File Server con Amazon ECS con modalità `awsvpc` di rete richiede una versione `1.54.0` o successiva dell'agente contenitore.
+ Il numero massimo di lettere di unità che possono essere utilizzate per un processo Amazon ECS è 23. A ogni attività con un volume FSx per Windows File Server viene assegnata una lettera di unità.
+ Per impostazione predefinita, il tempo di pulizia delle risorse dell'attività è di tre ore dopo la fine dell'attività. Anche se non viene utilizzata da alcuna attività, una mappatura di file creata da un'attività persiste per 3 ore. Il tempo di pulizia di default può essere configurato utilizzando la variabile di ambiente `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION` di Amazon ECS. Per ulteriori informazioni, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md).
+ Le attività in genere vengono eseguite solo nello stesso VPC del file system FSx per Windows File Server. Tuttavia, è possibile avere il supporto cross-VPC se esiste una connettività di rete consolidata tra il VPC del cluster Amazon ECS e il file system FSx per Windows File Server tramite peering VPC.
+ Puoi controllare l'accesso a un file system FSx for Windows File Server a livello di rete configurando i gruppi di sicurezza VPC. Solo le attività ospitate su istanze EC2 unite al dominio Active Directory con gruppi di sicurezza Active Directory correttamente configurati possono accedere alla condivisione di file per Windows File Server. FSx Se i gruppi di sicurezza non sono configurati correttamente, Amazon ECS non riuscirà a eseguire l'avvio dell'attività e sarà restituito il seguente messaggio di errore: `unable to mount file system fs-id`. 
+ FSx for Windows File Server è integrato con AWS Identity and Access Management (IAM) per controllare le azioni che gli utenti e i gruppi IAM possono eseguire su risorse specifiche FSx per Windows File Server. Con l'autorizzazione del client, i clienti possono definire ruoli IAM che consentono o negano l'accesso a file system specifici FSx per Windows File Server, richiedono facoltativamente l'accesso in sola lettura e facoltativamente consentono o impediscono l'accesso root al file system da parte del client. Per ulteriori informazioni, consulta la sezione [Sicurezza](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security.html) nella Amazon FSx Windows User Guide.

# Procedure consigliate FSx per l'utilizzo per Windows File Server con Amazon ECS
<a name="wfsx-best-practices"></a>

Prendi nota delle seguenti best practice consigliate quando utilizzi FSx Windows File Server con Amazon ECS.

## Controlli di sicurezza e accesso FSx per Windows File Server
<a name="wfsx-security-access-controls"></a>

FSx per Windows File Server offre le seguenti funzionalità di controllo dell'accesso che è possibile utilizzare per garantire che i dati archiviati in un file system FSx per Windows File Server siano sicuri e accessibili solo dalle applicazioni che ne hanno bisogno.

### Crittografia dei dati FSx per volumi Windows File Server
<a name="storage-fsx-security-encryption"></a>

FSx per Windows File Server supporta due forme di crittografia per i file system. Si tratta della crittografia dei dati in transito e di quella dei dati a riposo. La crittografia dei dati in transito è supportata sulle condivisioni di file mappate su un'istanza di container che supporta il protocollo SMB 3.0 o successivo. La crittografia dei dati inattivi viene abilitata automaticamente durante la creazione di un FSx file system Amazon. Amazon crittografa FSx automaticamente i dati in transito utilizzando la crittografia SMB quando accedi al tuo file system senza che tu debba modificare le tue applicazioni. Per ulteriori informazioni, consulta la sezione [Crittografia dei dati FSx in Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/encryption.html) *nella Guida FSx per l'utente di Amazon per Windows File Server*.

### Usa Windows ACLs per il controllo degli accessi a livello di cartella
<a name="storage-fsx-security-access"></a>

L'istanza Windows Amazon EC2 accede alle condivisioni di FSx file Amazon utilizzando le credenziali di Active Directory. Utilizza elenchi di controllo degli accessi standard di Windows (ACLs) per un controllo granulare degli accessi a livello di file e cartella. È possibile creare più credenziali, ognuna per una cartella specifica all'interno della condivisione associata a un'attività specifica.

Nell'esempio seguente, l'attività ha accesso alla cartella `App01` utilizzando le credenziali salvate in Secrets Manager. Il nome della risorsa Amazon (ARN) è `1234`.

```
"rootDirectory": "\\path\\to\\my\\data\App01",
"credentialsParameter": "arn-1234",
"domain": "corp.fullyqualified.com",
```

In un altro esempio, un'attività ha accesso alla cartella `App02` utilizzando le credenziali salvate in Secrets Manager. Il suo ARN è `6789`.

```
"rootDirectory": "\\path\\to\\my\\data\App02",
"credentialsParameter": "arn-6789",
"domain": "corp.fullyqualified.com",
```

# Specificare un file system FSx per Windows File Server in una definizione di attività Amazon ECS
<a name="specify-wfsx-config"></a>

Per utilizzarli FSx per i volumi del file system Windows File Server per i contenitori, specifica le configurazioni del volume e del punto di montaggio nella definizione dell'attività. Il seguente frammento JSON della definizione di attività illustra la sintassi degli oggetti `volumes` e `mountPoints` per un container.

```
{
    "containerDefinitions": [
        {
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "portMappings": [],
            "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"],
            "cpu": 512,
            "memory": 256,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "essential": false,
            "name": "container1",
            "mountPoints": [
                {
                    "sourceVolume": "fsx-windows-dir",
                    "containerPath": "C:\\fsx-windows-dir",
                    "readOnly": false
                }
            ]
        },
        {
            "entryPoint": [
                "powershell",
                "-Command"
            ],
            "portMappings": [
                {
                    "hostPort": 443,
                    "protocol": "tcp",
                    "containerPort": 80
                }
            ],
            "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"],
            "mountPoints": [
                {
                    "sourceVolume": "fsx-windows-dir",
                    "containerPath": "C:\\fsx-windows-dir",
                    "readOnly": false
                }
            ],
            "cpu": 512,
            "memory": 256,
            "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
            "essential": true,
            "name": "container2"
        }
    ],
    "family": "fsx-windows",
    "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
    "volumes": [
        {
            "name": "fsx-windows-dir",
            "fsxWindowsFileServerVolumeConfiguration": {
                "fileSystemId": "fs-0eeb5730b2EXAMPLE",
                "authorizationConfig": {
                    "domain": "example.com",
                    "credentialsParameter": "arn:arn-1234"
                },
                "rootDirectory": "share"
            }
        }
    ]
}
```

`FSxWindowsFileServerVolumeConfiguration`  
Tipo: oggetto  
Obbligatorio: no  
Questo parametro viene specificato quando si utilizza FSx il file system [Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) per l'archiviazione delle attività.    
`fileSystemId`  
Tipo: stringa  
Obbligatorio: sì  
L' FSx ID del file system Windows File Server da utilizzare.  
`rootDirectory`  
Tipo: stringa  
Obbligatorio: sì  
La directory all'interno del FSx file system Windows File Server da montare come directory principale all'interno dell'host.  
`authorizationConfig`    
`credentialsParameter`  
Tipo: stringa  
Obbligatorio: sì  
Le opzioni delle credenziali di autorizzazione:  
+ L'Amazon Resource Name (ARN) di un segreto di [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html).
+ Amazon Resource Name (ARN) di un parametro di [Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/integration-ps-secretsmanager.html).  
`domain`  
Tipo: stringa  
Obbligatorio: sì  
Un nome di dominio completo ospitato da una directory [AWS Directory Service for Microsoft Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/directory_microsoft_ad.html) (AWS Managed Microsoft AD) o da una directory EC2 Active autonoma.

## Metodi per l'archiviazione delle FSx credenziali del volume Windows File Server
<a name="creds"></a>

Esistono due metodi diversi per archiviare le credenziali da utilizzare con il parametro delle credenziali.
+ **Gestione dei segreti AWS segreto**

  Questa credenziale può essere creata nella Gestione dei segreti AWS console utilizzando la categoria *segreta Altro tipo*. Si aggiunge una riga per ogni key/value coppia username/admin e una *password* password/.
+ **Parametro di Systems Manager**

  Queste credenziali possono essere create nella console dei parametri di Systems Manager immettendo del testo nel modulo illustrato nel frammento di codice di esempio seguente.

  ```
  {
    "username": "admin",
    "password": "password"
  }
  ```

`credentialsParameter` nel parametro `FSxWindowsFileServerVolumeConfiguration` della definizione di attività conterrà l'ARN del segreto o l'ARN del parametro di Systems Manager. Per ulteriori informazioni, consulta [Cos'è AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) nella *Guida per l'utente di Secrets Manager* e [Archivio parametri di Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) nella *Guida per l'utente di Systems Manager*.

# Scopri come configurare FSx i file system Windows File Server per Amazon ECS
<a name="tutorial-wfsx-volumes"></a>

Scopri come avviare un'istanza Windows ottimizzata per Amazon ECS che ospita un file system FSx per Windows File Server e contenitori in grado di accedere al file system. A tale scopo, è innanzitutto necessario creare un Microsoft Active Directory Directory Service AWS gestito. Quindi, creare un file system FSx per Windows File Server e un cluster con un'istanza Amazon EC2 e una definizione di attività. Si configura la definizione delle attività per i contenitori in modo che utilizzino il file system FSx per Windows File Server. Infine, esegui il test del file system.

Occorrono dai 20 ai 45 minuti ogni volta che si avvia o si elimina il file system Active Directory o il file system FSx per Windows File Server. Considera almeno 90 minuti per completare il tutorial oppure completalo in più sessioni.

## Prerequisiti per il tutorial
<a name="wfsx-prerequisites"></a>
+ Un utente amministratore. Per informazioni, consulta [Configurazione per l'uso di Amazon ECS](get-set-up-for-amazon-ecs.md).
+ (Facoltativo) Una coppia di chiavi `PEM` per la connessione all'istanza Windows di EC2 tramite l'accesso RDP. Per informazioni sulla creazione di coppie di chiavi, consultare [Amazon EC2 key pairs and Amazon EC2 instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html) nella *Guida per l'utente di Amazon EC2*.
+ Un VPC con almeno una sottorete pubblica e una sottorete privata e un gruppo di sicurezza. È possibile utilizzare il VPC di default. Non è necessario un gateway o un dispositivo NAT. Directory Service non supporta Network Address Translation (NAT) con Active Directory. Affinché ciò funzioni, Active Directory, il file system FSx per Windows File Server, il cluster ECS e l'istanza EC2 devono trovarsi all'interno del VPC. Per ulteriori informazioni su VPCs Active Directory, consulta [Creazione di un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) [e Prerequisiti per la creazione di un Microsoft AWS AD gestito](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_prereqs).
+ Le autorizzazioni IAM ecsInstanceRole e ecsTaskExecution Role sono associate al tuo account. Questi ruoli collegati ai servizi consentono ai servizi di effettuare chiamate API e accedere a container, segreti, directory e server di file per tuo conto.

## Fase 1: Creazione dei ruoli di accesso IAM
<a name="iam-roles"></a>

**Crea un cluster con la Console di gestione AWS.**

1. Verifica se ne possiedi uno ecsInstanceRole e scopri come puoi crearne uno se non ne hai uno. [Ruolo IAM delle istanze di container Amazon ECS](instance_IAM_role.md)

1. Consigliamo di personalizzare le policy dei ruoli per ottenere autorizzazioni minime in un ambiente di produzione effettivo. Per completare questo tutorial, verifica che la seguente politica AWS gestita sia allegata al tuoecsInstanceRole. Collega la policy, se non è già collegata.
   + EC2ContainerServiceforEC2Ruolo di Amazon
   + Amazon SSMManaged InstanceCore
   + Amazon SSMDirectory ServiceAccess

   Per allegare politiche AWS gestite.

   1. Aprire la [console IAM](https://console.aws.amazon.com//iam/).

   1. Nel pannello di navigazione, selezionare **Ruoli**.

   1. Scegli un **ruolo gestito da AWS **.

   1. Scegli **Autorizzazioni, Collega policy**.

   1. Per limitare le policy disponibili da collegare, utilizza **Filtro**.

   1. Seleziona la policy appropriata, quindi scegli **Collega policy**.

1. Verifica se hai un ecsTaskExecution ruolo e scopri come puoi crearne uno se non ne hai uno. [Ruolo IAM di esecuzione di attività Amazon ECS](task_execution_IAM_role.md)

   Consigliamo di personalizzare le policy dei ruoli per ottenere autorizzazioni minime in un ambiente di produzione effettivo. Per completare questo tutorial, verifica che le seguenti politiche AWS gestite siano allegate al tuo ecsTaskExecution ruolo. Collega le policy, se non sono già collegate. Utilizza la procedura indicata nella sezione precedente per allegare le politiche AWS gestite.
   + SecretsManagerReadWrite
   + Amazon FSx ReadOnlyAccess
   + Amazon SSMRead OnlyAccess
   + Amazon ECSTask ExecutionRolePolicy

## Fase 2: Creazione di Windows Active Directory (AD)
<a name="wfsx-create-ads"></a>

1. Segui i passaggi descritti in [Creazione di AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html#ms_ad_getting_started_create_directory) nella AWS *Directory Service Administration Guide*. Utilizza il VPC designato per questo tutorial. Nella fase 3 della *creazione di AWS Managed Microsoft AD*, salva il nome utente e la password di amministratore da utilizzare nel passaggio successivo. Annotare inoltre il nome completo della directory DNS per le operazioni successive. È possibile completare la fase seguente durante la creazione di Active Directory.

1. Crea un segreto di AWS Secrets Manager da utilizzare nei passaggi seguenti. Per ulteriori informazioni, consulta Guida [introduttiva a Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html#get-started) nella *Guida per l'utente di AWS Secrets Manager*.

   1. Apri la [console Secrets Manager](https://console.aws.amazon.com//secretsmanager/).

   1. Fai clic su **Archivia un nuovo segreto**.

   1. Seleziona **Altro tipo di segreti**.

   1. Per **Chiave/valore segreto**, nella prima riga, crea una chiave **username** con valore **admin**. Fai clic su **\$1 Aggiungi riga**.

   1. Nella nuova riga, crea una chiave **password**. Per ulteriori informazioni, digitate la password inserita nel passaggio 3 di *Create Your AWS Managed AD Directory*.

   1. Fai clic sul pulsante **Successivo**.

   1. Specifica un nome e una descrizione per il segreto. Fare clic su **Avanti**.

   1. Fare clic su **Avanti**. Fai clic su **Archivia**.

   1. Dall'elenco nella pagina **Segreti**, seleziona il segreto appena creato.

   1. Salva l'ARN del nuovo segreto per utilizzarlo nelle fasi seguenti.

   1. Durante la creazione di Active Directory, è possibile procedere alla fase successiva.

## Fase 3: Verifica e aggiornamento del gruppo di sicurezza
<a name="wfsx-sg"></a>

In questa fase è possibile verificare e aggiornare le regole per il gruppo di sicurezza in uso. Pertanto è possibile utilizzare il gruppo di sicurezza di default creato per il VPC.

**Verifica e aggiorna il gruppo di sicurezza.**

È necessario creare o modificare il gruppo di sicurezza per inviare dati da e verso le porte, descritti in [Amazon VPC Security Groups](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/limit-access-security-groups.html#fsx-vpc-security-groups) nella Guida *FSx per l'utente di Windows File Server*. A tale scopo, è possibile creare la regola in ingresso del gruppo di sicurezza visualizzata nella prima riga della tabella di regole in entrata riportata di seguito. Questa regola consente il traffico in ingresso dalle interfacce di rete (e le relative istanze associate) assegnate al gruppo di sicurezza. Tutte le risorse cloud create si trovano all'interno dello stesso VPC e collegate allo stesso gruppo di sicurezza. Pertanto, questa regola consente l'invio di traffico da e verso il file system FSx per Windows File Server, Active Directory e l'istanza ECS, se necessario. Le altre regole in entrata consentono al traffico di servire il sito Web e l'accesso RDP per la connessione all'istanza ECS.

Nella tabella seguente vengono illustrate le regole in entrata del gruppo di sicurezza necessarie per questo tutorial.


| Tipo | Protocollo | Intervallo porte | Origine | 
| --- | --- | --- | --- | 
|  Tutto il traffico  |  Tutti  |  Tutti  |  *sg-securitygroup*  | 
|  HTTPS  |  TCP  |  443  |  0.0.0.0/0  | 
|  RDP  |  TCP  |  3389  |  indirizzo IP del laptop  | 

Nella tabella seguente vengono illustrate le regole in uscita del gruppo di sicurezza necessarie per questo tutorial.


| Tipo | Protocollo | Intervallo porte | Destinazione | 
| --- | --- | --- | --- | 
|  Tutto il traffico  |  Tutti  |  Tutti  |  0.0.0.0/0  | 

1. Apri la [Console EC2](https://console.aws.amazon.com//ec2/) e seleziona **Gruppi di sicurezza** dal menu sulla sinistra.

1. Dall'elenco dei gruppi di sicurezza ora visualizzati, seleziona la casella di controllo a sinistra del gruppo di sicurezza utilizzato per questo tutorial.

   Vengono visualizzati i dettagli del gruppo di sicurezza.

1. Modifica le regole in ingresso e in uscita selezionando le schede **Inbound rules** (Regole in entrata) o **Outbound rules** (Regole in uscita) e scegliendo l'opzione **Edit inbound rules** (Modifica regole in entrata) o **Edit outbound rules** (Modifica regole in uscita). Modifica le regole in base a quelle visualizzate nelle tabelle precedenti. Dopo aver creato l'istanza EC2 più avanti in questa esercitazione, modificare l'origine RDP della regola in ingresso con l'indirizzo IP pubblico dell'istanza EC2 come descritto in [Connect to your Windows instance using RDP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connecting_to_windows_instance.html) nella *Guida per l'utente di Amazon EC2*.

## Passaggio 4: creare un file system FSx per Windows File Server
<a name="wfsx-create-fsx"></a>

Dopo aver verificato e aggiornato il gruppo di sicurezza e aver creato Active Directory e aver raggiunto lo stato attivo, crea il file system FSx per Windows File Server nello stesso VPC di Active Directory. Utilizza i passaggi seguenti per creare un file system FSx per Windows File Server per le tue attività Windows.

**Creare il tuo primo file system.**

1. Apri la [ FSx console Amazon](https://console.aws.amazon.com//fsx/).

1. Nel pannello di controllo, scegli **Crea file system** per avviare la procedura guidata di creazione del file system.

1. Nella pagina **Seleziona il tipo di file system**, scegli **FSx Windows File Server**, quindi scegli **Avanti**. Viene visualizzata la pagina **Crea file system**.

1. Nella sezione **Dettagli file system**, specifica un nome per il file system. La denominazione dei file system ne semplifica la ricerca e la gestione. Puoi utilizzare fino a 256 caratteri Unicode. I caratteri consentiti sono lettere, numeri, spazi e caratteri speciali segno più (\$1), segno meno (-), segno uguale (=), punto (.), trattino basso (\$1), due punti (:) e barra (/).

1. Per **Tipo di implementazione**, scegli **Single-AZ** per implementare un file system distribuito in una zona di disponibilità singola. *Single-AZ 2* è l'ultima generazione di file system a zona di disponibilità singola e supporta l'archiviazione SSD e HDD.

1. Per **Tipo di archiviazione**, scegli **HDD**.

1. In **Capacità di archiviazione**, specifica la capacità di archiviazione minima. 

1. Mantieni **Capacità di velocità effettiva** sul valore di default.

1. Nella sezione **Rete e sicurezza**, scegli lo stesso Amazon VPC che hai scelto per la tua Directory Service directory.

1. Per **Gruppi di sicurezza VPC**, scegli il gruppo di sicurezza verificato in *Fase 3: Verifica e aggiornamento del gruppo di sicurezza*.

1. Per **Autenticazione Windows**, scegli **AWS Managed Microsoft Active Directory**, quindi seleziona la tua directory Directory Service dall'elenco.

1. Per **Crittografia**, mantieni l'impostazione di default **Chiave di crittografia** su **aws/fsx (default)**.

1. Mantieni le impostazioni di default per **Preferenze di manutenzione**.

1. Fai clic sul pulsante **Successivo**.

1. Rivedi la configurazione del file system riportata nella pagina **Crea file system**. Come riferimento, prendi nota delle impostazioni del file system che è possibile modificare dopo la sua creazione. Scegliere **Create file system (Crea file system)**. 

1. Prendi nota dell'ID file system. Sarà utile in una fase successiva.

   Puoi passare ai passaggi successivi per creare un cluster e un'istanza EC2 durante la creazione del file system FSx per Windows File Server.

## Fase 5: Creazione di un cluster Amazon ECS
<a name="wfsx-create-cluster"></a>

**Creazione di un cluster tramite la console Amazon ECS**

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

1. Seleziona la Regione da utilizzare nella barra di navigazione.

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

1. Nella pagina **Clusters** (Cluster), scegli **Create cluster** (Crea cluster).

1. In **Configurazione del cluster**, per **Nome cluster**, inserisci **windows-fsx-cluster**.

1. Espandi **l'infrastruttura**, cancella AWS Fargate (senza server) e seleziona le istanze **Amazon EC2**.

   1. Per creare un gruppo Auto Scaling, da **Auto Scaling group (ASG)** (Gruppo di Auto Scaling (ASG)), seleziona **Create new group** (Crea nuovo gruppo) e quindi fornisci i seguenti dettagli sul gruppo:
     + Per **Sistema operativo/architettura**, scegli **Windows Server 2019 Core**.
     + In **Tipo di istanza EC2**, scegli t2.medium o t2.micro.

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

## Fase 6: creazione di un'istanza Amazon EC2 ottimizzata per Amazon ECS
<a name="wfsx-create-instance"></a>

Creazione di un'istanza di container Windows di Amazon ECS

**Creazione di un'istanza Amazon ECS**

1. Usa il comando `aws ssm get-parameters` per recuperare il nome dell'AMI per la regione che ospita il VPC. Per ulteriori informazioni, consulta [Retrieving Amazon ECS-Optimized AMI metadata](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/retrieve-ecs-optimized_windows_AMI.html).

1. Utilizza la console di Amazon EC2 per avviare l'istanza.

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

   1. Seleziona la Regione da utilizzare nella barra di navigazione.

   1. Da **Pannello di controllo EC2**, scegli **Avvia istanza**.

   1. Per **Name (Nome)**, inserisci un nome univoco.

   1. Per **Immagini di applicazioni e sistema operativo (Amazon Machine Image)**, nel campo **cerca**, inserisci il nome dell'AMI recuperata.

   1. In **Tipo di istanza**, scegli t2.medium o t2.micro.

   1. Per **Key pair (login)** (Coppia di chiavi [accesso]), scegli una coppia di chiavi. Se non specifici una coppia di chiavi, 

   1. In **Impostazioni di rete**, per **VPC** e **Sottorete**, scegli il VPC e una sottorete pubblica.

   1. In **Network settings** (Impostazioni di rete), per **Security group** (Gruppo di sicurezza), scegli un gruppo di sicurezza esistente o creane uno nuovo. Assicurati che il gruppo di sicurezza scelto disponga delle regole in entrata e in uscita definite in [Prerequisiti per il tutorial](#wfsx-prerequisites)

   1. In **Network settings** (Impostazioni di rete), per **Auto-assign Public IP** (Assegna automaticamente un IP pubblico), seleziona **Enable** (Abilita). 

   1. Espandi **Dettagli avanzati** e in **Directory aggiunta dominio**, seleziona l'ID dell'Active Directory creata. Questo dominio si unisce all'AD quando viene avviata l'istanza EC2.

   1. In **Dettagli avanzati**, per il **profilo dell'istanza IAM**, scegli. **ecsInstanceRole**

   1. Configura la tua istanza di container Amazon ECS con i seguenti dati utente. In **Dettagli avanzati**, incolla lo script seguente nel campo **Dati utente**, sostituendolo *cluster\$1name* con il nome del cluster.

      ```
      <powershell>
      Initialize-ECSAgent -Cluster windows-fsx-cluster -EnableTaskIAMRole
      </powershell>
      ```

   1. Quando sei pronto, seleziona il campo di conferma e scegli **Launch Instances** (Avvia istanze). 

   1. Una pagina di conferma indicherà che l'istanza si sta avviando. Scegliere **View Instances (Visualizza istanze)** per chiudere la pagina di conferma e tornare alla console.

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

1. Nel riquadro di navigazione, scegli **Cluster**, quindi scegli. **windows-fsx-cluster**

1. Scegli la scheda **Infrastruttura** e verifica che l'istanza sia stata registrata nel **windows-fsx-cluster**cluster.

## Fase 7: Registrazione di una definizione di attività di Windows
<a name="register_windows_task_def"></a>

Prima di eseguire i container Windows nel cluster Amazon ECS, devi registrare una definizione di attività. Il seguente esempio di definizione di attività mostra una pagina Web semplice. L'attività avvia due contenitori che hanno accesso al FSx file system. Il primo container scrive un file HTML nel file system. Il secondo container scarica il file HTML dal file system e serve la pagina Web.

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

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

1. Scegli **Create new task definition** (Crea nuova definizione di attività), **Create new task definition with JSON** (Crea nuova definizione di attività con JSON).

1. **Nella casella dell'editor JSON, sostituisci i valori per il tuo ruolo di esecuzione delle attività e i dettagli sul tuo FSx file system, quindi scegli Salva.**

   ```
   {
       "containerDefinitions": [
           {
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "portMappings": [],
               "command": ["New-Item -Path C:\\fsx-windows-dir\\index.html -ItemType file -Value '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>It Works!</h2> <p>You are using Amazon FSx for Windows File Server file system for persistent container storage.</p>' -Force"],
               "cpu": 512,
               "memory": 256,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "essential": false,
               "name": "container1",
               "mountPoints": [
                   {
                       "sourceVolume": "fsx-windows-dir",
                       "containerPath": "C:\\fsx-windows-dir",
                       "readOnly": false
                   }
               ]
           },
           {
               "entryPoint": [
                   "powershell",
                   "-Command"
               ],
               "portMappings": [
                   {
                       "hostPort": 443,
                       "protocol": "tcp",
                       "containerPort": 80
                   }
               ],
               "command": ["Remove-Item -Recurse C:\\inetpub\\wwwroot\\* -Force; Start-Sleep -Seconds 120; Move-Item -Path C:\\fsx-windows-dir\\index.html -Destination C:\\inetpub\\wwwroot\\index.html -Force; C:\\ServiceMonitor.exe w3svc"],
               "mountPoints": [
                   {
                       "sourceVolume": "fsx-windows-dir",
                       "containerPath": "C:\\fsx-windows-dir",
                       "readOnly": false
                   }
               ],
               "cpu": 512,
               "memory": 256,
               "image": "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2019",
               "essential": true,
               "name": "container2"
           }
       ],
       "family": "fsx-windows",
       "executionRoleArn": "arn:aws:iam::111122223333:role/ecsTaskExecutionRole",
       "volumes": [
           {
               "name": "fsx-windows-dir",
               "fsxWindowsFileServerVolumeConfiguration": {
                   "fileSystemId": "fs-0eeb5730b2EXAMPLE",
                   "authorizationConfig": {
                       "domain": "example.com",
                       "credentialsParameter": "arn:arn-1234"
                   },
                   "rootDirectory": "share"
               }
           }
       ]
   }
   ```

## Fase 8: Esecuzione di un processo e visualizzazione dei risultati
<a name="wfsx-run-task"></a>

Prima di eseguire l'operazione, verificate che lo stato del file system FSx per Windows File Server sia **Disponibile**. Una volta disponibile, è possibile eseguire un processo utilizzando la definizione di attività creata. Il processo inizia creando container che mescolano un file HTML utilizzando il file system. Dopo il mescolamento, un server Web serve la pagina HTML semplice.

**Nota**  
Potresti non essere in grado di connetterti al sito Web da una VPN.

**Esegui un'attività e visualizza i risultati tramite la console Amazon ECS.**

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

1. Nel riquadro di navigazione, scegli **Cluster**, quindi scegli. **windows-fsx-cluster**

1. Seleziona la scheda **Attività**, quindi **Esegui nuova attività**.

1. In **Tipo di avvio**, selezionare **EC2**.

1. In Configurazione dell'implementazione, per **Definizione dell'attività**, scegli **fsx-windows**, quindi scegli **Crea**.

1. Quando lo stato dell'attività è **IN ESECUZIONE**, scegli l'ID attività.

1. In **Container**, quando lo stato di container1 è **ARRESTATO**, seleziona container2 per visualizzarne i dettagli.

1.  In **Dettagli del container per container2**, seleziona **Associazioni di rete** e fai clic sull'indirizzo IP esterno associato al container. Si aprirà il browser e sarà visualizzato il seguente messaggio.

   ```
   Amazon ECS Sample App
   It Works! 
   You are using Amazon FSx for Windows File Server file system for persistent container storage.
   ```
**Nota**  
Possono essere necessari alcuni minuti per visualizzare il messaggio. Se dopo qualche minuto non viene visualizzato il messaggio, assicurati che non stai utilizzando una VPN e che il gruppo di sicurezza per l'istanza di container consenta il traffico di rete in entrata sulla porta 443.

## Fase 9: Pulizia
<a name="wfsx-cleanup"></a>

**Nota**  
Sono necessari dai 20 ai 45 minuti per eliminare il file system FSx per Windows File Server o l'AD. È necessario attendere il completamento delle operazioni di eliminazione del file system FSx for Windows File Server prima di iniziare le operazioni di eliminazione di AD.

**Elimina FSx per il file system Windows File Server.**

1. Apri la [ FSx console Amazon](https://console.aws.amazon.com//fsx/)

1. Scegli il pulsante di opzione a sinistra del file system FSx per Windows File Server che hai appena creato.

1. Scegli **Azioni**.

1. Seleziona **Elimina file system**.

**Elimina l'AD.**

1. Apri la [Directory Service console](https://console.aws.amazon.com//directoryservicev2/).

1. Scegli il pulsante di opzione a sinistra dell'AD appena creato.

1. Scegli **Azioni**.

1. Seleziona **Elimina directory**.

**Elimina il cluster.**

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

1. Nel riquadro di navigazione, scegli **Cluster**, quindi scegli. **windows-fsx-cluster**

1. Scegli **Delete cluster (Elimina cluster)**.

1. Inserisci la frase, quindi scegli **Elimina**.

**Termina l'istanza EC2.**

1. Aprire la [console di Amazon EC2](https://console.aws.amazon.com//ec2/).

1. Nel menu a sinistra, seleziona **Istanze**.

1. Seleziona la casella a sinistra dell'istanza EC2 creata.

1. Fai clic su **Stato istanza**, **Termina istanza**.

**Elimina il segreto.**

1. Apri la [console Secrets Manager](https://console.aws.amazon.com//secretsmanager/).

1. Seleziona il segreto creato per questa procedura.

1. Fai clic su **Operazioni**.

1. Seleziona **Elimina segreto**.

# Utilizzo dei volumi Docker con Amazon ECS
<a name="docker-volumes"></a>

Quando utilizzi i volumi Docker, puoi usare il driver `local` integrato o un driver di volumi di terze parti. I volumi Docker sono gestiti da Docker e viene creata una directory in `/var/lib/docker/volumes` sull'istanza di container che contiene i dati del volume.

Per usare i volumi Docker, specifica `dockerVolumeConfiguration` nella definizione di attività. Per ulteriori informazioni, consultare [Volumes](https://docs.docker.com/engine/storage/volumes/) nella documentazione di Docker.

Alcuni casi d’uso comune per i volumi Docker sono i seguenti:
+ Offrire volumi di dati persistenti per l’utilizzo con i container
+ Condividere un volume di dati definito in diverse posizioni su differenti container nella stessa istanza di container
+ Definire un volume di dati vuoto, non persistente e montarlo su più container all’interno della stessa attività
+ Per fornire un volume di dati per l’attività gestita da un driver di terze parti

## Considerazioni sull'utilizzo dei volumi Docker
<a name="docker-volume-considerations"></a>

Quando usi volumi Docker, tieni presenti le considerazioni seguenti:
+ I volumi Docker sono supportati solo se si utilizza il tipo di avvio EC2 o istanze esterne.
+ I container Windows supportano solo l'uso del driver `local`.
+ Se viene utilizzato un driver di terze parti, assicurati che sia installato e attivo sull'istanza di container prima dell'avvio dell'agente del container. Se il driver di terze parti non è attivo prima dell'avvio dell'agente, puoi riavviare l'agente del container utilizzando uno dei seguenti comandi:
  + Per l'AMI Amazon Linux 2 ottimizzata per Amazon ECS:

    ```
    sudo systemctl restart ecs
    ```
  + Per l'AMI Amazon Linux ottimizzata per Amazon ECS:

    ```
    sudo stop ecs && sudo start ecs
    ```

Per informazioni su come specificare un volume Docker in una definizione dell'attività, consultare [Specifica un volume Docker in una definizione dell'attività Amazon ECS](specify-volume-config.md).

# Specifica un volume Docker in una definizione dell'attività Amazon ECS
<a name="specify-volume-config"></a>

Prima che i container possano utilizzare i volumi di dati, è necessario specificare le configurazioni del punto di montaggio e del volume nella definizione di attività. Questa sezione descrive la configurazione del volume per un container. Per le attività che usano un volume Docker, specifica `dockerVolumeConfiguration`. Per le attività che usano un volume host di montaggio vincolato, specifica `host` e facoltativamente `sourcePath`.

Il seguente JSON della definizione di attività illustra la sintassi degli oggetti `volumes` e `mountPoints` per un container.

```
{
    "containerDefinitions": [
        {
            "mountPoints": [
                {
                    "sourceVolume": "string",
                    "containerPath": "/path/to/mount_volume",
                    "readOnly": boolean
                }
            ]
        }
    ],
    "volumes": [
        {
            "name": "string",
            "dockerVolumeConfiguration": {
                "scope": "string",
                "autoprovision": boolean,
                "driver": "string",
                "driverOpts": {
                    "key": "value"
                },
                "labels": {
                    "key": "value"
                }
            }
        }
    ]
}
```

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

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

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

# Esempi di volumi Docker per Amazon ECS
<a name="docker-volume-examples"></a>

Gli esempi seguenti mostrano come fornire uno storage temporaneo per un contenitore e come fornire un volume condiviso per più contenitori e come fornire uno storage persistente NFS per un contenitore.

**Fornire un archivio temporaneo per un container utilizzando un volume Docker**

In questo esempio, un container utilizza un volume di dati vuoto che viene smaltito al termine dell'attività. Ad esempio, potresti avere un container che deve accedere alla posizione di storage di alcuni file temporanei durante un'attività. Questa attività può essere eseguita utilizzando un volume Docker.

1. Nella sezione `volumes` della definizione di attività, definisci un volume di dati con i valori `name` e `DockerVolumeConfiguration`. In questo esempio, specifichiamo l'ambito come `task` in modo che il volume venga eliminato dopo l'arresto dell'attività e venga utilizzato il driver `local` incorporato.

   ```
   "volumes": [
       {
           "name": "scratch",
           "dockerVolumeConfiguration" : {
               "scope": "task",
               "driver": "local",
               "labels": {
                   "scratch": "space"
               }
           }
       }
   ]
   ```

1. Nella sezione `containerDefinitions`, definisci un container con valori `mountPoints` che faccia riferimento al nome del volume definito e al valore `containerPath` per montare il volume sul container.

   ```
   "containerDefinitions": [
       {
           "name": "container-1",
           "mountPoints": [
               {
                 "sourceVolume": "scratch",
                 "containerPath": "/var/scratch"
               }
           ]
       }
   ]
   ```

**Fornire un archivio persistente per più container utilizzando un volume Docker**

In questo esempio, desideri un volume condiviso per più container da utilizzare e che persista dopo l'interruzione di qualsiasi singola attività che lo utilizza. Il driver `local` integrato è in uso. Per questo motivo, il volume è ancora legato al ciclo di vita dell'istanza di container.

1. Nella sezione `volumes` della definizione di attività, definisci un volume di dati con i valori `name` e `DockerVolumeConfiguration`. In questo esempio, specificare un ambito `shared` in modo che il volume persista, imposta il provisioning automatico su `true`. In questo modo il volume viene creato per l'uso. Quindi, utilizza anche il driver `local` integrato.

   ```
   "volumes": [
       {
           "name": "database",
           "dockerVolumeConfiguration" : {
               "scope": "shared",
               "autoprovision": true,
               "driver": "local",
               "labels": {
                   "database": "database_name"
               }
           }
       }
   ]
   ```

1. Nella sezione `containerDefinitions`, definisci un container con valori `mountPoints` che faccia riferimento al nome del volume definito e al valore `containerPath` per montare il volume sul container.

   ```
   "containerDefinitions": [
       {
           "name": "container-1",
           "mountPoints": [
           {
             "sourceVolume": "database",
             "containerPath": "/var/database"
           }
         ]
       },
       {
         "name": "container-2",
         "mountPoints": [
           {
             "sourceVolume": "database",
             "containerPath": "/var/database"
           }
         ]
       }
     ]
   ```

**Fornire lo spazio di archiviazione persistente per un container utilizzando un volume Docker**

 In questo esempio, un container utilizza un volume di dati NFS che viene montato automaticamente all'avvio dell'attività e viene smontato al termine. Questo utilizza il driver `local` integrato in Docker. Un esempio di caso d'uso potrebbe essere quello in cui hai un'archiviazione NFS locale e hai la necessità di accedervi attraverso un'attività ECS Anywhere. Ciò può essere ottenuto utilizzando un volume Docker con opzione driver NFS.

1. Nella sezione `volumes` della definizione di attività, definisci un volume di dati con i valori `name` e `DockerVolumeConfiguration`. In questo esempio, specifica un ambito `task` in modo che il volume venga smontato al termine dell'attività. Usa il driver `local` e configura le `driverOpts` con le opzioni `type`, `device` e `o` di conseguenza. Sostituisci `NFS_SERVER` con l'endpoint del server NFS.

   ```
   "volumes": [
          {
              "name": "NFS",
              "dockerVolumeConfiguration" : {
                  "scope": "task",
                  "driver": "local",
                  "driverOpts": {
                      "type": "nfs",
                      "device": "$NFS_SERVER:/mnt/nfs",
                      "o": "addr=$NFS_SERVER"
                  }
              }
          }
      ]
   ```

1. Nella sezione `containerDefinitions`, definisci un container con valori di `mountPoints` che facciano riferimento al nome del volume definito e al valore di `containerPath` per montare il volume sul container.

   ```
   "containerDefinitions": [
          {
              "name": "container-1",
              "mountPoints": [
                  {
                    "sourceVolume": "NFS",
                    "containerPath": "/var/nfsmount"
                  }
              ]
          }
      ]
   ```

# Utilizzo di montaggio vincolato con Amazon ECS
<a name="bind-mounts"></a>

Con i montaggi vincolati, un file o una directory su un host, ad esempio un'istanza Amazon EC2, sono montati in un container. I montaggi vincolati sono supportati per le attività ospitate su istanze Fargate o Amazon EC2. I montaggi vincolati sono legati al ciclo di vita del container che li utilizza. Una volta arrestati tutti i container che utilizzano un montaggio vincolato, ad esempio quando viene arrestata un'attività, i dati vengono rimossi. Per le attività ospitate su istanze Amazon EC2, i dati possono essere legati al ciclo di vita dell'istanza Amazon EC2 host specificando un `host` e un valore `sourcePath` facoltativo nella definizione di attività. Per ulteriori informazioni, consultare [Bind mounts](https://docs.docker.com/engine/storage/bind-mounts/) nella documentazione Docker.

I seguenti sono casi d'uso comune dei montaggi vincolati.
+ Per fornire un volume di dati vuoto da montare in uno o più container.
+ Per fornire un volume di dati host in uno o più container.
+ Per condividere un volume di dati da un container di origine con altri container nello stesso processo.
+ Per esporre un percorso e il relativo contenuto da un Dockerfile a uno o più container.

## Considerazioni su quando utilizzare i montaggi vincolati
<a name="bind-mount-considerations"></a>

Quando usi i montaggi vincolati, tieni presente le seguenti considerazioni.
+ Per impostazione predefinita, le attività ospitate AWS Fargate utilizzando una versione della piattaforma `1.4.0` o successiva (Linux) `1.0.0` o successiva (Windows) ricevono un minimo di 20 GiB di storage temporaneo per i bind mount. Puoi aumentare la quantità totale di archiviazione temporanea fino a un massimo di 200 GiB, specificando il parametro `ephemeralStorage` nella definizione di attività.
+ Per esporre i file da un Dockerfile a un volume di dati quando viene eseguito un processo, il piano dati di Amazon ECS cerca una direttiva `VOLUME`. Se il percorso assoluto specificato nella direttiva `VOLUME` è lo stesso presente nel `containerPath` specificato nella definizione di attività, i dati nel percorso della direttiva `VOLUME` vengono copiati sul volume di dati. Nell'esempio Dockerfile seguente, un file denominato `examplefile` nella directory `/var/log/exported` viene scritto sull'host e quindi montato all'interno del container.

  ```
  FROM public.ecr.aws/amazonlinux/amazonlinux:latest
  RUN mkdir -p /var/log/exported
  RUN touch /var/log/exported/examplefile
  VOLUME ["/var/log/exported"]
  ```

  Di default, le autorizzazioni dei volumi sono impostate su `0755` e il proprietario è `root`. Queste autorizzazioni possono essere personalizzate nel Dockerfile. L'esempio seguente definisce il proprietario della directory come `node`.

  ```
  FROM public.ecr.aws/amazonlinux/amazonlinux:latest
  RUN yum install -y shadow-utils && yum clean all
  RUN useradd node
  RUN mkdir -p /var/log/exported && chown node:node /var/log/exported
  RUN touch /var/log/exported/examplefile
  USER node
  VOLUME ["/var/log/exported"]
  ```
+ Per le attività ospitate su istanze Amazon EC2, quando non sono specificati i valori `host` e `sourcePath`, il daemon Docker gestisce il montaggio vincolato per tuo conto. Quando nessun container fa riferimento a questo montaggio vincolato, viene alla fine eliminato dal servizio di pulizia dell'attività dell'agente del container Amazon ECS. Per impostazione predefinita, ciò avviene tre ore dopo la chiusura del container. Tuttavia, puoi configurare questa durata con la variabile dell'agente `ECS_ENGINE_TASK_CLEANUP_WAIT_DURATION`. Per ulteriori informazioni, consulta [Configurazione dell'agente del container Amazon ECS](ecs-agent-config.md). Se è necessario che questi dati vengano conservati oltre il ciclo di vita del container, specifica un valore `sourcePath` per il montaggio vincolato.
+ Per le attività ospitate su Amazon ECS Managed Instances, parti del filesystem root sono di sola lettura. Read/write i bind mount devono utilizzare directory scrivibili, ad esempio per dati persistenti o temporanei. `/var` `/tmp` Il tentativo di creare read/write bind mount su altre directory comporta l'impossibilità di avviare l'attività con un errore simile al seguente:

  ```
  error creating empty volume: error while creating volume path '/path': mkdir /path: read-only file system
  ```

  I bind mount di sola lettura (configurati nel `mountPoints` parametro) possono puntare `"readOnly": true` a qualsiasi directory accessibile sull'host.

  Per visualizzare un elenco completo di percorsi scrivibili, puoi eseguire un'attività su un'istanza gestita di Amazon ECS e utilizzarla per ispezionare la tabella di montaggio dell'istanza. Crea una definizione di attività con le seguenti impostazioni per accedere al filesystem host:

  ```
  {
      "pidMode": "host",
      "containerDefinitions": [{
          "privileged": true,
          ...
      }]
  }
  ```

  Quindi esegui i seguenti comandi dall'interno del contenitore:

  ```
  # List writable mounts
  cat /proc/1/root/proc/1/mounts | awk '$4 ~ /^rw,/ || $4 == "rw" {print $2}' | sort
  
  # List read-only mounts
  cat /proc/1/root/proc/1/mounts | awk '$4 ~ /^ro,/ || $4 == "ro" {print $2}' | sort
  ```
**Importante**  
L'`privileged`impostazione concede al contenitore funzionalità estese sull'host, equivalenti all'accesso root. In questo esempio, viene utilizzata per ispezionare la tabella di montaggio dell'host a fini diagnostici. Per ulteriori informazioni, consulta [Evitare l'esecuzione di container con privilegi (Amazon EC2)](security-tasks-containers.md#security-tasks-containers-recommendations-avoid-privileged-containers).

  Per ulteriori informazioni sull'esecuzione interattiva dei comandi nei contenitori, vedere. [Monitora i container Amazon ECS con ECS Exec](ecs-exec.md)

# Specificare un montaggio vincolato in una definizione dell'attività Amazon ECS
<a name="specify-bind-mount-config"></a>

Per le attività Amazon ECS ospitate sull'istanza Fargate oppure sulle istanze Amazon EC2, il seguente frammento JSON della definizione di attività illustra la sintassi degli oggetti `volumes`, `mountPoints` e `ephemeralStorage` per una definizione di attività.

```
{
   "family": "",
   ...
   "containerDefinitions" : [
      {
         "mountPoints" : [
            {
               "containerPath" : "/path/to/mount_volume",
               "sourceVolume" : "string"
            }
          ],
          "name" : "string"
       }
    ],
    ...
    "volumes" : [
       {
          "name" : "string"
       }
    ],
    "ephemeralStorage": {
	   "sizeInGiB": integer
    }
}
```

Per le attività Amazon ECS ospitate su istanze Amazon EC2, puoi utilizzare il parametro `host` opzionale e un `sourcePath` quando specifichi i dettagli del volume dell'attività. Quando viene specificato, lega il montaggio vincolato al ciclo di vita dell'attività anziché al container.

```
"volumes" : [
    {
        "host" : {
            "sourcePath" : "string"
        },
        "name" : "string"
    }
]
```

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

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

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

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

`ephemeralStorage`  
Tipo: oggetto  
Obbligatorio: no  
La quantità di archiviazione temporanea da allocare per il processo. Questo parametro viene utilizzato per espandere la quantità totale di storage temporaneo disponibile, oltre la quantità predefinita, per le attività ospitate AWS Fargate utilizzando una versione della piattaforma `1.4.0` o successiva (Linux) o successiva (Windows). `1.0.0`  
È possibile utilizzare la CLI di Copilot CloudFormation, l' AWS SDK o la CLI per specificare lo storage temporaneo per un bind mount.

# Esempi di montaggio vincolato per Amazon ECS
<a name="bind-mount-examples"></a>

Gli esempi seguenti riguardano i casi d'uso comuni per l'utilizzo di un montaggio vincolato per i container.

**Come allocare una maggiore quantità di spazio di archiviazione temporanea per un processo Fargate**

Per le attività Amazon ECS ospitate su Fargate che utilizzano la versione della piattaforma `1.4.0` o successiva (Linux) o `1.0.0` o successiva (Windows), è possibile allocare più della quantità predefinita di storage temporaneo per i container nell'attività da utilizzare. Questo esempio può essere incorporato negli altri esempi per allocare più spazio di archiviazione temporanea per i processi Fargate.
+ Nella definizione di attività, definisci un oggetto `ephemeralStorage`. La `sizeInGiB` deve essere un numero intero compreso tra i valori di `21` e `200` ed è espresso in GiB.

  ```
  "ephemeralStorage": {
      "sizeInGiB": integer
  }
  ```

**Come fornire un volume di dati vuoto per uno o più container**

In alcuni casi, si può fornire ai container in un processo un po' di spazio scratch. Ad esempio, potresti avere due container di database che devono accedere alla stessa posizione di storage dei file temporanei durante un'attività. Questo può essere ottenuto utilizzando un montaggio vincolato.

1. Nella sezione `volumes` della definizione di attività, definisci un montaggio vincolato con il nome `database_scratch`.

   ```
     "volumes": [
       {
         "name": "database_scratch"
       }
     ]
   ```

1. Nella sezione `containerDefinitions`, crea le definizioni di container del database. in modo che montino il volume.

   ```
   "containerDefinitions": [
       {
         "name": "database1",
         "image": "my-repo/database",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "database_scratch",
             "containerPath": "/var/scratch"
           }
         ]
       },
       {
         "name": "database2",
         "image": "my-repo/database",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "database_scratch",
             "containerPath": "/var/scratch"
           }
         ]
       }
     ]
   ```

**Come utilizzare un percorso e il relativo contenuto in un Dockerfile in un container**

In questo esempio, hai un Dockerfile che scrive i dati che si desidera montare all'interno di un container. Questo esempio funziona per le attività ospitate su istanze di Fargate o Amazon EC2.

1. Crea un Dockerfile. L'esempio seguente utilizza l'immagine del container Amazon Linux 2 e crea un file denominato `examplefile` nella directory `/var/log/exported` che vogliamo montare all'interno del container. La direttiva `VOLUME` dovrebbe specificare un percorso assoluto.

   ```
   FROM public.ecr.aws/amazonlinux/amazonlinux:latest
   RUN mkdir -p /var/log/exported
   RUN touch /var/log/exported/examplefile
   VOLUME ["/var/log/exported"]
   ```

   Di default, le autorizzazioni dei volumi sono impostate su `0755` e il proprietario è `root`. Queste autorizzazioni possono essere modificate nel Dockerfile. Nell'esempio seguente il proprietario della directory `/var/log/exported`è impostato su `node`.

   ```
   FROM public.ecr.aws/amazonlinux/amazonlinux:latest
   RUN yum install -y shadow-utils && yum clean all
   RUN useradd node
   RUN mkdir -p /var/log/exported && chown node:node /var/log/exported					    
   USER node
   RUN touch /var/log/exported/examplefile
   VOLUME ["/var/log/exported"]
   ```

1. Nella sezione `volumes` della definizione di attività, definire un volume con il nome `application_logs`.

   ```
     "volumes": [
       {
         "name": "application_logs"
       }
     ]
   ```

1. Nella sezione `containerDefinitions`, crea le definizioni di container dell'applicazione. in modo che montino lo storage. Il valore `containerPath` deve corrispondere al percorso assoluto specificato nella direttiva `VOLUME` dal Dockerfile.

   ```
     "containerDefinitions": [
       {
         "name": "application1",
         "image": "my-repo/application",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "application_logs",
             "containerPath": "/var/log/exported"
           }
         ]
       },
       {
         "name": "application2",
         "image": "my-repo/application",
         "cpu": 100,
         "memory": 100,
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "application_logs",
             "containerPath": "/var/log/exported"
           }
         ]
       }
     ]
   ```

**Come fornire un volume di dati vuoto per un container legato al ciclo di vita dell'istanza host di Amazon EC2**

Per le attività ospitate su istanze Amazon EC2, puoi utilizzare i montaggi vincolati e avere i dati legati al ciclo di vita dell'istanza host di Amazon EC2. Puoi farlo utilizzando il parametro `host` e specificando un valore `sourcePath`. Tutti i file esistenti nel `sourcePath` vengono presentati ai container con il valore `containerPath`. Qualsiasi file scritto con il valore `containerPath` viene scritto con il valore `sourcePath`sull'istanza host di Amazon EC2.
**Importante**  
Amazon ECS non sincronizza il tuo spazio di archiviazione tra le istanze Amazon EC2. I processi che utilizzano archiviazione persistente possono essere posizionati su qualsiasi istanza Amazon EC2 nel cluster che abbia capacità disponibile. [Se le tue attività richiedono uno storage persistente dopo l'arresto e il riavvio, specifica sempre la stessa istanza Amazon EC2 al momento dell'avvio dell'attività con il comando start-task. AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/ecs/start-task.html) Puoi utilizzare anche volumi Amazon EFS per l'archiviazione persistente. Per ulteriori informazioni, consulta [Usare i volumi Amazon EFS con Amazon ECS](efs-volumes.md).

1. Nella sezione `volumes` della definizione di attività, definisci un montaggio vincolato con i valori `name` e `sourcePath`. Nell'esempio seguente, l'istanza host di Amazon EC2 contiene dati in `/ecs/webdata` che desideri montare all'interno del container.

   ```
     "volumes": [
       {
         "name": "webdata",
         "host": {
           "sourcePath": "/ecs/webdata"
         }
       }
     ]
   ```

1. Nella sezione `containerDefinitions`, definisci un container con i valori `mountPoints` che faccia riferimento al nome del montaggio vincolato definito e al valore `containerPath` per montare il montaggio vincolato sul container.

   ```
     "containerDefinitions": [
       {
         "name": "web",
         "image": "public.ecr.aws/docker/library/nginx:latest",
         "cpu": 99,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webdata",
             "containerPath": "/usr/share/nginx/html"
           }
         ]
       }
     ]
   ```

**Per montare un volume definito su più container in diverse posizioni**

Puoi definire un volume di dati in una definizione di attività e montarlo in posizioni diverse su container diversi. Ad esempio, il container host ha una cartella di dati del sito Web in `/data/webroot`. Si potrebbe voler montare il volume di dati in sola lettura su due server Web diversi che hanno radici di documenti diverse.

1. Nella sezione `volumes` della definizione di attività, definisci un volume di dati con il nome `webroot` e il percorso di origine `/data/webroot`.

   ```
     "volumes": [
       {
         "name": "webroot",
         "host": {
           "sourcePath": "/data/webroot"
         }
       }
     ]
   ```

1. Nella sezione `containerDefinitions`, definisci un container per ciascun server Web con i valori `mountPoints` che associano il volume `webroot` al valore `containerPath` puntando alla radice documento per tale container.

   ```
     "containerDefinitions": [
       {
         "name": "web-server-1",
         "image": "my-repo/ubuntu-apache",
         "cpu": 100,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webroot",
             "containerPath": "/var/www/html",
             "readOnly": true
           }
         ]
       },
       {
         "name": "web-server-2",
         "image": "my-repo/sles11-apache",
         "cpu": 100,
         "memory": 100,
         "portMappings": [
           {
             "containerPort": 8080,
             "hostPort": 8080
           }
         ],
         "essential": true,
         "mountPoints": [
           {
             "sourceVolume": "webroot",
             "containerPath": "/srv/www/htdocs",
             "readOnly": true
           }
         ]
       }
     ]
   ```

**Per montare i volumi da un altro container mediante `volumesFrom`**

Per le attività ospitate su istanze Amazon EC2, puoi definire uno o più volumi su un container e quindi utilizzare il parametro `volumesFrom` in un'altra definizione del container (all'interno della stessa attività) per montare tutti i volumi da `sourceContainer` sui relativi punti di montaggio definiti originariamente. Il parametro `volumesFrom` si applica ai volumi configurati nella definizione di attività e a quelli integrati nell'immagine con un Dockerfile.

1. (Opzionale) Per condividere un volume incorporato in un'immagine, usa l'istruzione `VOLUME` nel Dockerfile. Il seguente Dockerfile di esempio utilizza un'immagine `httpd` e quindi aggiunge un volume e lo monta su `dockerfile_volume` nella radice del documento Apache. È la cartella utilizzata dal server Web `httpd`.

   ```
   FROM httpd
   VOLUME ["/usr/local/apache2/htdocs/dockerfile_volume"]
   ```

   Puoi creare un'immagine con questo Dockerfile ed eseguirne il push a un repository, ad esempio Docker Hub, e utilizzarla nella definizione di attività. L'immagine `my-repo/httpd_dockerfile_volume` di esempio utilizzata nelle seguenti fasi è stata creata con il Dockerfile precedente.

1. Crea una definizione di attività che definisca gli altri volumi e punti di montaggio per i container. In questa sezione `volumes` di esempio, devi creare un volume vuoto denominato `empty`, gestito dal daemon Docker. Esiste anche un volume host definito che viene chiamato `host_etc`. Esporta la cartella `/etc` sull'istanza di container dell'host.

   ```
   {
     "family": "test-volumes-from",
     "volumes": [
       {
         "name": "empty",
         "host": {}
       },
       {
         "name": "host_etc",
         "host": {
           "sourcePath": "/etc"
         }
       }
     ],
   ```

   Nella sezione delle definizioni del container, crea un container che monti i volumi definiti in precedenza. In questo esempio, il container `web` monta i volumi `empty` e `host_etc`. Questo è il container che utilizza l'immagine creata con un volume nel Dockerfile.

   ```
   "containerDefinitions": [
       {
         "name": "web",
         "image": "my-repo/httpd_dockerfile_volume",
         "cpu": 100,
         "memory": 500,
         "portMappings": [
           {
             "containerPort": 80,
             "hostPort": 80
           }
         ],
         "mountPoints": [
           {
             "sourceVolume": "empty",
             "containerPath": "/usr/local/apache2/htdocs/empty_volume"
           },
           {
             "sourceVolume": "host_etc",
             "containerPath": "/usr/local/apache2/htdocs/host_etc"
           }
         ],
         "essential": true
       },
   ```

   Crea un altro container che utilizzi `volumesFrom` per montare tutti i volumi associati al container `web`. Tutti i volumi sul container `web` sono montati anche sul container `busybox`. È incluso il volume specificato nel Dockerfile utilizzato per creare l'immagine `my-repo/httpd_dockerfile_volume`.

   ```
       {
         "name": "busybox",
         "image": "busybox",
         "volumesFrom": [
           {
             "sourceContainer": "web"
           }
         ],
         "cpu": 100,
         "memory": 500,
         "entryPoint": [
           "sh",
           "-c"
         ],
         "command": [
           "echo $(date) > /usr/local/apache2/htdocs/empty_volume/date && echo $(date) > /usr/local/apache2/htdocs/host_etc/date && echo $(date) > /usr/local/apache2/htdocs/dockerfile_volume/date"
         ],
         "essential": false
       }
     ]
   }
   ```

   Quando questa attività viene eseguita, i volumi vengono montati dai due container e il `command` nel container `busybox` scrive la data e l'ora su un file. Questo file è chiamato `date` in ciascuna cartella dei volumi. che diventano quindi visibili sul sito Web visualizzato dal container `web`.
**Nota**  
Il container `busybox` esegue un comando rapido e poi si chiude, quindi deve essere impostato come `"essential": false` nella definizione del container. In caso contrario, l'intera attività viene interrotta quando si chiude.

# Gestione dello spazio di memoria di swap dei container su Amazon ECS
<a name="container-swap"></a>

Amazon ECS ti permette di controllare l'utilizzo dello spazio di memoria swap sulle istanze Amazon EC2 basate su Linux a livello di container. Utilizzando una configurazione swap per container, ogni container all'interno di una definizione di attività può avere lo swap abilitato o disabilitato. Per chi lo ha abilitato, la quantità massima di spazio di swap utilizzato può essere limitata. Ad esempio, i container critici per la latenza possono avere lo swap disabilitato. Al contrario, i contenitori con elevate richieste di memoria transitoria possono avere lo swap attivato per ridurre le possibilità di errori quando il contenitore è sotto carico. out-of-memory

La configurazione di swap per un container viene gestita dai seguenti parametri di definizione del container.

`maxSwap`  
La quantità totale di memoria di swap (in MiB) che un container può utilizzare. Questo parametro viene convertito nell'opzione `--memory-swap` in docker run dove il valore sarebbe la somma della memoria del container più il valore `maxSwap`.  
Se viene specificato il valore `maxSwap` di `0`, il container non utilizzerà lo swap. I valori accettati sono `0` o qualsiasi numero intero positivo. Se il parametro `maxSwap` viene omesso, il container utilizza la configurazione di swap per l'istanza di container su cui è in esecuzione. È necessario impostare un valore `maxSwap` per il parametro `swappiness` da utilizzare.

`swappiness`  
In questo modo è possibile ottimizzare il comportamento swappiness di memoria di un container. Un valore `swappiness` di `0` fa sì che swap non si verifichi se non richiesto. Un valore `swappiness` di `100` produrrà lo swap delle pagine in modo aggressivo. I valori accettati sono numeri interi compresi tra `0` e `100`. Se il parametro `swappiness` non è specificato, viene utilizzato un valore predefinito `60`. Se non viene specificato un valore per `maxSwap`, questo parametro verrà ignorato. Questo parametro è mappato all'opzione `--memory-swappiness` su docker run.

Nell'esempio seguente viene fornita la sintassi JSON.

```
"containerDefinitions": [{
        ...
        "linuxParameters": {
            "maxSwap": integer,
            "swappiness": integer
        },
        ...
}]
```

## Considerazioni
<a name="container-swap-considerations"></a>

Quando utilizzi una configurazione swap container, considera quanto segue:
+ Lo spazio di swap deve essere abilitato e allocato sull'istanza di Amazon EC2 che ospita le attività per consentire ai container di utilizzarlo. Per impostazione predefinita, gli Amazon ECS ottimizzati AMIs non hanno lo swap abilitato. È necessario abilitare lo swap sull'istanza per utilizzare questa funzionalità. Per maggiori informazioni, consultare [Instance Store Swap Volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html) nelle documentazioni *Guida per l'utente di Amazon EC2* o [Come posso allocare memoria da utilizzare come spazio di swap in un'istanza Amazon EC2 tramite un file di swap?](https://repost.aws/knowledge-center/ec2-memory-swap-file).
+ I parametri di definizione del container dello spazio di swap sono supportati solo per le definizioni di attività che specificano EC2. Questi parametri non sono supportati per le definizioni di attività destinate esclusivamente all'utilizzo di Amazon ECS su Fargate.
+ Questa caratteristica è supportata solo per i container Linux. Al momento i container Windows non sono supportati.
+ Se i parametri `maxSwap` e `swappiness` di definizione del container vengono omessi da una definizione di attività, ogni container avrà un valore `swappiness` predefinito di `60`. Inoltre, l'utilizzo totale dello swap è limitato a due volte la memoria del container.
+ Se utilizzi le attività su Amazon Linux 2023, il parametro `swappiness` non è supportato.

# Differenze nella definizione dell'attività di Amazon ECS per istanze gestite da Amazon ECS
<a name="managed-instances-tasks-services"></a>

Per utilizzare Istanze gestite da Amazon ECS, bisogna configurare la definizione dell'attività per utilizzare il tipo di avvio di istanze gestite da Amazon ECS. Sono possibili ulteriori considerazioni quando si utilizza Istanze gestite da Amazon ECS.

## Parametri di definizione di attività
<a name="managed-instances-task-parameters"></a>

I processi che utilizzano Istanze gestite da Amazon ECS supportano la maggior parte dei parametri di definizione delle attività Amazon ECS disponibili. Tuttavia, alcuni parametri presentano comportamenti o limitazioni specifici se utilizzati con attività di Istanze gestite da Amazon ECS.

I parametri di definizione delle attività seguenti non sono validi per le attività di Istanze gestite da Amazon ECS:
+ `disableNetworking`
+ `dnsSearchDomains`
+ `dnsServers`
+ `dockerLabels`
+ `dockerSecurityOptions`
+ `dockerVolumeConfiguration`
+ `ephemeralStorage`
+ `extraHosts`
+ `fsxWindowsFileServerVolumeConfiguration`
+ `hostname`
+ `inferenceAccelerator`
+ `ipcMode`
+ `links`
+ `maxSwap`
+ `proxyConfiguration`
+ `sharedMemorySize`
+ Volumi `sourcepath`
+ `swappiness`
+ `tmpfs`

I seguenti parametri di definizione delle attività sono validi in Istanze gestite da Amazon ECS, ma hanno delle limitazioni da considerare:
+ `networkConfiguration`: le attività di Istanze gestite da Amazon ECS utilizzano la modalità di rete `awsvpc` o `host`.
+ `placementConstraints`: sono supportati gli attributi di vincolo seguenti.
  + `ecs.subnet-id`
  + `ecs.availability-zone`
  + `ecs.instance-type`
  + `ecs.cpu-architecture`
+ `requiresCompatibilities`: è necessario includere `MANAGED_INSTANCES` per garantire che la definizione dell'attività sia compatibile con le istanze gestite da Amazon ECS.
+ `resourceRequirement`: `InferenceAccelerator` non è supportato.
+ `operatingSystemFamily`: Istanze gestite da Amazon ECS utilizza `LINUX`.
+ `volumes`- Quando si utilizzano bind mount con a`sourcePath`, il percorso deve puntare a una directory scrivibile sull'host. Parti del file system Amazon ECS Managed Instance sono di sola lettura. Le `/var` `/tmp` directory scrivibili includono e. Per ulteriori informazioni, consulta [Utilizzo di montaggio vincolato con Amazon ECS](bind-mounts.md).

Per assicurarsi che la definizione di attività sia valida per l'utilizzo con Istanze gestite da Amazon ECS, è possibile specificare quanto riportato di seguito quando si registra la definizione dell'attività: 
+ Nel campo Console di gestione AWS**Requires Compatibilities**, specificare. `MANAGED_INSTANCES`
+ Nel AWS CLI, specificare l'opzione. `--requires-compatibilities`
+ Nell'API Amazon ECS, specifica il flag `requiresCompatibilities`.

# Differenze nelle definizioni di attività Amazon ECS per Fargate
<a name="fargate-tasks-services"></a>

Per utilizzare Fargate, è necessario configurare la definizione dell'attività in modo da utilizzare il tipo di avvio Fargate. Ci sono ulteriori considerazioni quando si utilizza Fargate.

## Parametri di definizione di attività
<a name="fargate-task-parameters"></a>

I processi che utilizzano Fargate non supportano tutti i parametri di definizione dei processi di Amazon ECS disponibili. Alcuni parametri non sono supportati, mentre altri si comportano diversamente con i processi Fargate.

I parametri di definizione dei processi seguenti non sono validi nei processi Fargate:
+ `disableNetworking`
+ `dnsSearchDomains`
+ `dnsServers`
+ `dockerSecurityOptions`
+ `extraHosts`
+ `gpu`
+ `ipcMode`
+ `links`
+ `placementConstraints`
+ `privileged`
+ `maxSwap`
+ `swappiness`

I seguenti parametri di definizione dei processi sono validi in Fargate, ma hanno delle limitazioni da considerare:
+ `linuxParameters`: quando si indicano opzioni specifiche di Linux che vengono applicate al container, in `capabilities` l'unica capacità che puoi aggiungere è `CAP_SYS_PTRACE`. I parametri `devices`, `sharedMemorySize` e `tmpfs` non sono supportati. Per ulteriori informazioni, consulta [Parametri Linux](task_definition_parameters.md#container_definition_linuxparameters).
+ `volumes`: I processi Fargate supportano solo volumi host di montaggi vincolati, quindi il parametro `dockerVolumeConfiguration` non è supportato. Per ulteriori informazioni, consulta [Volumi](task_definition_parameters.md#volumes).
+ `cpu`: per container Windows su AWS Fargate, il valore non può essere inferiore a 1 vCPU.
+ `networkConfiguration`: le attività Fargate utilizzano sempre la modalità di rete `awsvpc`.

Per assicurarti che la definizione di attività sia valida per l'utilizzo con Fargate, puoi specificare quanto riportato di seguito quando registri la definizione di attività: 
+ Nel campo Console di gestione AWS, per il campo **Richiede compatibilità**, specificare. `FARGATE`
+ Nel AWS CLI, specificare l'opzione. `--requires-compatibilities`
+ Nell'API Amazon ECS, specifica il flag `requiresCompatibilities`.

## Sistemi operativi e architetture
<a name="fargate-task-os"></a>

Quando si configura una definizione di attività e container per AWS Fargate, è necessario specificare il sistema operativo eseguito dal container. Sono supportati i seguenti sistemi operativi per AWS Fargate:
+ Amazon Linux 2
**Nota**  
I container Linux utilizzano solo il kernel e la relativa configurazione del sistema operativo host. Ad esempio, la configurazione del kernel include i controlli di sistema `sysctl`. Un'immagine di container Linux può essere creata a partire da un'immagine di base che contiene i file e i programmi di qualsiasi distribuzione Linux. Se l'architettura della CPU corrisponde, puoi eseguire i container da qualsiasi immagine di container Linux e su qualsiasi sistema operativo.
+ Windows Server 2019 Full
+ Windows Server 2019 Core
+ Windows Server 2022 Full
+ Windows Server 2022 Core

Quando si eseguono container Windows su AWS Fargate, è necessario disporre di un'architettura CPU X86\$164.

Quando si eseguono contenitori Linux suAWS Fargate, è possibile utilizzare l'architettura della CPU X86\$164 o l' ARM64 architettura per le applicazioni basate su ARM. Per ulteriori informazioni, consulta [Definizioni di attività Amazon ECS per carichi di lavoro ARM a 64 bit](ecs-arm64.md).

## CPU e memoria del processo
<a name="fargate-tasks-size"></a>

Le definizioni di attività di Amazon ECS per AWS Fargate richiedono che la CPU e la memoria vengano specificate a livello di processo. Per la maggior parte dei casi d'uso è necessario specificare queste risorse solo a livello di processo. La tabella seguente illustra le combinazioni valide di CPU e memoria a livello di attività. È possibile specificare i valori di memoria nella definizione dell'attività come stringa in MiB o GB. Ad esempio, è possibile specificare un valore di memoria pari a `3072` in MiB o `3 GB` in GB. È possibile specificare i valori della CPU nel file JSON come stringa in unità CPU o in modalità virtuale (v). CPUs CPUs Ad esempio, è possibile specificare un valore di CPU come `1024` in unità CPU o `1 vCPU` in vCPUs.


|  Valore CPU  |  Valore memoria  |  Sistemi operativi supportati per AWS Fargate  | 
| --- | --- | --- | 
|  256 (0,25 vCPU)  |  512 MiB, 1 GB, 2 GB  |  Linux  | 
|  512 (0,5 vCPU)  |  1 GB, 2 GB, 3 GB, 4 GB  |  Linux  | 
|  1024 (1 vCPU)  |  2 GB, 3 GB, 4 GB, 5 GB, 6 GB, 7 GB, 8 GB  |  Linux, Windows  | 
|  2048 (2 vCPU)  |  Tra 4 GB e 16 GB in incrementi di 1 GB  |  Linux, Windows  | 
|  4096 (4 vCPU)  |  Tra 8 GB e 30 GB in incrementi di 1 GB  |  Linux, Windows  | 
|  8192 (8 vCPU)  Questa opzione richiede la piattaforma Linux `1.4.0` o successiva.   |  Tra 16 GB e 60 GB in incrementi di 4 GB  |  Linux  | 
|  16384 (16vCPU)  Questa opzione richiede la piattaforma Linux `1.4.0` o successiva.   |  Tra 32 GB e 120 GB in incrementi di 8 GB  |  Linux  | 

## Reti di attività
<a name="fargate-tasks-services-networking"></a>

I processi di Amazon ECS per AWS Fargate richiedono la modalità di rete `awsvpc`, la quale fornisce un'interfaccia di rete elastica a ciascun processo. Quando esegui un'attività o crei un servizio con questa modalità di rete, è necessario specificare una o più sottoreti per collegare l'interfaccia di rete e uno o più gruppi di sicurezza da applicare all'interfaccia di rete. 

Se usi sottoreti pubbliche, decidi se fornire un indirizzo IP pubblico per l'interfaccia di rete. Affinché un processo Fargate in una sottorete pubblica estragga le immagini del container, è necessario che un indirizzo IP pubblico sia assegnato all'interfaccia di rete elastica del processo con un routing a Internet o a un gateway NAT in grado di instradare le richieste a Internet. Affinché un processo Fargate in una sottorete privata estragga le immagini del container, è necessario un gateway NAT nella sottorete per instradare le richieste a Internet. Quando ospiti le immagini del container in Amazon ECR, puoi configurare Amazon ECR per utilizzare un endpoint VPC dell'interfaccia. In questo caso, l' IPv4 indirizzo privato dell'attività viene utilizzato per il pull dell'immagine. Per ulteriori informazioni sugli endpoint di interfaccia Amazon ECR, consulta [Endpoint VPC dell'interfaccia Amazon ECR (AWS PrivateLink)](https://docs.aws.amazon.com/AmazonECR/latest/userguide/vpc-endpoints.html) nella *Guida per l'utente di Amazon Elastic Container Registry*.

Di seguito è riportato un esempio della sezione `networkConfiguration` per un servizio Fargate:

```
"networkConfiguration": { 
   "awsvpcConfiguration": { 
      "assignPublicIp": "ENABLED",
      "securityGroups": [ "sg-12345678" ],
      "subnets": [ "subnet-12345678" ]
   }
}
```

## Limiti delle risorse dei processi
<a name="fargate-resource-limits"></a>

Le definizioni di attività di Amazon ECS per container Linux su AWS Fargate supportano il parametro `ulimits` per definire i limiti di risorse da impostare per un container.

Le definizioni di attività di Amazon ECS per Windows su AWS Fargate non supportano il parametro `ulimits` per definire i limiti di risorse da impostare per un container.

I processi di Amazon ECS ospitati su Fargate utilizzano i valori del limite di risorse predefinito impostato dal sistema operativo, ad eccezione del parametro del limite di risorse `nofile`. Il limite di risorse `nofile` imposta una restrizione sul numero di file aperti che un container può utilizzare. Su Fargate, il limite flessibile `nofile` predefinito è ` 65535` mentre il limite rigido è `65535`. Puoi impostare i valori di entrambi i limiti fino a `1048576`.

Di seguito è riportato uno snippet di definizione di attività di esempio che mostra come definire un`nofile`limite che è stato raddoppiato:

```
"ulimits": [
    {
       "name": "nofile",
       "softLimit": 2048,
       "hardLimit": 8192
    }
]
```

Per ulteriori informazioni sugli altri limiti di risorse che possono essere modificati, consulta [Limiti delle risorse](task_definition_parameters.md#container_definition_limits).

## Registrazione dei log
<a name="fargate-tasks-logging"></a>

### Registrazione degli eventi
<a name="fargate-event-logging"></a>

Amazon ECS registra le azioni eseguite. EventBridge Puoi utilizzare Amazon ECS Events per EventBridge ricevere notifiche quasi in tempo reale sullo stato corrente dei tuoi cluster, servizi e attività Amazon ECS. Inoltre, puoi automatizzare le operazioni per rispondere a questi eventi. Per ulteriori informazioni, consulta [Automatizza le risposte agli errori di Amazon ECS utilizzando EventBridge](cloudwatch_event_stream.md).

### Registrazione del ciclo di vita delle attività
<a name="fargate-task-status"></a>

Le attività eseguite su Fargate pubblicano i timestamp per monitorare l'attività attraverso gli stati del ciclo di vita. Puoi visualizzare i timestamp nei dettagli dell'attività nel e descrivendo l'attività nella Console di gestione AWS e. AWS CLI SDKs Ad esempio, puoi utilizzare i timestamp per valutare il tempo impiegato dall'attività per scaricare le immagini di container e decidere se ottimizzare le dimensioni dell'immagine o utilizzare gli indici Seekable OCI. Per ulteriori informazioni sulle pratiche delle immagini di container, consulta [Best practice per le immagini dei container Amazon ECS](container-considerations.md).

### Registrazione dell'applicazione
<a name="fargate-app-logging"></a>

Le definizioni di attività di Amazon ECS per AWS Fargate supportano i driver di log `awslogs`, `splunk` e `awsfirelens` per la configurazione dei log.

Il driver di `awslogs` registro configura le attività di Fargate per inviare informazioni di registro ad Amazon CloudWatch Logs. È riportato di seguito un frammento di una definizione di attività in cui è configurato il driver di log `awslogs`:

```
"logConfiguration": { 
   "logDriver": "awslogs",
   "options": { 
      "awslogs-group" : "/ecs/fargate-task-definition",
      "awslogs-region": "us-east-1",
      "awslogs-stream-prefix": "ecs"
   }
}
```

Per ulteriori informazioni sull'utilizzo del driver di `awslogs` registro in una definizione di attività per inviare i log dei contenitori a Logs, consulta. CloudWatch [Invia i log di Amazon ECS a CloudWatch](using_awslogs.md)

Per ulteriori informazioni sul driver di log `awsfirelens`, consulta [Inviare i log di Amazon ECS a un servizio o AWS AWS Partner](using_firelens.md).

Per ulteriori informazioni su come utilizzare il driver di log `splunk`, consulta [Driver di log `splunk`](example_task_definitions.md#example_task_definition-splunk).

## Archiviazione dei processi
<a name="fargate-tasks-storage"></a>

Per i processi Amazon ECS ospitati su Fargate, sono supportati i seguenti tipi di archiviazione:
+ I volumi Amazon EBS forniscono un'archiviazione a blocchi conveniente, durevole e ad alte prestazioni per carichi di lavoro containerizzati a uso intensivo di dati. Per ulteriori informazioni, consulta [Usare i volumi Amazon EBS con Amazon ECS](ebs-volumes.md).
+ Volumi Amazon EFS per l'archiviazione persistente. Per ulteriori informazioni, consulta [Usare i volumi Amazon EFS con Amazon ECS](efs-volumes.md).
+ Montaggi vincolati per l'archiviazione temporanea. Per ulteriori informazioni, consulta [Utilizzo di montaggio vincolato con Amazon ECS](bind-mounts.md).

## Caricamento lento delle immagini di container utilizzando Seekable OCI (SOCI)
<a name="fargate-tasks-soci-images"></a>

Le attività di Amazon ECS su Fargate che utilizzano la versione della piattaforma Linux `1.4.0` possono utilizzare Seekable OCI (SOCI) per avviare le attività più velocemente. Con SOCI, i container trascorrono solo pochi secondi sul recupero dell'immagine prima di avviarsi, lasciando così il tempo necessario per la configurazione dell'ambiente e la creazione di istanze dell'applicazione mentre l'immagine viene scaricata in background. Questo processo si chiama *caricamento lento*. Quando Fargate avvia un'attività Amazon ECS, rileva automaticamente se esiste un indice SOCI per un'immagine nell'operazione e avvia il container senza attendere che l'intera immagine venga scaricata.

Per i container che funzionano senza indici SOCI, le immagini di container vengono scaricate completamente prima dell'avvio di quest'ultimo. Questo comportamento avviene su tutte le altre versione della piattaforma di Fargate e sull'AMI ottimizzata per Amazon ECS sulle istanze Amazon EC2.

Seekable OCI (SOCI) è una tecnologia open source sviluppata da Seekable OCI AWS che può avviare i container più velocemente caricando pigramente l'immagine del contenitore. SOCI funziona creando un indice (indice SOCI) dei file all'interno di un'immagine di container esistente. Questo indice aiuta ad avviare i container più velocemente, offrendo la possibilità di estrarre un singolo file da un'immagine di container prima di scaricare l'intera immagine. L'indice SOCI deve essere archiviato come artefatto nello stesso repository dell'immagine all'interno del registro dei container. Devi utilizzare solo indici SOCI provenienti da fonti attendibili, poiché l'indice è la fonte autorevole per il contenuto dell'immagine. Per ulteriori informazioni, consulta [Introduzione a Seekable OCI per il caricamento lento delle immagini di container](https://aws.amazon.com/about-aws/whats-new/2022/09/introducing-seekable-oci-lazy-loading-container-images/).

I clienti che desiderano utilizzare SOCI potranno usare solo il manifesto dell'indice SOCI v2. I clienti esistenti che hanno già utilizzato SOCI su Fargate possono continuare a usare il manifesto dell'indice SOCI v1, tuttavia consigliamo vivamente di migrare al manifesto dell'indice SOCI v2. Il manifesto dell'indice SOCI v2 crea una relazione esplicita tra le immagini dei container e i relativi indici SOCI per garantire implementazioni coerenti.
<a name="fargate-soci-considerations"></a>
**Considerazioni**  
Se desideri che Fargate utilizzi un indice SOCI per caricare lentamente le immagini di container in un'attività, considera le seguenti informazioni:
+ Solo le attività eseguite sulla versione della piattaforma Linux `1.4.0` possono utilizzare gli indici SOCI. Le attività che eseguono i container Windows su Fargate non sono supportate.
+ Sono supportate le attività eseguite sull'architettura della CPU X86\$164 o ARM64.
+ Le immagini di container nella definizione delle attività devono essere archiviate in un registro di immagini compatibile. Di seguito sono elencati i registri compatibili:
  + Registri privati Amazon ECR.
+ Sono supportate solo le immagini di container che utilizzano la compressione gzip o non sono compresse. Le immagini di container che utilizzano la compressione zstd non sono supportate.
+ Per il manifesto dell'indice SOCI v2, la generazione di un manifesto dell'indice SOCI modifica il manifesto dell'immagine del container in quanto viene aggiunta un'annotazione per tale indice. Ciò si traduce in un nuovo digest di immagini del container. Il contenuto dei livelli del filesystem delle immagini del container non cambia.
+ Per il manifesto dell'indice SOCI v2, quando l'immagine del container è già stata archiviata nel repository di immagini del container, dopo aver generato un indice SOCI, è necessario ripristinare l'immagine del container. Il reinserimento dell'immagine del container non aumenterà i costi di archiviazione duplicando i livelli del filesystem, ma caricherà solo un nuovo file manifesto.
+ Consigliamo di provare il caricamento lento con immagini di container con dimensioni della compressione superiori a 250 MiB. È meno probabile che si verifichi una riduzione del tempo necessario per caricare immagini più piccole.
+ Poiché il caricamento lento può modificare il tempo di avvio delle attività, potrebbe essere necessario modificare diversi timeout, ad esempio il periodo di tolleranza del controllo dell'integrità per Elastic Load Balancing.
+ Se si desidera evitare che un'immagine di container venga caricata lentamente, sarà necessario eseguire di nuovo il push dell'immagine di container senza un indice SOCI allegato.
<a name="create-soci"></a>
**Creazione di un indice Seekable OCI**  
Affinché un'immagine del container venga caricata lentamente, è necessario un indice SOCI (un file di metadati) creato e archiviato nel repository di immagini del container insieme all'immagine del container. Per creare e inviare un indice SOCI puoi utilizzare lo strumento CLI [soci-snapshotter](https://github.com/awslabs/soci-snapshotter) open source. GitHub In alternativa, puoi implementare SOCI Index Builder. CloudFormation AWS Si tratta di una soluzione serverless che crea e invia automaticamente un indice SOCI quando un'immagine del container viene inviata ad Amazon ECR. Per ulteriori informazioni sulla soluzione e sui passaggi di installazione, consulta [CloudFormation AWS SOCI Index](https://awslabs.github.io/cfn-ecr-aws-soci-index-builder/) Builder su. GitHub CloudFormation AWS SOCI Index Builder è un modo per automatizzare l'avvio a usare SOCI, mentre lo strumento open source soci offre una maggiore flessibilità nella generazione di indici e la capacità di integrare la generazione di indici nelle pipeline di integrazione continua e distribuzione continua (CI/CD).

**Nota**  
Affinché l'indice SOCI possa essere creato per un'immagine, l'immagine deve esistere nell'archivio di immagini containerd sul computer che esegue `soci-snapshotter`. Se l'immagine è nell'archivio di immagini Docker, non può essere trovata.
<a name="verify-soci"></a>
**Verificare che un'attività abbia utilizzato il caricamento lento**  
Per verificare che sia stato utilizzato il caricamento lento per un'attività tramite SOCI, controlla l'endpoint dei metadati dell'operazione dall'interno dell'attività. Quando esegui query sulla versione 4 dell'endpoint metadati delle attività, viene visualizzato un campo `Snapshotter` nel percorso predefinito per il container da cui esegui la query. Inoltre, vengono visualizzati campi `Snapshotter` per ogni container nel percorso `/task`. Il valore predefinito per questo campo è `overlayfs`, e questo campo è impostato su `soci` se viene utilizzato SOCI. Per verificare che un manifesto dell'indice SOCI v2 sia allegato a un'immagine del container, è possibile recuperare l'indice delle immagini da Amazon ECR utilizzando AWS CLI.

```
IMAGE_REPOSITORY=r
IMAGE_TAG=latest

aws ecr batch-get-image \
    --repository-name=$IMAGE_REPOSITORY \
    --image-ids imageTag=$IMAGE_TAG \
    --query 'images[0].imageManifest' --output text | jq -r '.manifests[] | select(.artifactType=="application/vnd.amazon.soci.index.v2+json")'
```

Per verificare che un manifesto dell'indice SOCI v1 sia allegato a un'immagine del container, puoi utilizzare l'API OCI Referrers.

```
ACCOUNT_ID=111222333444
AWS_REGION=us-east-1
IMAGE_REPOSITORY=nginx-demo
IMAGE_TAG=latest
IMAGE_DIGEST=$(aws ecr describe-images --repository-name $IMAGE_REPOSITORY --image-ids imageTag=$IMAGE_TAG --query 'imageDetails[0].imageDigest' --output text)
ECR_PASSWORD=$(aws ecr get-login-password)

curl \
    --silent \
    --user AWS:$ECR_PASSWORD \
    https://$ACCOUNT_ID.dkr.ecr.$AWS_REGION.amazonaws.com/v2/$IMAGE_REPOSITORY/referrers/$IMAGE_DIGEST?artifactType=application%2Fvnd.amazon.soci.index.v1%2Bjson | jq -r '.'
```

# Differenze nella definizione dell'attività di Amazon ECS per istanze EC2 eseguite su Windows
<a name="windows_task_definitions"></a>

Le attività che vengono eseguire su istanze Windows EC2 non supportano tutti i parametri di definizione dei processi di Amazon ECS disponibili. Alcuni parametri non sono supportati, mentre altri si comportano diversamente.

Le definizioni di attività seguenti non sono supportate per le definizioni di attività Windows di Amazon EC2:
+ `containerDefinitions`
  + `disableNetworking`
  + `dnsServers`
  + `dnsSearchDomains`
  + `extraHosts`
  + `links`
  + `linuxParameters`
  + `privileged`
  + `readonlyRootFilesystem`
  + `user`
  + `ulimits`
+ `volumes`
  + `dockerVolumeConfiguration`
+ `cpu`

  Consigliamo di specificare la CPU a livello di container per i container Windows.
+ `memory`

  Consigliamo di specificare la memoria a livello di container per i container Windows.
+ `proxyConfiguration`
+ `ipcMode`
+ `pidMode`
+ `taskRoleArn`

  I ruoli IAM per le attività sulle istanze Windows EC2 richiedono una configurazione aggiuntiva, ma gran parte di questa configurazione è analoga alla configurazione dei ruoli IAM per le attività nelle istanze di container Linux. Per ulteriori informazioni, consulta [Configurazione aggiuntiva delle istanze Windows di Amazon EC2](task-iam-roles.md#windows_task_IAM_roles).