Esportazione di un'istantanea - Amazon MemoryDB per Redis

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esportazione di un'istantanea

MemoryDB for Redis supporta l'esportazione dello snapshot di MemoryDB in un bucket Amazon Simple Storage Service (Amazon S3), che consente di accedervi dall'esterno di MemoryDB. Le istantanee di MemoryDB esportate sono completamente compatibili con Redis open source e possono essere caricate con la versione o gli strumenti Redis appropriati. È possibile esportare un'istantanea utilizzando la console MemoryDB, o l'API MemoryDB. AWS CLI

L'esportazione di un'istantanea può essere utile se è necessario avviare un cluster in un'altra regione. AWS È possibile esportare i dati in una AWS regione, copiare il file.rdb AWS nella nuova regione e quindi utilizzare il file.rdb per eseguire il seeding del nuovo cluster anziché attendere che il nuovo cluster venga popolato tramite l'uso. Per informazioni sull'inizializzazione di un nuovo cluster, consulta Seminare un nuovo cluster con un'istantanea creata esternamente. Un altro motivo per espandere i dati del cluster potrebbe essere per utilizzare il file .rdb per l'elaborazione offline.

Importante
  • Lo snapshot di MemoryDB e il bucket Amazon S3 in cui desideri copiarlo devono trovarsi nella stessa regione. AWS

    Sebbene le istantanee copiate in un bucket Amazon S3 siano crittografate, ti consigliamo vivamente di non concedere ad altri l'accesso al bucket Amazon S3 in cui desideri archiviare le tue istantanee.

  • L'esportazione di uno snapshot in Amazon S3 non è supportata per i cluster che utilizzano il tiering dei dati. Per ulteriori informazioni, consulta Tiering di dati.

Prima di poter esportare uno snapshot in un bucket Amazon S3, devi avere un bucket Amazon S3 nella stessa regione dello snapshot. AWS Concedi a MemoryDB l'accesso al bucket. Le prime due fasi mostrano come eseguire questa operazione.

avvertimento

Nei seguenti scenari i dati potrebbero essere esposti in modi indesiderati:

  • Quando un'altra persona ha accesso al bucket Amazon S3 in cui hai esportato la tua istantanea.

    Per controllare l'accesso alle tue istantanee, consenti l'accesso al bucket Amazon S3 solo a coloro a cui desideri accedere ai tuoi dati. Per informazioni sulla gestione dell'accesso utente ai bucket Amazon S3, consultare Controllo degli accessi nella Guida per gli sviluppatori di Amazon S3.

  • Quando un'altra persona dispone delle autorizzazioni per utilizzare l'operazione API. CopySnapshot

    Gli utenti o i gruppi che dispongono delle autorizzazioni per utilizzare l'operazione CopySnapshot API possono creare i propri bucket Amazon S3 e copiarvi le istantanee. Per controllare l'accesso alle tue istantanee, utilizza una policy AWS Identity and Access Management (IAM) per controllare chi è in grado di utilizzare l'API. CopySnapshot Per ulteriori informazioni sull'utilizzo di IAM per controllare l'uso delle operazioni dell'API MemoryDB, consulta Gestione delle identità e degli accessi in MemoryDB per Redis la Guida per l'utente di MemoryDB.

Fase 1: creazione di un bucket Amazon S3

La procedura seguente utilizza la console Amazon S3 per creare un bucket Amazon S3 in cui esportare e archiviare lo snapshot di MemoryDB.

Come creare un bucket Amazon S3.
  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Scegli Crea bucket.

  3. In Creare bucket - Scegli un nome di bucket e una regione, esegui le seguenti operazioni:

    1. In Nome bucket, digita un nome per il bucket Amazon S3.

    2. Dall'elenco delle regioni, scegli una AWS regione per il tuo bucket Amazon S3. Questa AWS regione deve essere la stessa AWS regione dello snapshot di MemoryDB che desideri esportare.

    3. Scegli Crea.

Per ulteriori informazioni sulla creazione di un bucket Amazon S3, consultaCreazione di un bucketnellaGuida all'utente di Amazon Simple Storage Service.

Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3

AWS Le regioni introdotte prima del 20 marzo 2019 sono abilitate per impostazione predefinita. Puoi iniziare a lavorare in queste AWS regioni immediatamente. Le regioni introdotte dopo il 20 marzo 2019 sono disabilitate per impostazione predefinita. È necessario abilitare o attivare queste regioni prima di poterle utilizzare, come descritto in Gestione delle AWS regioni.

