Amazon Elastic Compute Cloud
Benutzerhandbuch für Linux-Instances

Amazon Elastic File System (Amazon EFS)

Amazon EFS bietet skalierbaren Dateispeicher für die Verwendung mit Amazon EC2. Sie können ein EFS-Dateisystem erstellen und Ihre Instances so konfigurieren, dass das Dateisystem gemountet wird. Sie können ein EFS-Dateisystem als gemeinsame Datenquelle für Workloads und Anwendungen verwenden, die jeweils auf mehr als einer Instance ausgeführt werden. Weitere Informationen finden Sie unter der Amazon Elastic File System-Produktseite.

In diesem Tutorial erstellen Sie ein EFS-Dateisystem und zwei Linux-Instances, die über das Dateisystem gemeinsam auf Daten zugreifen können.

Wichtig

Amazon EFS wird von Windows-Instances nicht unterstützt.

Voraussetzungen

  • Erstellen Sie eine Sicherheitsgruppe (z. B. efs-sg), die den EC2-Instances und dem EFS-Mountingziel zugeordnet wird, und fügen Sie die folgenden Regeln hinzu:

    • Erlauben Sie eingehende SSH-Verbindungen von Ihrem Computer aus zu den EC2-Instances (die Quelle ist der CIDR-Block für Ihr Netzwerk).

    • Erlauben Sie eingehende NFS-Verbindungen zu dem Dateisystem über das EFS-Mountingziel von den EC2-Instances aus, die dieser Sicherheitsgruppe zugeordnet sind (die Quelle ist die Sicherheitsgruppe selbst). Weitere Informationen finden Sie unter Amazon EFS-Regeln und Sicherheitsgruppen für Amazon EC2-Instances und Mountingziele im Amazon Elastic File System-Benutzerhandbuch.

  • Erstellen eines Schlüsselpaares Sie müssen ein Schlüsselpaar angeben, wenn Sie Ihre Instances konfigurieren, sonst können Sie keine Verbindung mit ihnen herstellen. Weitere Informationen finden Sie unter Erstellen eines Schlüsselpaares.

Schritt 1: Erstellen eines EFS-Dateisystems

Mit Amazon EFS können Sie ein Dateisystem erstellen, das mehrere Instances gleichzeitig aufspielen und auf das sie gleichzeitig zugreifen können. Weitere Informationen finden Sie unter Erstellen von Ressourcen für Amazon EFS im Amazon Elastic File System-Benutzerhandbuch.

Erstellen Sie ein Dateisystem wie folgt:

  1. Öffnen Sie die Amazon Elastic File System-Konsole unter https://console.aws.amazon.com/efs/.

  2. Wählen Sie Create file system (Dateisystem erstellen) aus.

  3. Führen Sie auf der Seite Configure file system access (Konfiguration des Dateisystemzugriffs) die folgenden Schritte aus:

    1. Wählen Sie unter VPC die VPC aus, die Sie für Ihre Instances verwenden möchten.

    2. Wählen Sie bei Create mount targets (Erstellen von Mountingzielen) alle Availability Zones aus.

    3. Vergewissern Sie sich, dass in jeder Availability Zone der Wert für Security group (Sicherheitsgruppe) der Sicherheitsgruppe entspricht, die Sie in Voraussetzungen erstellt haben.

    4. Klicken Sie auf Next Step (Nächster Schritt).

  4. Führen Sie auf der Seite Configure optional settings (Konfigurieren optionaler Einstellungen) die folgenden Schritte aus:

    1. Geben Sie für den Tag mit "Key=Name" unter Value (Wert) einen Namen für das Dateisystem ein.

    2. Belassen Sie bei Choose performance mode (Leistungsmodus auswählen) die Standardoption General Purpose (Allgemeine Zwecke).

    3. Klicken Sie auf Next Step (Nächster Schritt).

  5. Wählen Sie auf der Seite Review and create (Überprüfen und erstellen) die Option Create File System (Dateisystem erstellen) aus.

  6. Wenn das Dateisystem erstellt wurde, notieren Sie sich die ID des Dateisystems; Sie werden sie zu einem späteren Zeitpunkt in diesem Tutorial verwenden.

