Einen Snapshot exportieren - Amazon MemoryDB

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Einen Snapshot exportieren

MemoryDB unterstützt den Export Ihres MemoryDB-Snapshots in einen Amazon Simple Storage Service (Amazon S3) -Bucket, sodass Sie von außerhalb von MemoryDB darauf zugreifen können. Exportierte MemoryDB-Snapshots entsprechen vollständig der Open-Source-Version von Redis OSS und können mit der entsprechenden Redis OSS-Version oder den entsprechenden Tools geladen werden. Sie können einen Snapshot mit der MemoryDB-Konsole, der oder der MemoryDB-API exportieren. AWS CLI

Das Exportieren eines Snapshots kann hilfreich sein, wenn Sie einen Cluster in einer anderen Region starten müssen. AWS Sie können Ihre Daten in eine AWS Region exportieren, die RDB-Datei in die neue AWS Region kopieren und dann diese RDB-Datei verwenden, um den neuen Cluster zu starten, anstatt darauf zu warten, dass der neue Cluster durch Use gefüllt wird. Informationen zum Erstellen eines neuen Clusters durch Seeding finden Sie unter Einen neuen Cluster mit einem extern erstellten Snapshot erstellen. Ein weiterer möglicher Grund für das Exportieren der Daten eines Clusters besteht in der Verwendung der .rdb-Datei zur Offline-Verarbeitung.

Wichtig
  • Der MemoryDB-Snapshot und der Amazon S3 S3-Bucket, in den Sie ihn kopieren möchten, müssen sich in derselben AWS Region befinden.

    Obwohl in einen Amazon S3 S3-Bucket kopierte Snapshots verschlüsselt sind, empfehlen wir dringend, anderen keinen Zugriff auf den Amazon S3 S3-Bucket zu gewähren, in dem Sie Ihre Snapshots speichern möchten.

  • Das Exportieren eines Snapshots nach Amazon S3 wird für Cluster, die Data Tiering verwenden, nicht unterstützt. Weitere Informationen finden Sie unter Daten-Tiering.

Bevor Sie einen Snapshot in einen Amazon S3 S3-Bucket exportieren können, müssen Sie über einen Amazon S3 S3-Bucket in derselben AWS Region wie der Snapshot verfügen. Gewähren Sie MemoryDB-Zugriff auf den Bucket. Die ersten beiden Schritte zeigen, wie Sie dabei vorgehen.

Warnung

Die folgenden Szenarien legen Ihre Daten auf möglicherweise unerwünschte Weise offen.

  • Wenn eine andere Person Zugriff auf den Amazon S3 S3-Bucket hat, in den Sie Ihren Snapshot exportiert haben.

    Um den Zugriff auf Ihre Snapshots zu kontrollieren, gewähren Sie nur denjenigen Zugriff auf den Amazon S3 S3-Bucket, die Sie auf Ihre Daten zugreifen möchten. Informationen zum Verwalten des Zugriffs auf einen Amazon-S3-Bucket finden Sie unter Zugriffsverwaltung im Entwicklerhandbuch zu Amazon S3.

  • Wenn eine andere Person berechtigt ist, den CopySnapshot API-Vorgang zu verwenden.

    Benutzer oder Gruppen, die über Berechtigungen zur Nutzung des CopySnapshot API-Vorgangs verfügen, können ihre eigenen Amazon S3 S3-Buckets erstellen und Snapshots in diese kopieren. Um den Zugriff auf Ihre Snapshots zu kontrollieren, verwenden Sie eine AWS Identity and Access Management (IAM-) Richtlinie, um zu kontrollieren, wer die API verwenden darf. CopySnapshot Weitere Informationen zur Verwendung von IAM zur Steuerung der Verwendung von MemoryDB-API-Vorgängen finden Sie Identitäts- und Zugriffsmanagement in MemoryDB im MemoryDB-Benutzerhandbuch.

Schritt 1: Einen Amazon-S3-Bucket erstellen

Das folgende Verfahren verwendet die Amazon S3 S3-Konsole, um einen Amazon S3 S3-Bucket zu erstellen, in den Sie Ihren MemoryDB-Snapshot exportieren und speichern.

So erstellen Sie einen Amazon-S3-Bucket
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie Create Bucket (Bucket erstellen) aus.

  3. Verfahren Sie unter Create a Bucket – Select a Bucket Name and Region wie folgt:

    1. Geben Sie für Bucket-Name einen Namen für Ihren Amazon-S3-Bucket ein.

    2. Wählen Sie aus der Regionsliste eine AWS Region für Ihren Amazon S3 S3-Bucket aus. Diese AWS Region muss dieselbe AWS Region sein wie der MemoryDB-Snapshot, den Sie exportieren möchten.

    3. Wählen Sie Erstellen aus.

Weitere Informationen zum Erstellen eines Amazon-S3-Buckets finden Sie unter Erstellen von Buckets im Handbuch für Amazon Simple Storage Service.

Schritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket

AWS Regionen, die vor dem 20. März 2019 eingeführt wurden, sind standardmäßig aktiviert. Sie können sofort mit der Arbeit in diesen AWS Regionen beginnen. Regionen, die nach dem 20. März 2019 eingeführt wurden, sind standardmäßig deaktiviert. Sie müssen diese Regionen aktivieren oder sich für sie anmelden, bevor Sie sie verwenden können, wie unter AWS Regionen verwalten beschrieben.

Gewähren Sie MemoryDB-Zugriff auf Ihren S3-Bucket in einer Region AWS

Gehen Sie wie folgt vor, um die richtigen Berechtigungen für einen Amazon S3 S3-Bucket in einer AWS Region zu erstellen.