Concedi a MemoryDB l'accesso al tuo bucket S3 in una regione AWS

Per creare le autorizzazioni appropriate su un bucket Amazon S3 in AWS una regione, procedi nel seguente modo.

Per concedere a MemoryDB l'accesso a un bucket S3
  1. Accedi AWS Management Console e apri la console Amazon S3 all'indirizzo https://console.aws.amazon.com/s3/.

  2. Scegli il nome del bucket Amazon S3 in cui vuoi copiare lo snapshot. Deve essere il bucket S3 che è stato creato in Fase 1: creazione di un bucket Amazon S3.

  3. Scegli la scheda Autorizzazioni e in Autorizzazioni, scegli Bucket policy.

  4. Aggiorna la politica per concedere a MemoryDB le autorizzazioni necessarie per eseguire operazioni:

    • Aggiungere [ "Service" : "region-full-name.memorydb-snapshot.amazonaws.com" ] a Principal.

    • Aggiungere le seguenti autorizzazioni necessarie per esportare uno snapshot nel bucket Amazon S3.

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

    Di seguito è riportato un esempio di come potrebbe essere la policy aggiornata.

    { "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/*" ] } ] }

Fase 3: Esportazione di un'istantanea di MemoryDB

Ora hai creato il tuo bucket S3 e concesso a MemoryDB le autorizzazioni per accedervi. Cambia la proprietà degli oggetti S3 in ACL abilitati (preferibilmente proprietario del bucket). Successivamente, puoi utilizzare la console MemoryDB, la AWS CLI o l'API MemoryDB per esportare la tua istantanea su di essa. Di seguito, si presuppone che le seguenti autorizzazioni IAM specifiche di S3 siano disponibili.

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

Il processo seguente utilizza la console MemoryDB per esportare uno snapshot in un bucket Amazon S3 in modo da potervi accedere dall'esterno di MemoryDB. Il bucket Amazon S3 deve trovarsi nella stessa AWS regione dello snapshot MemoryDB.

Per esportare uno snapshot di MemoryDB in un bucket Amazon S3
  1. Accedi AWS Management Console e apri la console MemoryDB for Redis all'indirizzo https://console.aws.amazon.com/memorydb/.

  2. Per visualizzare un elenco delle tue istantanee, dal riquadro di navigazione a sinistra scegli Istantanee.

  3. Dall'elenco delle istantanee, scegli il pulsante di opzione a sinistra del nome dell'istantanea che desideri esportare.

  4. Scegli Copia.

  5. In Creare una copia del backup?, procedere come segue:

    1. Nella casella Nome nuova istantanea, digitate un nome per la nuova istantanea.

      Il nome deve essere compreso tra 1 e 1000 caratteri e dotato di codifica UTF-8.

      MemoryDB aggiunge un identificatore di shard e .rdb al valore che inserisci qui. Ad esempio, se si immettemy-exported-snapshot, MemoryDB crea. my-exported-snapshot-0001.rdb

    2. Dall'elenco Target S3 Location, scegli il nome del bucket Amazon S3 in cui vuoi copiare lo snapshot (il bucket in cui hai creato). Fase 1: creazione di un bucket Amazon S3

      La posizione S3 di destinazione deve essere un bucket Amazon S3 nella regione dello snapshot con le seguenti autorizzazioni affinché il processo AWS di esportazione abbia successo.

      • Accesso agli oggetti : Lettura e Scrittura.

      • Accesso alle autorizzazioni : Lettura.

      Per ulteriori informazioni, consulta Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3.

    3. Scegli Copia.

Nota

Se il tuo bucket S3 non dispone delle autorizzazioni necessarie a MemoryDB per esportare uno snapshot al suo interno, ricevi uno dei seguenti messaggi di errore. Torna a per aggiungere le autorizzazioni specificate e riprova Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3 a esportare la tua istantanea.

  • A MemoryDB non sono state concesse le autorizzazioni di LETTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di lettura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni di SCRITTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di scrittura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni READ_ACP %s sul bucket S3.

    Soluzione: aggiungere Read (Lettura) per Accesso alle autorizzazioni sul bucket.

Se desideri copiare lo snapshot in un'altra AWS regione, usa Amazon S3 per copiarlo. Per ulteriori informazioni, consulta Copiare oggetti nella Guida per l'utente di Amazon Simple Storage Service.

