New user sign up using AWS Builder ID
New user sign up using AWS Builder ID is currently unavailable on re:Post. To sign up, please use the AWS Management Console instead.
Come posso montare un file system Amazon EFS su un contenitore Amazon ECS o un'attività eseguita su Fargate?
Desidero montare un file sistem Amazon Elastic File System (Amazon EFS) su un container o un'attività Amazon Elastic Container Service (Amazon ECS). Il container o l'attività Amazon ECS è in esecuzione su AWS Fargate.
Risoluzione
Per montare un file system Amazon EFS su un container o su un'attività Fargate, innanzitutto crea una definizione dell'attività. Dopodiché rendi la definizione dell'attività disponibile per i contenitori della tua attività in tutte le zone di disponibilità nella tua regione AWS. Infine, le attività Fargate utilizzano Amazon EFS per montare automaticamente il file system sulle attività specificate nella definizione dell'attività.
Importante: la seguente risoluzione si applica alla versione Fargate 1.4.0 e successive. Queste versioni dispongono di un'archiviazione persistente che puoi definire a livello di attività e container in Amazon ECS. Le versioni 1.3.0 o precedenti di Fargate non supportano l'utilizzo dell'archiviazione persistente con Amazon EFS.
Prerequisiti
È necessario disporre di quanto segue:
Creare e configurare un file system Amazon EFS
- Crea un file system Amazon EFS e annota l'ID EFS e l'ID del gruppo di sicurezza.
Nota: il file system Amazon EFS, il cluster Amazon ECS e le attività Fargate devono essere tutti nello stesso VPC. - Modifica le regole del gruppo di sicurezza del tuo file system EFS per consentire le connessioni in entrata. Consenti le connessioni sulla porta 2049 (Network File System o NFS) dal gruppo di sicurezza associato all'attività o al servizio Fargate.
- Aggiorna il gruppo di sicurezza del servizio Amazon ECS per consentire le connessioni in uscita sulla porta 2049 verso il gruppo di sicurezza del file system Amazon EFS.
Creare una definizione di attività
- Apri la console Amazon ECS classica.
- Nel pannello di navigazione, seleziona Definizioni di attività, quindi Crea nuova definizione di attività.
- Nella sezione Seleziona compatibilità con il tipo di avvio, seleziona FARGATE e quindi Fase successiva.
- Nella sezione Configura definizioni di attività e container, in Nome definizione di attività inserisci un nome per la definizione dell'attività.
- Nella sezione Volumi, seleziona Aggiungi volume.
- In Nome, inserisci un nome per il volume.
- In Tipo di volume, inserisci EFS.
- In ID file system, inserisci l'ID del file system Amazon EFS.
Nota: specifica le opzioni personalizzate per la directory principale, la crittografia in transito e l'autorizzazione EFS AWS Identity and Access Management (IAM). Oppure puoi accettare l'impostazione predefinita, dove “/” è la directory principale. - Scegli Aggiungi.
- Nella sezione Definizione di container, seleziona Aggiungi container.
- Nella sezione ARCHIVIAZIONE E REGISTRAZIONE, sottosezione Punti di montaggio, seleziona il volume creato per Volume di origine nel passaggio 5.
- In Percorso container, seleziona il percorso del container.
- (Facoltativo) Nella sezione AMBIENTE, in Punto di ingresso, inserisci il punto di ingresso.
- In Comando, inserisci il comando df ,-h per visualizzare il file system montato.
Nota: è possibile utilizzare il punto di ingresso e il comando per verificare se il file system Amazon EFS è stato montato correttamente. Per impostazione predefinita, il container viene chiuso dopo che il comando df -h è stato eseguito correttamente. L'esempio di definizione dell'attività JSON nel passaggio 16 utilizza un ciclo while infinito per mantenere l'attività in esecuzione. - Scegli Aggiungi.
- Inserisci le informazioni per i campi rimanenti nella procedura guidata di definizione delle attività, quindi scegli Crea.
Nell'esempio seguente, la definizione dell'attività JSON utilizza un ciclo infinito per mantenere l'attività in esecuzione. La definizione dell'attività crea un volume di dati denominato efs-test. Il container nginx monta il volume di dati host nel percorso Any_Container_Path.
{ "family": "sample-fargate-test", "networkMode": "awsvpc", "executionRoleArn": "arn:aws:iam::1234567890:role/ecsTaskExecutionRole", "containerDefinitions": [ { "name": "fargate-app", "image": "nginx", "portMappings": [ { "containerPort": 80, "hostPort": 80, "protocol": "tcp" } ], "essential": true, "entryPoint": [ "sh", "-c" ], "command": [ "df -h && while true; do echo \"RUNNING\"; done" ], "mountPoints": [ { "sourceVolume": "efs-test", "containerPath": "Any_Container_Path" } ], "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "AWS_LOG_GROUP_PATH", "awslogs-region": "AWS_REGION", "awslogs-stream-prefix": "AWS_STREAM_PREFIX" } } } ], "volumes": [ { "name": "efs-test", "efsVolumeConfiguration": { "fileSystemId": "fs-123xx4x5" } } ], "requiresCompatibilities": [ "FARGATE" ], "cpu": "256", "memory": "512" }
Nota: sostituisci fileSystemId, LogConfiguration, ContainerPath e altri valori segnaposto con i valori per la configurazione personalizzata. Inoltre, conferma che la definizione dell'attività abbia un Amazon Resource Name (ARN) di ruolo di esecuzione per supportare il driver del log awslogs.
Per montare più EFS su destinazioni diverse (containerPath), puoi definire più mountPoints e volumi nella definizione dell'attività.
Esegui un'attività Fargate e controlla i log dell'attività
- Esegui un'attività Fargate utilizzando la definizione dell'attività creata in precedenza.
Importante: è necessario utilizzare la versione 1.4.0 della piattaforma Fargate per eseguire l'attività. - Per verificare che il file system Amazon EFS sia stato montato correttamente sul container Fargate, controlla i log dell'attività.
L'output di df-h è simile al seguente:2020-10-27 15:15:35Filesystem 1K-blocks Used Available Use% Mounted on 2020-10-27 15:15:35 overlay 30832548 9859324 19383976 34% / 2020-10-27 15:15:35 tmpfs 65536 0 65536 0% /dev 2020-10-27 15:15:35 shm 2018788 0 2018788 0% /dev/shm 2020-10-27 15:15:35 tmpfs 2018788 0 2018788 0% /sys/fs/cgroup 2020-10-27 15:15:35 fs-xxxxxxxx.efs.us-east-1.amazonaws.com:/ 9007199254739968 0 9007199254739968 0% /Any_Container_Path 2020-10-27 15:15:35 /dev/xvdcz 30832548 9859324 19383976 34% /etc/hosts 2020-10-27 15:15:35 tmpfs 2018788 0 2018788 0% /proc/acpi 2020-10-27 15:15:35 tmpfs 2018788 0 2018788 0% /sys/firmware 2020-10-27 15:15:35 tmpfs 2018788 0 2018788 0% /proc/scsi RUNNING
Informazioni correlate
Sicurezza e controlli di accesso per i volumi Amazon EFS
Specificare un file system Amazon EFS in una definizione di attività Amazon ECS
Configurazione dei file system Amazon EFS per Amazon ECS tramite la console
Video correlati


Contenuto pertinente
- Come posso montare un file system EFS su un container o un'attività ECS in esecuzione su Amazon EC2?AWS UFFICIALEAggiornata 8 mesi fa
- AWS UFFICIALEAggiornata 3 mesi fa
- AWS UFFICIALEAggiornata un anno fa
- AWS UFFICIALEAggiornata 2 anni fa