Um MemoryDB-Zugriff auf einen S3-Bucket zu gewähren
  1. Melden Sie sich bei der Amazon S3 S3-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/s3/.

  2. Wählen Sie den Namen des Amazon S3 S3-Buckets, in den Sie den Snapshot kopieren möchten. Dies sollte der in Schritt 1: Einen Amazon-S3-Bucket erstellen erstellte S3-Bucket sein.

  3. Wählen Sie den Tab Permissions und dann unter Permissions die Option Bucket Policy aus.

  4. Aktualisieren Sie die Richtlinie, um MemoryDB die erforderlichen Berechtigungen zur Ausführung von Vorgängen zu gewähren:

    • Fügen Sie [ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ] zu Principal hinzu.

    • Fügen Sie die folgenden Berechtigungen hinzu, die zum Exportieren eines Snapshots in den Amazon-S3-Bucket erforderlich sind.

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

    Nachfolgend finden Sie ein Beispiel dafür, wie die aktualisierte Richtlinie aussehen könnte.

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "aws-region.memorydb-snapshot.amazonaws.com" }, "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl", "s3:ListMultipartUploadParts", "s3:ListBucketMultipartUploads" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/*" ] } ] }

Schritt 3: Exportieren Sie einen MemoryDB-Snapshot

Jetzt haben Sie Ihren S3-Bucket erstellt und MemoryDB-Zugriffsberechtigungen erteilt. Ändern Sie den S3-Objektbesitz auf ACLs aktiviert — Bucket-Besitzer bevorzugt. Als Nächstes können Sie die MemoryDB-Konsole, die AWS CLI oder die MemoryDB-API verwenden, um Ihren Snapshot dorthin zu exportieren. Im Folgenden wird davon ausgegangen, dass Sie über die folgenden, zusätzlichen S3-spezifischen IAM-Berechtigungen verfügen.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:PutObject", "s3:GetObject", "s3:DeleteObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::*" }] }

Der folgende Prozess verwendet die MemoryDB-Konsole, um einen Snapshot in einen Amazon S3 S3-Bucket zu exportieren, sodass Sie von außerhalb von MemoryDB darauf zugreifen können. Der Amazon S3 S3-Bucket muss sich in derselben AWS Region wie der MemoryDB-Snapshot befinden.

So exportieren Sie einen MemoryDB-Snapshot in einen Amazon S3 S3-Bucket
  1. Melden Sie sich bei der MemoryDB-Konsole an AWS Management Console und öffnen Sie sie unter https://console.aws.amazon.com/memorydb/.

  2. Um eine Liste Ihrer Snapshots zu sehen, wählen Sie im linken Navigationsbereich Snapshots aus.

  3. Wählen Sie in der Liste der Snapshots das Optionsfeld links neben dem Namen des Snapshots aus, den Sie exportieren möchten.

  4. Wählen Sie die Option Kopieren aus.

  5. Gehen Sie im Dialogfeld Create a Copy of the Backup (Eine Kopie der Sicherung erstellen?) wie folgt vor:

    1. Geben Sie im Feld Neuer Snapshot-Name einen Namen für Ihren neuen Snapshot ein.

      Der Name muss zwischen 1 und 1.000 Zeichen lang sein und UTF-8-codierbar sein.

      MemoryDB fügt dem Wert, den Sie hier eingeben.rdb, eine Shard-ID und hinzu. Wenn Sie beispielsweise eingeben, erstellt MemoryDBmy-exported-snapshot. my-exported-snapshot-0001.rdb

    2. Wählen Sie aus der Liste Ziel-S3-Speicherort den Namen des Amazon S3 S3-Buckets aus, in den Sie Ihren Snapshot kopieren möchten (den Bucket, in dem Sie ihn erstellt habenSchritt 1: Einen Amazon-S3-Bucket erstellen).

      Der Ziel-S3-Standort muss ein Amazon S3 S3-Bucket in der AWS Region des Snapshots mit den folgenden Berechtigungen sein, damit der Exportvorgang erfolgreich ist.

      • Objektzugriff – Lesen und Schreiben.

      • Berechtigungszugriff – Lesen.

      Weitere Informationen finden Sie unter Schritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket.

    3. Wählen Sie die Option Kopieren aus.

Anmerkung

Wenn Ihr S3-Bucket nicht über die erforderlichen Berechtigungen verfügt, damit MemoryDB einen Snapshot dorthin exportieren kann, erhalten Sie eine der folgenden Fehlermeldungen. Kehren Sie zurück zuSchritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket, um die angegebenen Berechtigungen hinzuzufügen, und versuchen Sie erneut, Ihren Snapshot zu exportieren.

  • MemoryDB wurden keine LESEberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Leseberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine Schreibberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Schreibberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine READ_ACP-Berechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Read-Zugriff für Berechtigungen für den Bucket hinzu.

Wenn Sie Ihren Snapshot in eine andere AWS Region kopieren möchten, verwenden Sie Amazon S3, um ihn zu kopieren. Weitere Informationen finden Sie unter Objekte kopieren im Amazon Simple Storage Service-Benutzerhandbuch.

Exportieren Sie den Snapshot mithilfe der copy-snapshot CLI-Operation mit den folgenden Parametern in einen Amazon S3 S3-Bucket:

Parameter
  • --source-snapshot-name— Name des zu kopierenden Snapshots.

  • --target-snapshot-name— Name der Kopie des Snapshots.

    Der Name muss zwischen 1 und 1.000 Zeichen lang sein und UTF-8-codierbar sein.

    MemoryDB fügt dem hier eingegebenen Wert eine Shard-ID und .rdb hinzu. Wenn Sie beispielsweise eingeben, erstellt MemoryDBmy-exported-snapshot. my-exported-snapshot-0001.rdb

  • --target-bucket— Name des Amazon S3 S3-Buckets, in den Sie den Snapshot exportieren möchten. Eine Kopie des Snapshots wird im angegebenen Bucket erstellt.

    Damit der Exportvorgang erfolgreich ist, --target-bucket muss es sich um einen Amazon S3 S3-Bucket in der AWS Region des Snapshots mit den folgenden Berechtigungen handeln.

    • Objektzugriff – Lesen und Schreiben.

    • Berechtigungszugriff – Lesen.

    Weitere Informationen finden Sie unter Schritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket.

Mit dem folgenden Vorgang wird ein Snapshot nach my-s3-bucket kopiert.

Für Linux, macOS oder Unix:

aws memorydb copy-snapshot \ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 \ --target-snapshot-name my-exported-snapshot \ --target-bucket my-s3-bucket

Für Windows:

aws memorydb copy-snapshot ^ --source-snapshot-name automatic.my-primary-2021-06-27-03-15 ^ --target-snapshot-name my-exported-snapshot ^ --target-bucket my-s3-bucket
Anmerkung

Wenn Ihr S3-Bucket nicht über die erforderlichen Berechtigungen verfügt, damit MemoryDB einen Snapshot dorthin exportieren kann, erhalten Sie eine der folgenden Fehlermeldungen. Kehren Sie zurück zuSchritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket, um die angegebenen Berechtigungen hinzuzufügen, und versuchen Sie erneut, Ihren Snapshot zu exportieren.

  • MemoryDB wurden keine LESEberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Leseberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine Schreibberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Schreibberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine READ_ACP-Berechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Read-Zugriff für Berechtigungen für den Bucket hinzu.

Weitere Informationen finden Sie unter copy-snapshot in der Referenz zum AWS CLI -Befehl.

Wenn Sie Ihren Snapshot in eine andere AWS Region kopieren möchten, verwenden Sie Amazon S3 Copy. Weitere Informationen finden Sie unter Objekte kopieren im Amazon Simple Storage Service-Benutzerhandbuch.

Exportieren Sie den Snapshot mithilfe der CopySnapshot API-Operation mit diesen Parametern in einen Amazon S3 S3-Bucket.

Parameter
  • SourceSnapshotName— Name des zu kopierenden Snapshots.

  • TargetSnapshotName— Name der Kopie des Snapshots.

    Der Name muss zwischen 1 und 1.000 Zeichen lang sein und UTF-8-codierbar sein.

    MemoryDB fügt dem Wert, den Sie hier eingeben.rdb, eine Shard-ID und hinzu. Wenn Sie z. B. my-exported-snapshot eingeben, erhalten Sie my-exported-snapshot-0001.rdb.

  • TargetBucket— Name des Amazon S3 S3-Buckets, in den Sie den Snapshot exportieren möchten. Eine Kopie des Snapshots wird im angegebenen Bucket erstellt.

    Damit der Exportvorgang erfolgreich ist, TargetBucket muss es sich um einen Amazon S3 S3-Bucket in der AWS Region des Snapshots mit den folgenden Berechtigungen handeln.

    • Objektzugriff – Lesen und Schreiben.

    • Berechtigungszugriff – Lesen.

    Weitere Informationen finden Sie unter Schritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket.

Im folgenden Beispiel wird eine Kopie eines automatischen Snapshots in den Amazon S3 S3-Bucket erstelltmy-s3-bucket.

https://memory-db.us-east-1.amazonaws.com/ ?Action=CopySnapshot &SourceSnapshotName=automatic.my-primary-2021-06-27-03-15 &TargetBucket=my-s3-bucket &TargetSnapshotName=my-snapshot-copy &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20210801T220302Z &Version=2021-01-01 &X-Amz-Algorithm=Amazon4-HMAC-SHA256 &X-Amz-Date=20210801T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20210801T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
Anmerkung

Wenn Ihr S3-Bucket nicht über die erforderlichen Berechtigungen verfügt, damit MemoryDB einen Snapshot dorthin exportieren kann, erhalten Sie eine der folgenden Fehlermeldungen. Kehren Sie zurück zuSchritt 2: Gewähren Sie MemoryDB-Zugriff auf Ihren Amazon S3 S3-Bucket, um die angegebenen Berechtigungen hinzuzufügen, und versuchen Sie erneut, Ihren Snapshot zu exportieren.

  • MemoryDB wurden keine LESEberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Leseberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine Schreibberechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Schreibberechtigungen für den Bucket hinzu.

  • MemoryDB wurden keine READ_ACP-Berechtigungen %s für den S3-Bucket erteilt.

    Lösung: Fügen Sie Read-Zugriff für Berechtigungen für den Bucket hinzu.

Weitere Informationen finden Sie unter. CopySnapshot

Wenn Sie Ihren Snapshot in eine andere AWS Region kopieren möchten, verwenden Sie Amazon S3 Copy, um den exportierten Snapshot in den Amazon S3 S3-Bucket in einer anderen AWS Region zu kopieren. Weitere Informationen finden Sie unter Objekte kopieren im Amazon Simple Storage Service-Benutzerhandbuch.