Grundlagen der Datensicherheit: So führen Sie ein Backup eines Amazon S3-Buckets durch

Amazon S3 ist ein zuverlässiger Cloud-Speicher, der von Amazon Web Services (AWS) bereitgestellt wird. Dateien werden als Objekte in Amazon S3-Buckets gespeichert. Dieser Speicher wird aufgrund der hohen Zuverlässigkeit von Amazon S3 häufig zur Speicherung von Backups genutzt. Im Gegensatz zu Amazon Elastic Block Storage (EBS), bei dem redundante Daten in einer Verfügbarkeitszone gespeichert werden, werden redundante Daten bei Amazon S3 über mehrere Verfügbarkeitszonen verteilt.

Sollte ein Rechenzentrum in einer Zone ausfallen, können Sie auf Daten in einer anderen Zone zugreifen. In manchen Fällen kann es erforderlich sein, die in Amazon S3-Buckets gespeicherten Daten zu sichern, um Datenverluste durch menschliches Versagen oder Softwarefehler zu vermeiden. Daten können gelöscht oder beschädigt werden, wenn ein Benutzer mit Zugriff auf einen S3-Bucket Daten löscht oder durch das Schreiben unerwünschter Änderungen beschädigt. Softwarefehler können zu ähnlichen Folgen führen.

Direktes Backup auf AWS S3 | NAKIVO

Direktes Backup auf AWS S3 | NAKIVO

Vermeiden Sie einen Single Point of Failure durch eine einfache Amazon S3-Integration und Optionen zur Unveränderlichkeit zum Schutz vor Ransomware. Automatisiertes Tiering für Backups und sofortige Wiederherstellung.

Amazon S3-Versionierung

Die Objektversionierung ist eine effektive Funktion in Amazon S3, die Ihre Daten in einem Bucket vor Beschädigung, unerwünschten Änderungen und Löschung schützt. Wenn Änderungen an einer Datei (die als Objekt in S3 gespeichert ist) vorgenommen werden, wird eine neue Version des Objekts erstellt. Mehrere Versionen desselben Objekts werden in einem Bucket gespeichert. Sie können auf vorherige Versionen des Objekts zugreifen und diese wiederherstellen. Wenn das Objekt gelöscht wird, wird ein „Löschmarker“ auf das Objekt angewendet, aber Sie können diese Aktion rückgängig machen und eine vorherige Version des Objekts vor der Löschung öffnen. Die Amazon S3-Versionierung kann ohne zusätzliche S3-Backup-Software verwendet werden.

Sie können die Lebenszyklusrichtlinie verwenden, um festzulegen, wie lange Versionen in einem S3-Bucket gespeichert werden sollen, um eine Form von Amazon S3-Backup zu haben. Zusätzliche Kosten für die Speicherung zusätzlicher Versionen sollten nicht hoch sein, wenn Sie die Lebenszyklusrichtlinie ordnungsgemäß konfigurieren, und neue Versionen ersetzen die ältesten. Die alten Versionen können gelöscht oder in kostengünstigere Speicher (z. B. kalte Speicher) verschoben werden, um Kosten zu optimieren.

So aktivieren Sie AWS S3-Versionskontrolle

Melden Sie sich mit einem Konto bei der AWS Management Console an, das über ausreichende Berechtigungen verfügt. Klicken Sie auf Services und wählen Sie dann S3 in der Kategorie Speicher .

Backup to Amazon S3 – opening the S3 storage page in AWS Management Console

Klicken Sie im Navigationsbereich auf Buckets und wählen Sie den benötigten S3-Bucket aus, für den Sie die Versionierung aktivieren möchten. In diesem Beispiel wähle ich den Bucket mit dem Namen blog-bucket01 . Klicken Sie auf den Bucket-Namen, um die Bucket-Details zu öffnen.

Backup to Amazon S3 – selecting a bucket

Öffnen Sie die Registerkarte Properties für den ausgewählten Bucket.

Im Abschnitt Bucket-Versionierung , klicken Sie auf Edit.

How to enable AWS S3 versioning

Die Bucket-Versionierung ist standardmäßig deaktiviert.

Klicken Sie auf Enable, um die Bucket-Versionierung zu aktivieren.

Klicken Sie auf Save Changes.

Ein Tipp wird angezeigt, dass Sie möglicherweise Ihre Lebenszyklusregeln aktualisieren müssen. Dies ist der nächste Schritt.

Editing Amazon S3 versioning settings

Die Nachricht wird oben auf der Seite angezeigt, wenn Konfigurationsänderungen angewendet wurden: Bucket-Versionierung erfolgreich bearbeitet .

