Come posso montare un file system EFS su un container o un'attività ECS su EC2?

Ultimo aggiornamento: 18/07/2022

Desidero utilizzare Amazon Elastic File System (Amazon EFS) con il container o le attività di Amazon Elastic Container Service (Amazon ECS) utilizzando un tipo di avvio di Amazon Elastic Compute Cloud (Amazon EC2). In che modo posso farlo?

Breve descrizione

Puoi montare un file system EFS su un'attività o un container in esecuzione su un'istanza EC2. A tale scopo, crea una definizione di attività che fornisca l'ID del file system nei parametri di definizione dell'attività del volume. Ciò consente al file system EFS di eseguire automaticamente il montaggio sulle attività specificate nella definizione dell'attività.

Risorse richieste:

Risoluzione

Requisiti di rete

  • Il file system EFS e il cluster ECS devono trovarsi nello stesso VPC.
  • I gruppi di sicurezza associati al file system EFS devono consentire le connessioni in ingresso sulla porta 2049 (file system di rete o NFS) dall'istanza di container ECS e dall'attività ECS.
  • I gruppi di sicurezza dell'istanza o delle attività ECS devono consentire connessioni in uscita sulla porta 2049 al gruppo di sicurezza del file system EFS.

Creazione di una definizione di attività

1.    Apri la console di Amazon ECS e seleziona Task Definitions (Definizioni di attività), Create new Task Definition (Crea nuova definizione di attività).

2.    Scegli EC2 per la compatibilità del tipo di avvio, quindi seleziona Next step (Passaggio successivo).

3.    In Configure task and container definitions (Configura le definizioni di attività e container), immetti un nome per la definizione dell'attività.

4.    Nella sezione Volume, scegli Add volume (Aggiungi volume).

5.    Immetti il nome del volume, quindi seleziona EFS dal menu a discesa Volume types (Tipi di volume).

6.    Per File system ID (ID file system), seleziona l'ID del file system da utilizzare con le attività ECS.

7.    (Facoltativo) Specifica la directory root, la crittografia in transito e l'autorizzazione IAM EFS, se necessario, in base ai requisiti. Se non viene modificata alcuna opzione, viene utilizzata la directory root predefinita "/".

8.    Seleziona Add (Aggiungi).

9.    Durante la creazione del container, in Container definitions (Definizioni container), seleziona Add container (Aggiungi container) per utilizzare il volume creato in precedenza. Quindi, in Storage and Logging (Archiviazione e registrazione) nella sottosezione Mount points (Punti di montaggio), seleziona il volume creato nel passaggio 4.

10.    Per il percorso del container, scegli il percorso della directory all'interno del container per l'applicazione, quindi scegli Add (Aggiungi).

11.    Completa i campi obbligatori rimanenti nella procedura guidata di definizione dell'attività, quindi scegli Create (Crea).

Nell'esempio seguente, la definizione dell'attività crea un volume di dati denominato efs-ec2-test. Il container nginx monta il volume di dati host nel percorso /usr/share/nginx/html.

{
  "containerDefinitions": [
    {
      "memory": 128,
      "portMappings": [
        {
          "hostPort": 80,
          "containerPort": 80,
          "protocol": "tcp"
        }
      ],
      "essential": true,
      "mountPoints": [
        {
          "containerPath": "/usr/share/nginx/html",
          "sourceVolume": "efs-ec2-test"
        }
      ],
      "name": "nginx",
      "image": "nginx"
    }
  ],
  "volumes": [
    {
      "name": "efs-ec2-test",
      "efsVolumeConfiguration": {
        "fileSystemId": "fs-1324abcd",
        "transitEncryption": "ENABLED"
      }
    }
  ],
  "family": "efs-test"
}

Nota: sostituisci i parametri FileSystemId, ContainerPath e altri parametri di definizione delle attività in base ai valori per la configurazione personalizzata.

Nell'esempio precedente, puoi creare un file index.html di esempio nella directory root del file system con il seguente contenuto:

<html>
  <body>
    <h1>You are using an Amazon EFS file system for persistent container storage.</h1>
  </body>
</html>

Esecuzione di un'attività ECS

1.    Esegui l'attività ECS utilizzando la definizione dell'attività creata in precedenza.

2.    Assicurati che il file system EFS venga montato correttamente nel container EC2 accedendo al sito Web utilizzando l'indirizzo IP pubblico dell'istanza ECS.


Questo articolo è stato utile?


Hai bisogno di supporto tecnico o per la fatturazione?