Exportation d'une sauvegarde - Amazon ElastiCache for Redis

Exportation d'une sauvegarde

Amazon ElastiCache prend en charge l'exportation de votre sauvegarde ElastiCache vers un compartiment Amazon Simple Storage Service (Amazon S3), ce qui vous permet d'y accéder depuis l'extérieur d'ElastiCache. Vous pouvez exporter une sauvegarde à l'aide de la console ElastiCache, de la AWS CLI ou de l'API ElastiCache.

Il peut s'avérer utile d'exporter une sauvegarde si vous devez lancer un cluster dans une autre région AWS. 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 Ensemencement d'un nouveau cluster avec une sauvegarde créée 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
  • La sauvegarde ElastiCache et le compartiment Amazon S3 dans lequel vous voulez la copier doivent être dans la même région AWS.

    Bien que les sauvegardes copiées sur un compartiment Amazon S3 soient chiffrées, nous vous conseillons vivement de ne pas autoriser l'accès au compartiment Amazon S3 dans lequel vous souhaitez stocker vos sauvegardes.

  • L’exportation d’une sauvegarde 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 une sauvegarde vers un compartiment Amazon S3, vous devez avoir un compartiment Amazon S3 dans la même AWS région que la sauvegarde. Accorder à ElastiCache l'accès à un compartiment. 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 :

  • Quand une autre personne a accès au compartiment Amazon S3 dans lequel vous avez exporté votre sauvegarde.

    Pour contrôler l'accès à vos sauvegardes, n'autorisez l'accès au compartiment Amazon S3 qu'aux personnes que vous souhaitez voir 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.

  • Quand une autre personne dispose des autorisations pour utiliser l'API CopySnapshot.

    Des utilisateurs ou des groupes disposant des autorisations permettant d'utiliser l'API CopySnapshot peuvent créer leurs propres compartiments Amazon S3 et y copier les sauvegardes. Pour contrôler l'accès à vos sauvegardes, utilisez une politique AWS Identity and Access Management (IAM) afin de contrôler les personnes qui peuvent utiliser l'API CopySnapshot. Pour plus d'informations sur l'utilisation d'IAM pour contrôler l'utilisation des API ElastiCache, veuillez consulter Gestion des identités et des accès dans Amazon ElastiCache dans le Guide de l'utilisateur ElastiCache.

É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 pourrez exporter et stocker votre sauvegarde ElastiCache.

Pour créer un compartiment Amazon S3

  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon S3 à l'adresse 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.

      Le nom de votre compartiment Amazon S3 doit être conforme au DNS. Sinon, ElastiCache ne peut pas accéder à votre fichier de sauvegarde. Les règles de conformité DNS sont les suivantes :

      • Les noms de compartiments doivent comporter entre 3 et 63 caractères.

      • Les noms doivent être une série d'une ou plusieurs étiquettes séparées par un point (.) où chaque étiquette :

        • Il doit commencer par une minuscule ou un chiffre.

        • Il doit terminer par une minuscule ou un chiffre.

        • Contient uniquement des lettres minuscules, des chiffres et des traits d'union.

      • Il ne peut pas présenter le même format qu'une adresse IP (par exemple, 192.0.2.0).

    2. Dans la liste Région, choisissez une région AWS pour votre compartiment Amazon S3. Cette région AWS doit être la même région AWS que celle de la sauvegarde ElastiCache 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 l'accès ElastiCache à votre compartiment Amazon S3

Pour qu'ElastiCache puisse copier un instantané dans un compartiment Amazon S3, accordez l'accès au compartiment. Vous accordez à ElastiCache l'accès à votre compartiment Amazon S3 d'une manière différente selon que votre compartiment se trouve dans une région AWS par défaut ou dans une région AWS pour laquelle une inscription est nécessaire.

AWSLes régions 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, telles que l'Asie-Pacifique (Hong Kong) et Moyen-Orient (Bahreïn), sont désactivées par défaut. Vous devez activer ces régions, ou vous y inscrire, avant de pouvoir les utiliser, comme décrit dans la rubrique Gestion des régions AWS dans le document AWS-GEN-REF;.

Choisissez votre approche en fonction de votre région AWS :

Octroi à ElastiCache de l'accès à votre compartiment S3 dans une région par défaut

AWSLes régions 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, telles que l'Asie-Pacifique (Hong Kong) et Moyen-Orient (Bahreïn), sont désactivées par défaut. Vous devez activer ces régions, ou vous y inscrire, avant de pouvoir les utiliser, comme décrit dans la rubrique Gestion des régions AWS dans le document AWS-GEN-REF;.

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

Avertissement

Bien que les sauvegardes copiées dans un compartiment Amazon S3 soient chiffrées, vos données sont accessibles à toute personne ayant accès à votre compartiment Amazon S3. De ce fait, nous vous recommandons vivement de configurer les politiques IAM afin d'empêcher tout accès non autorisé à ce compartiment Amazon S3. Pour de plus amples informations, veuillez consulter Gestion des accès dans le Guide du développeur Amazon S3.

Pour accorder à ElastiCache l'accès à un compartiment S3 dans une région AWS par défaut

  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 la sauvegarde. Il doit s'agir du compartiment S3 que vous avez créé dans Étape 1 : Créer un compartiment Amazon S3.

  3. Assurez-vous que la région AWS du compartiment est la même que la région AWS de votre sauvegarde ElastiCache. Si ce n'est pas le cas, revenez à Étape 1 : Créer un compartiment Amazon S3 et créez un nouveau compartiment dans la même région AWS que le cluster que vous souhaitez sauvegarder.

  4. Choisissez l'onglet Autorisations, Liste de contrôle d'accès, et, sous Accès pour d'autres comptes AWS, choisissez Ajouter un compte.

  5. Dans le champ, ajoutez l'ID canonique de la région AWS, comme indiqué dans la liste suivante :

    • AWSRégion GovCloud (US-West) :

      40fa568277ad703bd160f66ae4f83fc9dfdfd06c2f1b5060ca22442ac3ef8be6
      Important

      La sauvegarde doit être exportée vers un compartiment S3 dans AWS GovCloud (US).

    • Toutes les autres régions AWS activées par défaut :

      540804c33a284a299d2547575ce1010f2312ef3da9b3a053c8bc45bf233e4353
  6. Définissez les autorisations sur le compartiment en choisissant Oui pour les options suivantes :

    • Répertorier les objets

    • Ecriture d'objets

    • Lecture des autorisations du compartiment

  7. Choisissez Enregistrer.

Votre compartiment Amazon S3 est maintenant prêt pour l'exportation d'une sauvegarde ElastiCache à l'aide de la console ElastiCache, de la AWS CLI, ou l'API ElastiCache.

Octroi à ElastiCache de l'accès à votre compartiment S3 dans une région pour laquelle une inscription est nécessaire

AWSLes régions 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, telles que l'Asie-Pacifique (Hong Kong) et Moyen-Orient (Bahreïn), sont désactivées par défaut. Vous devez activer ces régions, ou vous y inscrire, avant de pouvoir les utiliser, comme décrit dans la rubrique Gestion des régions AWS dans le document AWS-GEN-REF;.

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