Lebenszyklusregeln

Um Lebenszyklusregeln für die Amazon S3-Versionierung zu konfigurieren, gehen Sie zur Registerkarte Management auf der Seite des ausgewählten Buckets. Im Abschnitt Lebenszyklusregeln , klicken Sie auf Create lifecycle rule.

How to create a lifecycle rule for a bucket when AWS S3 versioning is enabled

Die Seite Lebenszyklusregel erstellen wird geöffnet.

Lifecycle Rule configuration. Geben Sie den Namen der Lebenszyklusregel ein, z. B. Blog-Lebenszyklus 01 .

Wählen Sie den Regelumfang. Sie können Filter anwenden, um Lebenszyklusregeln auf bestimmte Objekte anzuwenden oder die Regel auf alle Objekte im Bucket anzuwenden. Definieren Sie Objektschlagwörter, um die Objekte zu kennzeichnen, für die Lebenszyklusaktionen angewendet werden müssen. Geben Sie einen Schlüssel und einen Wert in die entsprechenden Felder ein und klicken Sie auf die Taste Add tag, um das Schlagwort hinzuzufügen oder auf die Taste Remove, um das Schlagwort zu entfernen.

Configuring a lifecycle rule to meet the AWS backup strategy

Lifecycle rule actions. Wählen Sie die Aktionen, die Sie für diese Regel ausführen möchten:

  • Übergang aktueller Versionen von Objekten zwischen den Speicherklassen
  • Übergang vorheriger Versionen von Objekten zwischen den Speicherklassen
  • Aktuelle Versionen von Objekten ablaufen lassen
  • Vorherige Versionen von Objekten
  • dauerhaft löschen

  • Abgelaufene Löschmarkierungen oder unvollständige Mehrteildownloads löschen

Using Amazon S3 for backup – configuring lifecycle rule actions

Transition noncurrent versions of objects between storage classes.

Wählen Sie Übergänge von Speicherklassen und die Anzahl der Tage aus, nach denen Objekte nicht mehr aktuell werden.

In meinem Beispiel werden die Objekte von der aktuellen S3-Speicherklasse nach Standard-IA nach 35 Tagen verschoben.

Permanently delete previous versions of objects.

Geben Sie die Anzahl der Tage ein, nach denen frühere Versionen gelöscht werden müssen. Der Wert muss höher sein als die Anzahl der Tage, nach denen Objekte nicht mehr aktuell werden. In meinem Beispiel werden Objekte nach 40 Tagen dauerhaft gelöscht.

Klicken Sie auf Create Rule, um eine Lebenszyklusregel zu erstellen.

AWS S3 backup – configuring options for a lifecycle rule

Replizieren des Buckets

Als Alternative zum automatischen Backup von Amazon S3 können Sie den Bucket regionsübergreifend replizieren. Sie müssen einen zweiten Bucket erstellen, der Ziel-Bucket in einer anderen Region ist, und eine Replikationsregel erstellen. Nach Erstellung der Replikationsregel werden alle im Quell-Bucket vorgenommenen Änderungen automatisch im Ziel-Bucket wiedergegeben.

Suchen Sie den Replication rules Abschnitt auf der Verwaltungs Registerkarte für Ihren Quell-Bucket und klicken Sie auf Create replication rule.

S3 bucket replication is an alternative to Amazon S3 backup

Die Seite „Replikationsregel erstellen“ öffnet sich.

Geben Sie einen Replikationsregel-Namen ein, zum Beispiel, „Blog-S3-Bucket-Replikation“ .

Definieren Sie den Regelsatus bei der Erstellung der Regel (enabled oder disabled).

Configuring a replication rule for an S3 bucket

Quell-Bucket. Der Quell-Bucket wurde bereits ausgewählt ( blog-bucket01 ).

Wählen Sie einen Regelbereich aus. Sie können die Replikationsregel für alle Objekte im Bucket verwenden oder Filter konfigurieren und die Regel auf benutzerdefinierte Objekte anwenden.

Ziel. Geben Sie den Namen des Ziel-Buckets ein oder klicken Sie auf Browse S3 und wählen Sie einen Bucket aus der Liste aus. Sie können einen Bucket in diesem Konto oder in einem anderen Konto auswählen. Wenn die AWS S3-Versionierung für den Quell-Bucket aktiviert ist, muss die Objektversionierung auch für den Ziel-Bucket aktiviert sein. Eine Zielregion wird für den ausgewählten Ziel-Bucket angezeigt. Amazon S3 bucket replication – selecting a bucket