Schritt 2: Mounten des Dateisystems

Führen Sie die folgenden Schritte aus, um zwei t2.micro-Instances zu starten. Das Benutzerdatenskript mountet das Dateisystem beim Start in beiden Instances und aktualisiert jeweils die Datei /etc/fstab, um sicherzustellen, dass das Dateisystem nach einem Neustart der Instance erneut gemountet wird. Beachten Sie, dass T2-Instances in einem Subnetz gestartet werden müssen. Sie können eine Standard-VPC oder eine nicht-standardmäßige VPC verwenden.

Anmerkung

Es gibt noch weitere Möglichkeiten, das Volume zu mounten (z. B. in einer bereits ausgeführten Instance). Weitere Informationen finden Sie unter Mounten von Dateisystemen im Amazon Elastic File System-Benutzerhandbuch.

So starten Sie zwei Instances und mounten ein EFS-Dateisystem

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie Launch Instance aus.

  3. Wählen Sie auf der Seite Choose an Amazon Machine Image (Wählen eines Amazon Machine Image) eine Amazon Linux-AMI mit dem HVM-Virtualisierungstyp aus.

  4. Übernehmen Sie auf der Seite Choose an Instance Type (Wählen eines Instance-Typs) den Standard-Instance-Typ t2.micro und wählen Sie dann Next: Configure Instance Details (Weiter: Instance-Details konfigurieren).

  5. Führen Sie auf der Seite Configure Instance Details (Instance-Details konfigurieren) die folgenden Schritte aus:

    1. Geben Sie unter Number of instances (Anzahl der Instances) den Wert 2 ein.

    2. [Standard-VPC] Wenn Sie über eine Standard-VPC verfügen, wird diese als Standardwert unter Network (Netzwerk) angezeigt. Übernehmen Sie die Standard-VPC und den Standardwert für Subnet (Subnetz), um das Standardsubnetz in der Availability Zone zu verwenden, die Amazon EC2 für Ihre Instances auswählt.

      [Nicht standardmäßige VPC] Wählen Sie unter Network (Netzwerk) Ihre VPC und unter Subnet (Subnetz) ein öffentliches Subnetz aus.

    3. [Nicht standardmäßige VPC] Wählen Sie unter Auto-assign Public IP (Öffentliche IP-Adresse automatisch zuweisen) die Option Enable (Aktivieren) aus. Andernfalls rufen Ihre Instances keine öffentlichen IP-Adressen oder DNS-Namen ab.

    4. Wählen Sie unter Advanced Details (Erweiterte Details) die Option As text (Als Text) und fügen Sie das folgende Skript in User data (Benutzerdaten) ein. Aktualisieren Sie FILE_SYSTEM_ID mit der ID Ihres Dateisystems. Sie können MOUNT_POINT auch optional mit einem Verzeichnis für Ihr gemountetes Dateisystem aktualisieren.

      #!/bin/bash yum update -y yum install -y nfs-utils FILE_SYSTEM_ID=fs-xxxxxxxx AVAILABILITY_ZONE=$(curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone ) REGION=${AVAILABILITY_ZONE:0:-1} MOUNT_POINT=/mnt/efs mkdir -p ${MOUNT_POINT} chown ec2-user:ec2-user ${MOUNT_POINT} echo ${FILE_SYSTEM_ID}.efs.${REGION}.amazonaws.com:/ ${MOUNT_POINT} nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,_netdev 0 0 >> /etc/fstab mount -a -t nfs4
    5. Fahren Sie mit Schritt 6 des Assistenten fort.

  6. Wählen Sie auf der Seite Configure Security Group (Sicherheitsgruppe konfigurieren) die Option Select an existing security group (Eine vorhandene Sicherheitsgruppe wählen), wählen Sie die Sicherheitsgruppe, die Sie in Voraussetzungen erstellt haben, und wählen Sie dann Review and Launch (Überprüfen und starten).

  7. Klicken Sie auf der Seite Review Instance Launch auf Launch.

  8. Wählen Sie im Dialogfeld Select an existing key pair or create a new key pair (Ein bestehendes Schlüsselpaar wählen oder ein neues Schlüsselpaar erstellen) die Option Choose an existing key pair (Ein vorhandenes Schlüsselpaars auswählen) und wählen Sie Ihr Schlüsselpaar aus. Aktivieren Sie das Kontrollkästchen für die Bestätigung und wählen Sie Launch Instances (Instances starten).

  9. Wählen Sie im Navigationsbereich die Option Instances, um den Status Ihrer Instances anzuzeigen. Zuerst wird als Status pending angezeigt. Wenn der Status sich in running geändert hat, können Sie die Instances verwenden.

