Wie kann ich meine Amazon EBS-Snapshot-Daten nach Amazon S3 kopieren und EBS-Volumes für benutzerdefinierte Daten in S3 erstellen?

Lesedauer: 3 Minute
0

Ich möchte einen Amazon Elastic Block Store (Amazon EBS)-Snapshot in meinen Amazon Simple Storage Service (Amazon S3)-Bucket kopieren. Ich möchte zusätzlich Amazon EBS-Volumes aus Daten erstellen, die in meinem S3-Bucket gespeichert sind.

Kurzbeschreibung

Wenn Sie einen EBS-Snapshot erstellen, wird dieser automatisch in einem Amazon S3-Bucket gespeichert, den AWS verwaltet. Sie können Snapshots innerhalb derselben AWS-Region oder von einer Region in eine andere kopieren. Sie können jedoch keine Snapshots in S3-Buckets kopieren, die Sie selbst verwalten.

Um Snapshots zu speichern, auf die Sie selten zugreifen, sollten Sie Amazon EBS-Snapshots-Archiv verwenden. Wenn Sie es dennoch vorziehen, Amazon S3 zum Speichern Ihrer Snapshots zu verwenden, können Sie die folgende Problemumgehung verwenden.

Auflösung

**Hinweis:**Sollten beim Ausführen von Befehlen der AWS Command Line Interface (AWS CLI) Fehler auftreten, stellen Sie sicher, dass Sie die neueste AWS-CLI-Version verwenden.

Um den Inhalt Ihres Snapshots in Ihren S3-Bucket zu kopieren, erstellen Sie ein Volume aus dem Snapshot. Binden Sie das Volume in eine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance ein. Verwenden Sie dann die AWS CLI- oder S3-APIs, um die Daten in Ihren S3-Bucket zu kopieren.

Gehen Sie wie folgt vor, um den Inhalt Ihrer EBS-Snapshots in einen Amazon S3-Bucket zu kopieren:

1.    Erstellen Sie ein EBS-Volume aus dem Snapshot.

2.     Starten Sie eine EC2-Linux-Instance in derselben Availability Zone wie das von Ihnen erstellte Volume.

3.    Hängen Sie das Volume an die Instance an.

4.Stellen Sie eine Verbindung zu Ihrer Linux-Instance her.

5.    Installieren Sie die AWS-CLI auf Ihrer Linux-Instance.

6.    Gewähren Sie Amazon EC2-Instance Zugriff auf Ihren Amazon S3-Bucket.

7.    Führen Sie den folgenden Befehl aus, um das Volume auf Ihrer Instance zu mounten:

$ sudo mount /dev/xvdf /mnt

Hinweis:Das Gerät (/dev/xvdf, im vorherigen Beispiel) ist möglicherweise mit einem anderen Gerätenamen an die Instance angehängt. Verwenden Sie den Befehl lsblk, um Ihre verfügbaren Festplattengeräte zusammen mit ihren Mount-Points anzuzeigen und die richtigen Gerätenamen zu ermitteln.

8.    Installieren Sie das pv-Paket, um den Fortschritt bei der Erstellung des tar-Archivs zu überwachen:

Amazon Linux- und Red Hat Enterprise Linux (RHEL)-Distributionen

$ sudo yum install pv

Hinweis: Bevor Sie das pv-Paket für Amazon Linux- und RHEL-Distributionen installieren, müssen Sie Extra Packages für Enterprise Linux (EPEL)-Repository aktivieren. Siehe Wie aktiviere ich das EPEL-Repository für meine Amazon EC2-Instance, auf der CentOS, RHEL oder Amazon Linux ausgeführt wird?

Ubuntu- und Debian-basierte Distributionen

$ sudo apt install pv

9.    Führen Sie den folgenden Befehl aus, um die EBS-Volume-Daten in Ihren S3-Bucket zu kopieren:

$ tar c /mnt | pv -s $(($(du -sk /mnt | awk '{print $1}') \\\* 1024)) | gzip | aws s3 cp - "s3://my-bucket/backup1.tar.gz"

Hinweis: Ersetzen Sie my-bucket durch den Namen Ihres S3-Buckets und backup1 durch den Namen Ihrer Datei.

Der vorherige Befehl erstellt eine komprimierte Datei aus dem Verzeichnis  /mnt und lädt die Datei in den S3-Bucket mit dem Namen my-bucket.hoch.

10.    Verwenden Sie die Amazon S3-Konsole, um zu bestätigen, dass die komprimierte Datei in Ihren S3-Bucket hochgeladen wurde.

11.    Führen Sie den folgenden Befehl aus, um das Volume aufzuheben:

$ sudo umount /mnt

12.     Trennen Sie das EBS-Volume von der Linux-Instance.

  1.     Löschen Sie das Volume und beenden Sie Ihre Instance.

Ähnliche Informationen

Kopieren eines Amazon EBS-Snapshots

Wie kann ich meiner Amazon EC2-Instance Zugriff auf einen Amazon S3-Bucket gewähren?

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr