Wie mounte ich ein EFS-Dateisystem auf einem ECS-Container oder einer ECS-Aufgabe, die auf Amazon EC2 ausgeführt wird?

Lesedauer: 3 Minute
0

Ich möchte ein Amazon Elastic File System (Amazon EFS) auf einem Amazon Elastic Container Service (Amazon ECS)-Container oder einer ECS-Aufgabe mounten. Der Container oder die Aufgabe verwendet einen Starttyp von Amazon Elastic Compute Cloud (Amazon EC2).

Behebung

Erstellen Sie eine Aufgabendefinition, die die Dateisystem-ID in den Parametern der Volume-Aufgabendefinition bereitstellt. Dadurch kann das EFS-Dateisystem automatisch in die Aufgaben gemountet werden, die Sie in Ihrer Aufgabendefinition angeben.

Netzwerkanforderungen

Bestätigen Sie, dass Sie die folgenden Konfigurationen haben:

  • Das EFS-Dateisystem und der ECS-Cluster für den Amazon EC2-Starttyp müssen sich in derselben Virtual Private Cloud (VPC) befinden.
  • Die Sicherheitsgruppen des EFS-Dateisystems müssen eingehende Verbindungen von der ECS-Container-Instance und der ECS-Aufgabe auf Port 2049 zulassen.
  • Die Sicherheitsgruppen der ECS-Instanz oder -Aufgaben müssen ausgehende Verbindungen auf Port 2049 zur Sicherheitsgruppe des EFS-Dateisystems zulassen.

Erstellen Sie eine Aufgabendefinition

Führen Sie die folgenden Schritte aus:

  1. Öffnen Sie die Amazon-ECS-Konsole und wählen Sie dann Aufgabendefinitionen, Neue Aufgabendefinition erstellen aus.
  2. Wählen Sie als Starttyp EC2 und dann Nächster Schritt aus.
  3. Geben Sie unter Aufgaben- und Containerdefinitionen konfigurieren einen Namen für Ihre Aufgabendefinition ein.
  4. Wählen Sie im Abschnitt Volume die Option Volume hinzufügen aus.
  5. Geben Sie einen Volume-Name ein und wählen Sie dann EFS aus der Dropdownliste Volume-Typ aus.
  6. Wählen Sie für die Dateisystem-ID die ID des Dateisystems aus, das für die ECS-Aufgaben verwendet werden soll.
  7. (Optional) Geben Sie das Stammverzeichnis, die Transit-Verschlüsselung ** und ** IAM-Autorisierung an. Wenn Sie nichts angeben, wird das Standard-Stammverzeichnis „/“ verwendet.
  8. Wählen Sie Hinzufügen aus.
  9. Wenn Sie den Container erstellen, wählen Sie unter Container-Definitionen die Option Container hinzufügen aus, um das neue Volume zu verwenden. Wählen Sie dann im Unterabschnitt Mountingpunkte unter Speicher und Protokollierung das Volume aus.
  10. Wählen Sie als Containerpfad den Verzeichnispfad aus, der sich im Container für Ihre Anwendung befindet, und klicken Sie dann auf Hinzufügen.
  11. Füllen Sie die erforderlichen Felder im Assistenten für Aufgabendefinitionen aus und wählen Sie dann Erstellen aus.
    Im folgenden Beispiel erstellt die Aufgabendefinition ein Datenvolume mit dem Namen efs-ec2-test. Der Nginx-Container mountet das Host-Datenvolume im Pfad /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"
}

Hinweis: Ersetzen Sie die Parameter FileSystemId, containerPath und andere Aufgabendefinitionsparameter durch Ihre Werte.
Im vorherigen Beispiel können Sie eine Beispieldatei index.html im Stammverzeichnis des Dateisystems erstellen, die der folgenden ähnelt:

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

Führen Sie eine Amazon-ECS-Aufgabe aus

Führen Sie die folgenden Schritte aus:

  1. Verwenden Sie die Aufgabendefinition, um Ihre ECS-Aufgabe auszuführen.
  2. Zur Überprüfung, ob das EFS-Dateisystem in den ECS-Container gemountet wird, verwenden Sie die IP-Adresse der Instance für den Zugriff die Website.
AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten