Exportation d'un instantané - Amazon MemoryDB for Redis

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exportation d'un instantané

MemoryDB for Redis prend en charge l'exportation de votre instantané MemoryDB vers un bucket Amazon Simple Storage Service (Amazon S3), ce qui vous permet d'y accéder depuis l'extérieur de MemoryDB. Les instantanés MemoryDB exportés sont entièrement compatibles avec Redis open source et peuvent être chargés avec la version ou l'outil Redis approprié. Vous pouvez exporter un instantané à l'aide de la console MemoryDB, de l'API MemoryDB ou de l'AWS CLIAPI MemoryDB.

L'exportation d'un instantané peut s'avérer utile si vous devez lancer un cluster dans une autre AWS région. Vous pouvez exporter vos données dans une région AWS, copier le fichier .rdb dans la nouvelle région AWS, puis utiliser ce fichier .rdb pour initialiser le nouveau cluster plutôt que d'attendre que le nouveau cluster ne se remplisse au fur et à mesure de son utilisation. Pour de plus amples informations sur l'amorçage d'un nouveau cluster, veuillez consulter Création d'un nouveau cluster avec un instantané créé en externe. Vous voulez aussi peut-être exporter les données de votre cluster pour utiliser le fichier .rdb lors d'un processus hors ligne.

Important
  • L'instantané MemoryDB et le compartiment Amazon S3 dans lequel vous souhaitez le copier doivent se trouver dans la même AWS région.

    Bien que les instantanés copiés dans un compartiment Amazon S3 soient chiffrés, nous vous recommandons vivement de ne pas autoriser d'autres personnes à accéder au compartiment Amazon S3 dans lequel vous souhaitez stocker vos instantanés.

  • L'exportation d'un instantané vers Amazon S3 n'est pas prise en charge pour les clusters utilisant la hiérarchisation des données. Pour plus d'informations, consultez Mise à niveau des données.

Avant de pouvoir exporter un instantané vers un compartiment Amazon S3, vous devez disposer d'un compartiment Amazon S3 dans la même AWS région que l'instantané. Accordez à MemoryDB l'accès au bucket. Les deux premières étapes vous indiquent comment procéder.

Avertissement

Dans les scénarios suivants, l'exposition de vos données peut ne pas vous convenir :

  • Lorsqu'une autre personne a accès au compartiment Amazon S3 vers lequel vous avez exporté votre instantané.

    Pour contrôler l'accès à vos instantanés, autorisez uniquement l'accès au compartiment Amazon S3 aux personnes auxquelles vous souhaitez accéder à vos données. Pour plus d'informations sur la gestion de l'accès aux compartiments Amazon S3, veuillez consulter Contrôle d'accès dans le Guide du développeur Amazon S3.

  • Lorsqu'une autre personne est autorisée à utiliser l'opération CopySnapshot API.

    Les utilisateurs ou les groupes autorisés à utiliser l'opération d'CopySnapshotAPI peuvent créer leurs propres compartiments Amazon S3 et y copier des instantanés. Pour contrôler l'accès à vos instantanés, utilisez une politique AWS Identity and Access Management (IAM) pour contrôler qui est autorisé à utiliser l'CopySnapshotAPI. Pour plus d'informations sur l'utilisation d'IAM pour contrôler l'utilisation des opérations de l'API MemoryDB, consultez Gestion des identités et des accès dans MemoryDB pour Redis le guide de l'utilisateur de MemoryDB.

Étape 1 : Créer un compartiment Amazon S3

La procédure suivante utilise la console Amazon S3 pour créer un compartiment Amazon S3 dans lequel vous exportez et stockez votre instantané MemoryDB.

Pour créer un compartiment Amazon S3
  1. Connectez-vous à AWS Management Console et ouvrez la console Amazon S3 à la page https://console.aws.amazon.com/s3/.

  2. Choisissez Créer un compartiment.

  3. Dans la fenêtre Create a Bucket – Select a Bucket Name and Region, procédez comme suit :

    1. Dans Bucket Name (Nom du compartiment), indiquez le nom de votre compartiment Amazon S3.

    2. Dans la liste Région, choisissez une région AWS pour votre compartiment Amazon S3. Cette AWS région doit être la même AWS que l'instantané MemoryDB que vous souhaitez exporter.

    3. Choisissez Créer.

Pour plus d'informations sur la création d'un compartiment Amazon S3, veuillez consulter Créer un compartiment dans le Guide de l'utilisateur Amazon Simple Storage Service.

Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3

Les régions AWS introduites avant le 20 mars 2019 sont activées par défaut. Vous pouvez commencer à travailler dans ces régions AWS immédiatement. Les régions introduites après le 20 mars 2019 sont désactivées par défaut. Vous devez activer ou adhérer à ces régions avant de pouvoir les utiliser, comme décrit dans Gestion des AWS régions.

Accorder à MemoryDB l'accès à votre compartiment S3 dans une région AWS

Pour créer les autorisations appropriées sur un compartiment Amazon S3 dans une AWS région, procédez comme suit.

Pour accorder à MemoryDB l'accès à un compartiment S3
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l'adresse https://console.aws.amazon.com/s3/.

  2. Choisissez le nom du compartiment Amazon S3 dans lequel vous souhaitez copier le snapshot. Il doit s'agir du compartiment S3 que vous avez créé dans Étape 1 : Créer un compartiment Amazon S3.

  3. Choisissez l'onglet Permissions et sous Permissions, choisissez Bucket policy.

  4. Mettez à jour la politique pour accorder à MemoryDB les autorisations requises pour effectuer des opérations :

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

    • Ajoutez les autorisations suivantes requises pour exporter un instantané vers le compartiment Amazon S3.

      • "s3:PutObject"

      • "s3:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

      • "s3:ListMultipartUploadParts"

      • "s3:ListBucketMultipartUploads"

    La politique mise à jour devrait ressembler à l'exemple suivant.

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

Étape 3 : Exporter un instantané MemoryDB

Vous avez maintenant créé votre compartiment S3 et accordé à MemoryDB les autorisations nécessaires pour y accéder. Modifiez la propriété de l'objet S3 pour activer les ACL (propriétaire du compartiment préféré). Ensuite, vous pouvez utiliser la console MemoryDB, la AWS CLI ou l'API MemoryDB pour y exporter votre instantané. La procédure suivante suppose que vous disposez des autorisations IAM suivantes spécifiques à S3.

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

Le processus suivant utilise la console MemoryDB pour exporter un instantané vers un compartiment Amazon S3 afin que vous puissiez y accéder depuis l'extérieur de MemoryDB. Le compartiment Amazon S3 doit se trouver dans la même AWS région que le snapshot MemoryDB.

Pour exporter un instantané MemoryDB vers un compartiment Amazon S3
  1. Connectez-vous à la console MemoryDB pour Redis AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/memorydb/.

  2. Pour afficher la liste de vos instantanés, dans le volet de navigation de gauche, sélectionnez Snapshots.

  3. Dans la liste des instantanés, cliquez sur le bouton radio situé à gauche du nom de l'instantané que vous souhaitez exporter.

  4. Choisissez Copier.

  5. Dans Create Copy of the Backup? (Créer une copie de la sauvegarde ?), procédez comme suit :

    1. Dans le champ Nom du nouvel instantané, tapez le nom de votre nouvel instantané.

      Le nom doit comprendre entre 1 et 1 000 caractères et pouvoir être encodé en UTF-8.

      MemoryDB ajoute un identifiant de partition et .rdb à la valeur que vous entrez ici. Par exemple, si vous entrezmy-exported-snapshot, MemoryDB crée. my-exported-snapshot-0001.rdb

    2. Dans la liste des emplacements S3 cibles, choisissez le nom du compartiment Amazon S3 dans lequel vous souhaitez copier votre instantané (le compartiment dans lequel vous l'avez crééÉtape 1 : Créer un compartiment Amazon S3).

      L'emplacement S3 cible doit être un compartiment Amazon S3 situé dans la AWS région du snapshot avec les autorisations suivantes pour que le processus d'exportation réussisse.

      • Accès à l'objet – Lecture et Écriture.

      • Accès aux autorisations – Lecture.

      Pour plus d'informations, consultez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3.

    3. Choisissez Copier.

Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires pour que MemoryDB puisse y exporter un instantané, vous recevez l'un des messages d'erreur suivants. Retournez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3 à pour ajouter les autorisations spécifiées et réessayez d'exporter votre instantané.

  • MemoryDB n'a pas obtenu les autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations WRITE %s sur le compartiment S3.

    Solution : ajoutez des autorisations d'écriture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations READ_ACP %s sur le compartiment S3.

    Solution : ajoutez Read pour l'accès aux autorisations sur le compartiment.

Si vous souhaitez copier votre instantané AWS dans une autre région, utilisez Amazon S3 pour le copier. Pour plus d'informations, consultez Copier des objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Exportez le snapshot vers un compartiment Amazon S3 à l'aide de l'opération copy-snapshot CLI avec les paramètres suivants :

Paramètres
  • --source-snapshot-name— Nom de l'instantané à copier.

  • --target-snapshot-name— Nom de la copie de l'instantané.

    Le nom doit comprendre entre 1 et 1 000 caractères et pouvoir être encodé en UTF-8.

    MemoryDB ajoute un identifiant de partition et .rdb à la valeur que vous entrez ici. Par exemple, si vous entrezmy-exported-snapshot, MemoryDB crée. my-exported-snapshot-0001.rdb

  • --target-bucket— Nom du compartiment Amazon S3 dans lequel vous souhaitez exporter l'instantané. Une copie du cliché est créée dans le compartiment spécifié.

    --target-bucketIl doit s'agir d'un compartiment Amazon S3 situé dans la AWS région du snapshot avec les autorisations suivantes pour que le processus d'exportation réussisse.

    • Accès à l'objet – Lecture et Écriture.

    • Accès aux autorisations – Lecture.

    Pour plus d'informations, consultez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3.

L'opération suivante copie un instantané dans my-s3-bucket.

Pour Linux, macOS ou 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

Pour 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
Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires pour que MemoryDB puisse y exporter un instantané, vous recevez l'un des messages d'erreur suivants. Retournez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3 à pour ajouter les autorisations spécifiées et réessayez d'exporter votre instantané.

  • MemoryDB n'a pas obtenu les autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations WRITE %s sur le compartiment S3.

    Solution : ajoutez des autorisations d'écriture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations READ_ACP %s sur le compartiment S3.

    Solution : ajoutez Read pour l'accès aux autorisations sur le compartiment.

Pour plus d’informations, consultez la section copy-snapshot dans la référence des commandes AWS CLI.

Si vous souhaitez copier votre instantané AWS dans une autre région, utilisez Amazon S3 copy. Pour plus d'informations, consultez Copier des objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Exportez le snapshot vers un compartiment Amazon S3 à l'aide de l'opération d'CopySnapshotAPI avec ces paramètres.

Paramètres
  • SourceSnapshotName— Nom de l'instantané à copier.

  • TargetSnapshotName— Nom de la copie de l'instantané.

    Le nom doit comprendre entre 1 et 1 000 caractères et pouvoir être encodé en UTF-8.

    MemoryDB ajoute un identifiant de partition et .rdb à la valeur que vous entrez ici. Par exemple, si vous entrez my-exported-snapshot, vous obtenez my-exported-snapshot-0001.rdb.

  • TargetBucket— Nom du compartiment Amazon S3 dans lequel vous souhaitez exporter l'instantané. Une copie du cliché est créée dans le compartiment spécifié.

    TargetBucketIl doit s'agir d'un compartiment Amazon S3 situé dans la AWS région du snapshot avec les autorisations suivantes pour que le processus d'exportation réussisse.

    • Accès à l'objet – Lecture et Écriture.

    • Accès aux autorisations – Lecture.

    Pour plus d'informations, consultez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3.

L'exemple suivant crée une copie d'un instantané automatique dans le compartiment Amazon S3my-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>
Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires pour que MemoryDB puisse y exporter un instantané, vous recevez l'un des messages d'erreur suivants. Retournez Étape 2 : accorder à MemoryDB l'accès à votre compartiment Amazon S3 à pour ajouter les autorisations spécifiées et réessayez d'exporter votre instantané.

  • MemoryDB n'a pas obtenu les autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations WRITE %s sur le compartiment S3.

    Solution : ajoutez des autorisations d'écriture sur le compartiment.

  • MemoryDB n'a pas obtenu les autorisations READ_ACP %s sur le compartiment S3.

    Solution : ajoutez Read pour l'accès aux autorisations sur le compartiment.

Pour plus d'informations, consultez CopySnapshot.

Si vous souhaitez copier votre instantané AWS dans une autre région, utilisez Amazon S3 copy pour copier l'instantané exporté dans le compartiment Amazon S3 d'une autre AWS région. Pour plus d'informations, consultez Copier des objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.