Crea una definizione di attività Amazon ECS e monta un file system su istanze EC2 utilizzando Amazon EFS - Prontuario AWS

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

Crea una definizione di attività Amazon ECS e monta un file system su istanze EC2 utilizzando Amazon EFS

Creato da Durga Prasad Cheepuri (AWS)

Ambiente: PoC o pilota

Tecnologie: contenitori e microservizi CloudNative; Gestione e governance; Archiviazione e backup; App Web e mobili

Servizi AWS: Amazon ECS; Amazon EFS

Riepilogo

Questo modello fornisce esempi di codice e passaggi per creare una definizione di task di Amazon Elastic Container Service (Amazon ECS) da eseguire su istanze Amazon Elastic Compute Cloud (Amazon EC2) nel cloud Amazon Web Services (AWS), utilizzando Amazon Elastic File System (Amazon EFS) per montare un file system su tali istanze EC2 balli. Le attività di Amazon ECS che utilizzano Amazon EFS montano automaticamente i file system specificati nella definizione dell'attività e li rendono disponibili per i contenitori dell'attività in tutte le zone di disponibilità in una regione AWS.

Per soddisfare i tuoi requisiti di storage persistente e di storage condiviso, puoi usare Amazon ECS e Amazon EFS insieme. Ad esempio, puoi utilizzare Amazon EFS per archiviare dati utente persistenti e dati applicativi per le tue applicazioni con coppie di contenitori ECS attivi e in standby in esecuzione in diverse zone di disponibilità per un'elevata disponibilità. Puoi anche utilizzare Amazon EFS per archiviare dati condivisi a cui è possibile accedere in parallelo dai container ECS e dai carichi di lavoro distribuiti.

Per utilizzare Amazon EFS con Amazon ECS, puoi aggiungere una o più definizioni di volume a una definizione di attività. Una definizione di volume include un ID del file system Amazon EFS, un ID del punto di accesso e una configurazione per l'autorizzazione AWS Identity and Access Management (IAM) o la crittografia Transport Layer Security (TLS) in transito. È possibile utilizzare le definizioni dei contenitori all'interno delle definizioni delle attività per specificare i volumi di definizione delle attività che vengono montati durante l'esecuzione del contenitore. Quando viene eseguita un'attività che utilizza un file system Amazon EFS, Amazon ECS garantisce che il file system sia montato e disponibile per i contenitori che devono accedervi.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • Le versioni di Amazon ECS Container Agent precedenti alla 1.35.0 non supportano i file system Amazon EFS per le attività che utilizzano il tipo di avvio EC2.

Architettura

Il diagramma seguente mostra un esempio di applicazione che utilizza Amazon ECS per creare una definizione di attività e montare un file system Amazon EFS su istanze EC2 in contenitori ECS.

Cloud AWS architecture showing ECS task definition, ECS service, and EFS file system interaction.

Il diagramma mostra il flusso di lavoro seguente:

  1. Crea un file system Amazon EFS.

  2. Crea una definizione di attività con un contenitore.

  3. Configura le istanze del contenitore per montare il file system Amazon EFS. La definizione del task fa riferimento ai montaggi del volume, quindi l'istanza del contenitore può utilizzare il file system Amazon EFS. Le attività ECS hanno accesso allo stesso file system Amazon EFS, indipendentemente dall'istanza di contenitore su cui vengono create tali attività.

  4. Crea un servizio Amazon ECS con tre istanze della definizione dell'attività.

Stack tecnologico

  • Amazon EC2

  • Amazon ECS

  • Amazon EFS

Strumenti

  • Amazon EC2 — Amazon Elastic Compute Cloud (Amazon EC2) Elastic Compute Cloud (Amazon EC2) fornisce capacità di calcolo scalabile nel cloud AWS. Puoi usare Amazon EC2 per lanciare tutti o pochi server virtuali di cui hai bisogno e puoi scalare orizzontalmente o orizzontalmente.

  • Amazon ECS — Amazon Elastic Container Service (Amazon ECS) è un servizio di gestione dei container veloce e altamente scalabile per l'esecuzione, l'arresto e la gestione dei container su un cluster. Puoi eseguire le tue attività e i tuoi servizi su un'infrastruttura serverless gestita da AWS Fargate. In alternativa, per un maggiore controllo sulla tua infrastruttura, puoi eseguire le tue attività e i tuoi servizi su un cluster di istanze EC2 da te gestito.

  • Amazon EFS — Amazon Elastic File System (Amazon EFS) fornisce un file system NFS elastico semplice, scalabile e completamente gestito da utilizzare con i servizi cloud AWS e le risorse locali.

  • AWS CLI — L'AWS Command Line Interface (AWS CLI) è uno strumento open source per interagire con i servizi AWS tramite comandi nella shell della riga di comando. Con una configurazione minima, puoi eseguire comandi AWS CLI che implementano funzionalità equivalenti a quelle fornite dalla Console di gestione AWS basata su browser da un prompt dei comandi.

Epiche

AttivitàDescrizioneCompetenze richieste
Crea un file system Amazon EFS utilizzando la Console di gestione AWS.
  1. Crea un file system Amazon EFS e scegli il VPC che include i tuoi contenitori. Nota: se utilizzi un VPC diverso, configura una connessione peering VPC.

  2. Prendi nota dell'ID file system.

AWS DevOps
AttivitàDescrizioneCompetenze richieste
Crea una definizione di attività utilizzando un file system Amazon EFS.

Crea una definizione di attività utilizzando la nuova console Amazon ECS o la classica console Amazon ECS con le seguenti configurazioni:

  • Se usi la nuova console, scegli le istanze Amazon EC2 per l'ambiente App. Se usi la console classica, scegli EC2 come tipo di avvio.

  • Aggiungi un volume. Immettete un nome per il volume, scegliete EFS per il tipo di volume, quindi scegliete l'ID del file system che avete annotato in precedenza. Per la directory principale, scegli il percorso del file system Amazon EFS che desideri ospitare sull'host del contenitore Amazon ECS.

AWS DevOps
Crea una definizione di attività utilizzando la CLI di AWS.
  1. Per creare un modello JSON con segnaposto dei parametri di input per la definizione dell'attività, esegui il seguente comando:

    aws ecs register-task-definition --generate-cli-skeleton
  2. Per creare la definizione dell'attività con il modello JSON, esegui il comando seguente:

    aws ecs register-task-definition --cli-input-json file://<path_to_your_json_file>
  3. Immettete i parametri di input nel modello JSON in base al task_definition_parameters.json file (allegato). Nota: per ulteriori informazioni sui parametri di input, consulta Parametri di definizione delle attività (documentazione di Amazon ECS) e register-task-definition(AWS CLI Command Reference).

AWS DevOps

Risorse correlate

Allegati

Per accedere a contenuti aggiuntivi associati a questo documento, decomprimi il seguente file: attachment.zip