Octroi à ElastiCache de l'accès à votre compartiment S3 dans une région AWS pour laquelle une inscription est nécessaire

  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 la sauvegarde. Il doit s'agir du compartiment S3 que vous avez créé dans Étape 1 : Créer un compartiment Amazon S3.

  3. Choisissez l'onglet Autorisations et sous Autorisations, choisissez Politique de compartiment.

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

    • Ajoutez [ "Service" : "region-full-name.elasticache-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-opt-in-region.elasticache-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 une sauvegarde ElastiCache

Vous avez désormais créé votre compartiment S3 et accordé les autorisations ElastiCache nécessaires pour y accéder. Ensuite, vous pouvez utiliser la console ElastiCache, la CLI AWS ou l'API ElastiCache 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 ElastiCache pour exporter une sauvegarde dans un compartiment Amazon S3 pour que vous puissiez y accéder en dehors d'ElastiCache. Le compartiment Amazon S3 doit se trouver dans le même région AWS que celle de la sauvegarde ElastiCache.

Pour exporter une sauvegarde ElastiCache vers un compartiment Amazon S3

  1. Connectez-vous à la AWS Management Console et ouvrez la console ElastiCache à l'adresse https://console.aws.amazon.com/elasticache/.

  2. Dans le volet de navigation de gauche, choisissez Sauvegardes pour afficher la liste de vos sauvegardes.

  3. Dans la liste des sauvegardes, choisissez la case située à gauche du nom de la sauvegarde à exporter.

  4. Choisissez Copy.

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

    1. Saisissez un nom pour votre nouvelle sauvegarde dans la zone New Backup name.

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

      ElastiCache ajoute un identifiant d'instance et .rdb à la valeur que vous saisissez ici. Par exemple, si vous saisissez my-exported-backup, ElastiCache crée my-exported-backup-0001.rdb.

    2. Dans la liste Emplacement S3 cible, choisissez le nom du compartiment Amazon S3 dans lequel vous souhaitez copier votre sauvegarde (le compartiment que vous avez créé dans Étape 1 : Créer un compartiment Amazon S3).

      L'emplacement S3 cible doit être un compartiment Amazon S3 situé dans la région AWS de la sauvegarde et disposant des 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 l'accès ElastiCache à votre compartiment Amazon S3.

    3. Choisissez Copy.

Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires à ElastiCache pour y exporter une sauvegarde, vous recevez l'un des messages d'erreur suivants. Revenez à Étape 2 : Accorder l'accès ElastiCache à votre compartiment Amazon S3 pour ajouter les autorisations spécifiées et essayer à nouveau d'exporter votre sauvegarde.

  • ElastiCache n'a pas reçu d'autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • ElastiCache n'a pas reçu d'autorisations WRITE %s sur le compartiment S3.

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

  • ElastiCache n'a pas reçu d'autorisations READ_ACP %s sur le compartiment S3.

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

Si vous voulez copier votre sauvegarde dans une autre région AWS, utilisez Amazon S3 pour la copier. Pour de plus amples informations, veuillez consulter Copie d'objets dans le Guide de l'utilisateur Amazon Simple Storage Service.

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

Parameters

  • --source-snapshot-name – Nom de la sauvegarde à copier.

  • --target-snapshot-name – Nom de la copie de la sauvegarde.

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

    ElastiCache ajoute un identifiant d'instance et .rdb à la valeur que vous saisissez ici. Par exemple, si vous saisissez my-exported-backup, ElastiCache crée my-exported-backup-0001.rdb.

  • --target-bucket – Nom du compartiment Amazon S3 dans lequel vous voulez exporter la sauvegarde. Une copie de la sauvegarde est effectuée dans le compartiment spécifié.

    Le --target-bucket doit être un compartiment Amazon S3 situé dans la région AWS de la sauvegarde et disposant des 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 l'accès ElastiCache à votre compartiment Amazon S3.

L'opération suivante copie une sauvegarde dans le compartiment my-s3-bucket.

Pour Linux, macOS ou Unix :

aws elasticache copy-snapshot \ --source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 \ --target-snapshot-name my-exported-backup \ --target-bucket my-s3-bucket

Pour Windows :

aws elasticache copy-snapshot ^ --source-snapshot-name automatic.my-redis-primary-2016-06-27-03-15 ^ --target-snapshot-name my-exported-backup ^ --target-bucket my-s3-bucket
Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires à ElastiCache pour y exporter une sauvegarde, vous recevez l'un des messages d'erreur suivants. Revenez à Étape 2 : Accorder l'accès ElastiCache à votre compartiment Amazon S3 pour ajouter les autorisations spécifiées et essayer à nouveau d'exporter votre sauvegarde.

  • ElastiCache n'a pas reçu d'autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • ElastiCache n'a pas reçu d'autorisations WRITE %s sur le compartiment S3.

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

  • ElastiCache n'a pas reçu d'autorisations READ_ACP %s sur le compartiment S3.

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

Pour plus d'informations, veuillez consulter copy-snapshot dans la Référence des commandes AWS CLI.

Si vous voulez copier votre sauvegarde dans une autre région AWS, utilisez Amazon S3 pour la copier. Pour de plus amples informations, veuillez consulter Copie d'objets dans le Guide de l'utilisateur Amazon Simple Storage Service.

Exportez la sauvegarde dans un compartiment Amazon S3 à l'aide de l'opération CopySnapshot de l'API avec ces paramètres.

Parameters

  • SourceSnapshotName – Nom de la sauvegarde à copier.

  • TargetSnapshotName – Nom de la copie de la sauvegarde.

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

    ElastiCache ajoute un identifiant d'instance et .rdb à la valeur que vous saisissez ici. Par exemple, si vous entrez my-exported-backup, vous obtenez my-exported-backup-0001.rdb.

  • TargetBucket – Nom du compartiment Amazon S3 dans lequel vous voulez exporter la sauvegarde. Une copie de la sauvegarde est effectuée dans le compartiment spécifié.

    Le TargetBucket doit être un compartiment Amazon S3 situé dans la région AWS de la sauvegarde et disposant des 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 l'accès ElastiCache à votre compartiment Amazon S3.

L'exemple suivant réalise une copie d'une sauvegarde automatique dans le compartiment Amazon S3 my-s3-bucket.

https://elasticache.us-west-2.amazonaws.com/ ?Action=CopySnapshot &SourceSnapshotName=automatic.my-redis-primary-2016-06-27-03-15 &TargetBucket=my-s3-bucket &TargetSnapshotName=my-backup-copy &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2016-01-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>
Note

Si votre compartiment S3 ne dispose pas des autorisations nécessaires à ElastiCache pour y exporter une sauvegarde, vous recevez l'un des messages d'erreur suivants. Revenez à Étape 2 : Accorder l'accès ElastiCache à votre compartiment Amazon S3 pour ajouter les autorisations spécifiées et essayer à nouveau d'exporter votre sauvegarde.

  • ElastiCache n'a pas reçu d'autorisations READ %s sur le compartiment S3.

    Solution : ajoutez des autorisations de lecture sur le compartiment.

  • ElastiCache n'a pas reçu d'autorisations WRITE %s sur le compartiment S3.

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

  • ElastiCache n'a pas reçu d'autorisations READ_ACP %s sur le compartiment S3.

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

Pour de plus amples informations, veuillez consulter CopySnapshot dans la Référence d'API Amazon ElastiCache.

Si vous voulez copier votre sauvegarde dans une autre région AWS, utilisez la copie Amazon S3 pour copier la sauvegarde exportée dans le compartiment Amazon S3 dans une autre région AWS. Pour de plus amples informations, veuillez consulter Copie d'objets dans le Guide de l'utilisateur Amazon Simple Storage Service.