Esporta lo snapshot in un bucket Amazon S3 utilizzando l'operazione copy-snapshot CLI con i seguenti parametri:

Parametri
  • --source-snapshot-name— Nome dello snapshot da copiare.

  • --target-snapshot-name— Nome della copia dell'istantanea.

    Il nome deve essere compreso tra 1 e 1000 caratteri e dotato di codifica UTF-8.

    MemoryDB aggiunge un identificatore di frammento e .rdb al valore immesso qui. Ad esempio, se si immettemy-exported-snapshot, MemoryDB crea. my-exported-snapshot-0001.rdb

  • --target-bucket— Nome del bucket Amazon S3 in cui desideri esportare lo snapshot. Una copia dello snapshot viene creata nel bucket specificato.

    --target-bucketAffinché il processo di esportazione abbia successo, deve essere un bucket Amazon S3 AWS nella regione dello snapshot con le seguenti autorizzazioni.

    • Accesso agli oggetti : Lettura e Scrittura.

    • Accesso alle autorizzazioni : Lettura.

    Per ulteriori informazioni, consulta Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3.

La seguente operazione copia uno snapshot in my-s3-bucket.

Per Linux, macOS o 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

Per 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
Nota

Se il bucket S3 non dispone delle autorizzazioni necessarie a MemoryDB per esportare un'istantanea al suo interno, viene visualizzato uno dei seguenti messaggi di errore. Torna a per aggiungere le autorizzazioni specificate e riprova Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3 a esportare la tua istantanea.

  • A MemoryDB non sono state concesse le autorizzazioni di LETTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di lettura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni di SCRITTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di scrittura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni READ_ACP %s sul bucket S3.

    Soluzione: aggiungere Read (Lettura) per Accesso alle autorizzazioni sul bucket.

Per ulteriori informazioni, consulta la sezione copy-snapshot nella Documentazione di riferimento della AWS CLI .

Se desideri copiare lo snapshot in un'altra AWS regione, usa Amazon S3 copy. Per ulteriori informazioni, consulta Copiare oggetti nella Guida per l'utente di Amazon Simple Storage Service.

Esporta lo snapshot in un bucket Amazon S3 utilizzando CopySnapshot l'operazione API con questi parametri.

Parametri
  • SourceSnapshotName— Nome dello snapshot da copiare.

  • TargetSnapshotName— Nome della copia dell'istantanea.

    Il nome deve essere compreso tra 1 e 1000 caratteri e dotato di codifica UTF-8.

    MemoryDB aggiunge un identificatore di shard e .rdb al valore che inserisci qui. Ad esempio, se inserisci my-exported-snapshot, ottieni my-exported-snapshot-0001.rdb.

  • TargetBucket— Nome del bucket Amazon S3 in cui desideri esportare lo snapshot. Una copia dello snapshot viene creata nel bucket specificato.

    TargetBucketAffinché il processo di esportazione abbia successo, deve essere un bucket Amazon S3 AWS nella regione dello snapshot con le seguenti autorizzazioni.

    • Accesso agli oggetti : Lettura e Scrittura.

    • Accesso alle autorizzazioni : Lettura.

    Per ulteriori informazioni, consulta Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3.

L'esempio seguente crea una copia di uno snapshot automatico nel bucket Amazon my-s3-bucket S3.

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>
Nota

Se il tuo bucket S3 non dispone delle autorizzazioni necessarie a MemoryDB per esportare uno snapshot al suo interno, ricevi uno dei seguenti messaggi di errore. Torna a per aggiungere le autorizzazioni specificate e riprova Fase 2: concedere a MemoryDB l'accesso al bucket Amazon S3 a esportare la tua istantanea.

  • A MemoryDB non sono state concesse le autorizzazioni di LETTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di lettura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni di SCRITTURA %s sul bucket S3.

    Soluzione: aggiungere autorizzazioni di scrittura sul bucket.

  • A MemoryDB non sono state concesse le autorizzazioni READ_ACP %s sul bucket S3.

    Soluzione: aggiungere Read (Lettura) per Accesso alle autorizzazioni sul bucket.

Per ulteriori CopySnapshotinformazioni, consulta.

Se desideri copiare lo snapshot in un'altra AWS regione, usa Amazon S3 copy per copiare lo snapshot esportato nel bucket Amazon S3 in un'altra regione. AWS Per ulteriori informazioni, consulta Copiare oggetti nella Guida per l'utente di Amazon Simple Storage Service.