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 Schnappschüsse zu speichern, auf die Sie selten zugreifen, sollten Sie Amazon EBS Snapshots Archive verwenden. Wenn Sie es dennoch vorziehen, Amazon S3 zum Speichern Ihrer Snapshots zu verwenden, können Sie die folgende Problemumgehung verwenden.

Lösung

Hinweis: Wenn Sie beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehler erhalten, 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. Stellen Sie das Volume auf eine Amazon Elastic Compute Cloud (Amazon EC2) Linux-Instance bereit. 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 Volume, das Sie erstellt haben.

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:**Der vorherige Befehl erstellt eine komprimierte Datei aus dem /mnt-Verzeichnis und lädt die Datei in den S3-Bucket mit dem Namen my-bucket hoch. Ersetzen Sie my-bucket durch den Namen Ihres S3-Buckets und backup1 durch den Namen Ihrer Datei.

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.

13.    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 2 Monaten