

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

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