AWS Tutorial: EBS-Volume an eine EC2-Instanz anhängen, formatieren und dauerhaft mounten

Melden

In diesem Tutorial lernst du Schritt für Schritt, wie du ein Amazon Elastic Block Store (EBS) Volume erstellst, an eine laufende Linux-basierte EC2-Instanz anhängst, es mit einem Dateisystem formatierst, einhängst (mountest) und den Mount über Systemneustarts hinweg dauerhaft machst.


Voraussetzungen

  • Ein aktives AWS-Konto.
  • Eine bereits laufende EC2-Instanz (z. B. Amazon Linux oder Ubuntu).
  • SSH-Zugriff auf deine EC2-Instanz.

Schritt 1: EBS-Volume erstellen und an die EC2-Instanz anhängen (AWS Console)

  1. Öffne die AWS Management Console und navigiere zu EC2.
  2. Klicke im linken Menü unter Elastic Block Store auf Volumes.
  3. Klicke auf Create Volume.
    • Volume Type: Wähle z. B. General Purpose SSD (gp3).
    • Size: Gib die gewünschte Größe an (z. B. 10 GiB).
    • Availability Zone: Wichtig: Wähle exakt dieselbe Availability Zone (z. B. eu-central-1a), in der sich deine EC2-Instanz befindet!
  4. Klicke auf Create volume.
  5. Wähle das neu erstellte Volume aus, klicke oben rechts auf Actions > Attach volume.
  6. Wähle deine EC2-Instanz aus.
  7. Der Gerätename wird automatisch vorgeschlagen (z. B. /dev/sdf). Klicke auf Attach volume.

Schritt 2: Mit der EC2-Instanz verbinden

Verbinde dich über dein Terminal per SSH mit der Instanz:

ssh -i /pfad/zu/deinem-key.pem ec2-user@<Öffentliche-IP-deiner-Instanz>

(Hinweis: Bei Ubuntu lautet der Standard-Benutzer ubuntu, bei Amazon Linux ec2-user)


Schritt 3: Neues Volume im System identifizieren

Überprüfe, welche Speichergeräte dem Linux-System bekannt sind:

lsblk

Ausgabebeispiel:

NAME         MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
xvda         202:0    0   8G  0 disk 
└─xvda1      202:1    0   8G  0 disk /
xvdf         202:80   0  10G  0 disk 

Wichtiger Hinweis zu NVMe: Auf neueren, Nitro-basierten EC2-Instanzen (z. B. t3, c5, m5) werden die Volumes als NVMe-Geräte erkannt. Dein Gerät heißt dann eventuell nicht /dev/xvdf, sondern /dev/nvme1n1. Passe die folgenden Befehle an deinen tatsächlichen Gerätenamen an!


Schritt 4: Dateisystem erstellen (Formatieren)

Bevor du das Volume nutzen kannst, muss es formatiert werden.

  1. Prüfen, ob bereits Daten/Dateisysteme vorhanden sind:

    sudo file -s /dev/xvdf

    Wenn die Ausgabe /dev/xvdf: data lautet, ist die Festplatte leer und kann formatiert werden.

  2. Dateisystem erstellen (z. B. ext4):

    sudo mkfs -t ext4 /dev/xvdf

    (Alternativ kannst du auch xfs nutzen: sudo mkfs -t xfs /dev/xvdf)


Schritt 5: Volume manuell mounten (Einhängen)

  1. Erstelle ein Verzeichnis (Mount-Point), an dem das Volume eingehängt werden soll:

    sudo mkdir /data
  2. Hänge das Volume in dieses Verzeichnis ein:

    sudo mount /dev/xvdf /data
  3. Prüfe, ob der Mount erfolgreich war:

    df -h

    Du solltest nun /data mit der entsprechenden Größe in der Liste sehen.


Schritt 6: Dauerhaftes Mounten einrichten (Automatischer Mount beim Neustart)

Wird die EC2-Instanz neu gestartet, geht ein manueller Mount verloren. Um das Volume dauerhaft zu mounten, muss es in der Datei /etc/fstab eingetragen werden.

Best Practice: Verwende dafür immer die UUID (Universally Unique Identifier) anstelle des Gerätenamens, da sich Gerätenamen nach Neustarts ändern können.

  1. Ermittle die UUID des neuen Volumes:

    sudo blkid

    Suche nach /dev/xvdf und kopiere die UUID (ohne Anführungszeichen).
    Beispiel: UUID="4a72d3e1-22e3-4c90-9519-abc123def456"

  2. Erstelle ein Backup der aktuellen fstab-Datei:

    sudo cp /etc/fstab /etc/fstab.bak
  3. Öffne /etc/fstab mit einem Texteditor (z. B. nano):

    sudo nano /etc/fstab
  4. Füge am Ende der Datei eine neue Zeile nach folgendem Muster ein:

    UUID=DEINE-KOPIERTE-UUID  /data  ext4  defaults,nofail  0  2

    (Ersetze DEINE-KOPIERTE-UUID mit deiner echten UUID und ggf. ext4 durch xfs, falls du dieses gewählt hast).

    Warum nofail wichtig ist: Der Parameter nofail sorgt dafür, dass die EC2-Instanz auch dann ordnungsgemäß startet, wenn das EBS-Volume einmal getrennt wird oder fehlerhaft ist.

  5. Speichern und Schließen:

    • In nano: Drücke STRG + O, dann Enter (Speichern) und danach STRG + X (Beenden).
  6. Konfiguration testen (sehr wichtig!): Um sicherzustellen, dass keine Syntaxfehler in der /etc/fstab vorhanden sind, hänge das Volume probehalber aus und mounte alles neu:

    sudo umount /data
    sudo mount -a

    Wenn der Befehl sudo mount -a keine Fehlermeldung ausgibt, war die Konfiguration erfolgreich.

  7. Letzte Kontrolle:

    df -h

    Das Volume /data ist nun wieder eingehängt und bleibt auch nach jedem Neustart der Instanz dauerhaft verfügbar.

0