Konfigurieren Sie die Identitäts- und Zugriffsverwaltung (IAM)-Rolle, wählen Sie dann eine Speicherklasse und zusätzliche Replikationsoptionen. Klicken Sie auf Save, um die Konfiguration zu speichern und eine Replikationsregel für den Bucket zu erstellen.

Configuring options for Amazon S3 bucket replication

AWS S3 Backup in der CLI

Die AWS CLI ist die leistungsstarke Befehlszeilenschnittstelle zur Arbeit mit verschiedenen Amazon-Diensten, einschließlich Amazon S3. Es gibt einen nützlichen Befehl „sync“, mit dem Sie Amazon S3-Buckets auf eine Linux-Maschine sichern können, indem Sie Dateien vom Bucket in ein lokales Verzeichnis in Linux, das auf einer EC2-Instanz läuft, kopieren.

Ein Merkmal des „sync“-Befehls in der AWS CLI ist, dass Dateien in einem lokalen Dateisystem (Amazon S3-Backup-Ziel) nicht gelöscht werden, wenn diese Dateien im Quell-S3-Bucket fehlen und umgekehrt. Dies ist wichtig für AWS S3 Backups, weil, wenn einige Dateien versehentlich im S3-Bucket gelöscht wurden, die vorhandenen Dateien nicht im lokalen Verzeichnis einer Linux-Maschine nach der Synchronisierung gelöscht werden.

Vorteile:

  • Unterstützung für große S3-Buckets und Skalierbarkeit
  • Unterstützung mehrerer Threads während der Synchronisierung
  • Die Fähigkeit, nur neue und aktualisierte Dateien zu synchronisieren
  • Hohe Synchronisationsgeschwindigkeit durch intelligente Algorithmen

Nachteile:

  • Linux, das auf einer EC2-Instanz läuft, verbraucht Speicherplatz von EBS-Volumes. Die Speicherkosten für EBS-Volumes sind höher als für S3-Buckets.

In diesem Tutorial werden Befehle für Ubuntu Server verwendet.

Zuerst müssen Sie die AWS CLI installieren.

Aktualisieren Sie das Repository:

sudo apt-get update

Installieren Sie die AWS CLI:

sudo apt install awscli

oder

Installieren Sie unzip:

sudo apt install unzip

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

unzip awscli-exe-linux-x86_64.zip

sudo ./aws/install

Überprüfen Sie die AWS-Anmeldeinformationen in Linux, das auf Ihrer EC2-Instanz läuft.

aws configure list

Fügen Sie Anmeldeinformationen hinzu, um mit der AWS CLI von der Linux-Instanz auf AWS zuzugreifen, falls keine Anmeldeinformationen festgelegt wurden:

aws configure

Geben Sie die folgenden Parameter ein:

AWS-Zugangsschlüssel-ID

AWS-Geheimzugangsschlüssel

Standardregionname

Standardausgabeformat

Erstellen Sie ein Verzeichnis, um Ihr Amazon S3-Backup zu speichern. In meinem Beispiel erstelle ich das Verzeichnis ~/s3/ zur Speicherung der S3-Backups und ein Unterverzeichnis mit einem Namen, der mit dem Bucketnamen identisch ist. Dateien im S3-Bucket sollten in dieses lokale Verzeichnis auf der Linux-Maschine kopiert werden. ~ ist das Home-Verzeichnis eines Benutzers, in meinem Fall /home/ubuntu .

mkdir -p ~/s3/your_bucket_name

Ersetzen Sie your_bucket_name durch den Namen Ihres Buckets ( blog-bucket01 in unserem Beispiel). mkdir -p ~/s3/blog-bucket01

Synchronisieren Sie den Inhalt des Buckets mit Ihrem lokalen Verzeichnis auf der Amazon EC2-Instanz unter Linux:

aws s3 sync s3:// blog-bucket01 /home/ubuntu/s3/ blog-bucket01/

Wenn die Konfiguration der Anmeldeinformationen, der Bucket-Name und der Zielpfad korrekt sind, sollte das Herunterladen der Daten aus dem S3-Bucket beginnen. Die Dauer des Vorgangs hängt von der Größe der Dateien im Bucket und der Geschwindigkeit Ihrer Internetverbindung ab.

Automatische Sicherung mit Amazon S3

Sie können automatische Sicherungsaufträge für Amazon S3 mit AWS CLI sync konfigurieren. Erstellen Sie eine Skriptdatei „sync.sh“, um das AWS S3-Backup auszuführen (Synchronisierung von Dateien aus einem S3-Bucket in ein lokales Verzeichnis auf Ihrer Linux-Instanz), und führen Sie dieses Skript dann nach Plan aus.