Schritt 3: Testen des Dateisystems

Sie können eine Verbindung mit Ihren Instances herstellen und überprüfen, ob das Dateisystem in dem Verzeichnis gemountet wurde, das Sie angegeben haben (z. B. mnt/efs).

Überprüfen Sie wie folgt, ob das Dateisystem aufgespielt wurde:

  1. Stellen Sie eine Verbindung mit Ihren Instances her. Weitere Informationen finden Sie unter Herstellen einer Verbindung mit Ihrer Linux-Instance.

  2. Führen Sie im Terminalfenster der einzelnen Instances den Befehl df -T aus, um zu überprüfen, ob das EFS-Dateisystem aufgespielt wurde.

    $ df -T Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/xvda1 ext4 8123812 1949800 6073764 25% / devtmpfs devtmpfs 4078468 56 4078412 1% /dev tmpfs tmpfs 4089312 0 4089312 0% /dev/shm efs-dns nfs4 9007199254740992 0 9007199254740992 0% /mnt/efs

    Beachten Sie, dass der Name des Dateisystems, der in der Beispielausgabe efs-dns lautet, das folgende Format aufweist:

    file-system-id.efs.aws-region.amazonaws.com:/
  3. (Optional) Erstellen Sie über eine Instance eine Datei im Dateisystem und überprüfen Sie dann, ob Sie die Datei von der anderen Instance aus sehen können.

    1. Führen Sie den folgenden Befehl in der ersten Instance aus, um die Datei zu erstellen:

      $ sudo touch /mnt/efs/test-file.txt
    2. Führen Sie den folgenden Befehl über die zweite Instance aus, um die Datei aufzurufen:

      $ ls /mnt/efs test-file.txt

Schritt 4: Bereinigen

Wenn Sie mit diesem Tutorial fertig sind, können Sie die Instances beenden und das Dateisystem löschen.

So beenden Sie die Instances

  1. Öffnen Sie die Amazon EC2-Konsole unter https://console.aws.amazon.com/ec2/.

  2. Wählen Sie im Navigationsbereich Instances aus.

  3. Wählen Sie die Instances aus, die Sie beendet möchten.

  4. Wählen Sie Actions, Instance State und Terminate aus.

  5. Wählen Sie Yes, Terminate, wenn Sie zum Bestätigen aufgefordert werden.

Löschen Sie das Dateisystem wie folgt:

  1. Öffnen Sie die Amazon Elastic File System-Konsole unter https://console.aws.amazon.com/efs/.

  2. Wählen Sie das Dateisystem aus, das Sie löschen möchten.

  3. Wählen Sie Actions (Aktionen) und Delete file system (Dateisystem löschen) aus.

  4. Wenn Sie aufgefordert werden, den Vorgang zu bestätigen, geben Sie die ID des Dateisystems ein und wählen Sie dann Delete File System (Dateisystem löschen) aus.