nano /home/ubuntu/s3/sync.sh

#!/bin/sh

# Display the current date and time

echo '-----------------------------'

date

echo '-----------------------------'

echo ''

# Display the script initialization message

echo 'Syncing remote S3 bucket...'

# Running the sync command

/usr/bin/aws s3 sync s3://{BUCKET_NAME} /home/ubuntu/s3/{BUCKET_NAME}/

# Echo "Script execution is completed"

echo 'Sync complete'

Ersetzen Sie den {BUCKET_NAME} durch den Namen des S3-Buckets, den Sie sichern möchten.

Der vollständige Pfad zu aws (AWS-CLI-Binärdatei) wird definiert, damit crontab die Anwendung aws in der von crontab verwendeten Shell-Umgebung korrekt ausführt.

Machen Sie das Skript ausführbar:

sudo chmod +x /home/ubuntu/s3/sync.sh

Führen Sie das Skript aus, um zu überprüfen, ob es funktioniert:

/home/ubuntu/s3/sync.sh

Bearbeiten Sie die crontab (ein Scheduler unter Linux) des aktuellen Benutzers, um die Ausführung des Skripts für das Backup in Amazon S3 zu planen.

crontab -e

Möglicherweise müssen Sie einen Texteditor auswählen, um die crontab-Konfiguration zu bearbeiten.

Das Format der crontab für die Planung von Aufgaben lautet wie folgt:

m h dom mon dow command

Dabei bedeutet: m – Minuten; h – Stunden; dom – Tag des Monats; dow – Wochentag.

Fügen wir eine Konfigurationszeile hinzu, damit die Aufgabe stündlich eine Synchronisierung durchführt und die Ergebnisse des AWS S3-Backups in der Protokolldatei speichert. Fügen Sie diese Zeile am Ende der crontab-Konfiguration ein.

0 * * * * /home/ubuntu/s3/sync.sh > /home/ubuntu/s3/sync.log

Die automatische Amazon S3-Sicherung ist nun konfiguriert. Anhand der Protokolldatei lässt sich die Ausführung der Synchronisierungsaufgaben überprüfen.

Fazit

Es gibt mehrere Methoden zum Backup in Amazon S3; zwei davon wurden in diesem Blogbeitrag behandelt. Sie können die Objekt-Versionierung für einen Bucket aktivieren, um frühere Versionen von Objekten zu erhalten. So können Sie Dateien wiederherstellen, falls unerwünschte Änderungen an den Dateien vorgenommen wurden. Die Amazon S3-Replikation ist ein weiteres natives Tool, um eine Kopie von Dateien zu erstellen, die als Objekte in einem Amazon S3-Bucket gespeichert sind. In diesem Fall werden Objekte von einem Bucket in einen anderen repliziert. Sie können außerdem ein Backup eines Amazon S3-Buckets erstellen, indem Sie das Sync-Tool in der AWS CLI verwenden, mit dem Sie Dateien in einem Bucket mit einem lokalen Verzeichnis eines Linux-Rechners synchronisieren können, der auf einer EC2-Instanz läuft. Eine automatische Sicherung auf Amazon S3 lässt sich mithilfe eines Skripts und von crontab planen.

Im Allgemeinen ist der Amazon S3-Cloud-Speicher sehr zuverlässig, und das Backup in Amazon S3 ist gängige Praxis. Wenn Sie über eine Strategie zur Datensicherheit sowie eine AWS-Sicherungsstrategie verfügen, sollten Sie über eine Backupkopie verfügen. In diesem Fall wird empfohlen, Daten sowohl auf Amazon S3 als auch an einem weiteren Standort zu sichern. Verwenden Sie NAKIVO Backup & Replication, um Ihre Daten auf physischen und virtuellen Maschinen zu schützen. NAKIVO Backup & Replication ist eine robuste Virtualisierungs-Backup-Software, mit der sich sowohl VMs als auch Amazon EC2-Instanzen und physische Maschinen sichern lassen.

Probieren Sie NAKIVO Backup & Replication aus

Probieren Sie NAKIVO Backup & Replication aus

Nutzen Sie die kostenlose Testversion, um alle Funktionen der Datensicherheit der Lösung kennenzulernen. 15 Tage kostenlos. Keine Einschränkungen hinsichtlich Funktionen oder Kapazitäten. Keine Kreditkarte erforderlich.

Empfohlene Artikel