Ensemencement d'un nouveau cluster avec une sauvegarde créée en externe - Amazon ElastiCache for Redis

Ensemencement d'un nouveau cluster avec une sauvegarde créée en externe

Lorsque vous créez un nouveau cluster Redis, vous pouvez l'alimenter avec les données provenant d'un fichier de sauvegarde .rdb Redis. L'ensemencement du cluster est utile si vous gérez actuellement une instance Redis en dehors d'ElastiCache et que vous souhaitez remplir votre nouveau cluster ElastiCache for Redis avec vos données Redis existantes.

Pour ensemencer un nouveau cluster Redis provenant d'une sauvegarde Redis créée dans Amazon ElastiCache, veuillez consulter Restauration à partir d'une sauvegarde avec redimensionnement facultatif du cluster.

Lorsque vous utilisez un fichier Redis .rdb pour alimenter un nouveau cluster Redis, vous pouvez effectuer les opérations suivantes :

  • Mettre à niveau un cluster non partitionné vers un cluster Redis (mode cluster activé) exécutant Redis version 3.2.4.

  • Spécifier un nombre de partitions (appelées groupes de nœuds dans l'API et la CLI) dans le nouveau cluster. Ce nombre peut être différent du nombre de partitions dans le cluster utilisé pour créer le fichier de sauvegarde.

  • Spécifier un type de nœud différent pour le nouveau cluster, plus grand ou plus petit que celui utilisé dans le cluster qui a réalisé la sauvegarde. Si vous optez pour un type de nœud plus petit, veillez à ce que le nouveau type de nœud ait suffisamment de mémoire pour vos données et la surcharge Redis. Pour plus d’informations, consultez S'assurer d'avoir suffisamment de mémoire pour créer un instantané Redis.

  • Distribuer les clés entre les emplacements du nouveau cluster Redis (mode cluster activé) de façon différente par rapport au cluster qui a été utilisé pour créer le fichier de sauvegarde.

Note

Vous ne pouvez pas alimenter un cluster Redis (mode cluster désactivé) à partir d'un fichier .rdb créé à partir d'un cluster Redis (mode cluster activé).

Important

Les rubriques suivantes vous guident dans la migration de votre cluster Redis à partir d'un emplacement situé hors d'ElastiCache for Redis vers ElastiCache for Redis.

Étape 1 : Créer une sauvegarde Redis

Pour créer la sauvegarde Redis qui vous permettra d'alimenter votre instance ElastiCache for Redis

  1. Connectez-vous à votre instance Redis existante.

  2. Exécutez l'opération Redis BGSAVE ou SAVE pour créer une sauvegarde. Notez l'emplacement de votre fichier .rdb.

    BGSAVE est asynchrone et ne bloque pas les autres clients lors du traitement. Pour plus d'informations, consultez BGSAVE sur le site Web de Redis.

    SAVE est synchrone et bloque les autres processus jusqu'à la fin. Pour plus d'informations, consultez SAVE sur le site Web de Redis.

Pour plus d'informations sur la création d'une sauvegarde, veuillez consulter Redis Persistence sur le site Web de Redis.

Étape 2 : Créer un compartiment et un dossier Amazon S3

Une fois que vous avez créé le fichier de sauvegarde, vous devez le télécharger dans un dossier du compartiment Amazon S3. Pour cela, vous devez disposer d'un compartiment Amazon S3 et d'un dossier dans ce compartiment. Si vous avez déjà un compartiment et un dossier Amazon S3 avec les autorisations appropriées, vous pouvez ignorer cette étape et passer à Étape 3 : Charger votre sauvegarde sur Amazon S3.

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. Pour créer un compartiment Amazon S3, suivez les instructions de la section Créer un compartiment dans le Guide de l'utilisateur de la console Amazon Simple Storage Service.

    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).

    Vous devez créer votre compartiment Amazon S3 dans le même région AWS en tant que nouveau cluster ElastiCache for Redis. Cette approche garantit la plus haute vitesse de transfert de données lorsqu'ElastiCache lit votre fichier .rdb à partir d'Amazon S3.

    Note

    Pour sécuriser au maximum vos données, définissez les autorisations les plus restrictives possible sur votre compartiment Amazon S3. Toutefois, les autorisations doivent toujours permettre d'utiliser le compartiment et son contenu pour alimenter votre nouveau cluster Redis.

Pour ajouter un dossier à 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 le nom du compartiment dans lequel le fichier .rdb sera téléchargé.

  3. Choisissez Créer un dossier.

  4. Saisissez un nom dans votre nouveau dossier.

  5. Choisissez Enregistrer.

    Notez le nom du compartiment et celui du dossier.

Étape 3 : Charger votre sauvegarde sur Amazon S3

Maintenant, téléchargez le fichier .rdb que vous avez créé dans Étape 1 : Créer une sauvegarde Redis. Vous le téléchargez dans le compartiment Amazon S3 et le dossier que vous avez créé dans Étape 2 : Créer un compartiment et un dossier Amazon S3. Pour plus d'informations sur cette tâche, veuillez consulter Ajouter un objet à un compartiment. Entre les étapes 2 et 3, choisissez le nom du dossier que vous avez créé.

Pour charger votre fichier .rdb dans un dossier 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 le nom du compartiment Amazon S3 que vous avez créé à l'étape 2.

  3. Choisissez le nom du dossier que vous avez créé à l'étape 2.

  4. Choisissez Charger.

  5. Choisissez Add files.

  6. Recherchez le ou les fichiers que vous souhaitez charger, puis choisissez-les. Pour choisir plusieurs fichiers, maintenez la touche Ctrl enfoncée pendant que vous sélectionnez chaque nom de fichier.

  7. Choisissez Open.

  8. Vérifiez que le ou les bons fichiers figurent dans la boîte de dialogue Charger, puis choisissez Charger.

Notez le chemin de votre fichier .rdb. Par exemple, si le nom de votre compartiment est myBucket et que le chemin est myFolder/redis.rdb, entrez myBucket/myFolder/redis.rdb. Vous avez besoin de ce chemin d'accès pour alimenter le nouveau cluster avec les données de cette sauvegarde.

Pour de plus amples informations, veuillez consulter Limites et restrictions applicables aux compartiments dans le Guide de l'utilisateur Amazon Simple Storage Service.

Étape 4 : Accorder à ElastiCache l'accès en lecture au fichier .rdb

Maintenant, accordez à ElastiCache l'accès en lecture à votre fichier de sauvegarde .rdb. Vous accordez à ElastiCache l'accès à votre fichier de sauvegarde d'une manière différente selon que votre compartiment se trouve dans une région AWS par défaut ou 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 en lecture au fichier .rdb 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 accorder à ElastiCache l'accès en lecture au fichier de sauvegarde dans une région AWS activée 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 S3 qui contient votre fichier .rdb.

  3. Choisissez le nom du dossier qui contient votre fichier .rdb.

  4. Choisissez le nom de votre fichier de sauvegarde .rdb. Le nom du fichier sélectionné apparaît au-dessus des onglets en haut de la page.

    Image : fichier sélectionné dans la console S3
  5. Choisissez Permissions (Autorisations).

  6. Si aws-scs-s3-readonly ou l'un des ID canoniques de la liste suivante ne sont pas répertoriés comme utilisateur, procédez comme suit :

    1. Sous Accès pour d'autres comptes AWS, choisissez Ajouter un compte.

    2. 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 se trouver dans un compartiment S3 dans AWS GovCloud (US) pour que vous puissiez la télécharger dans un cluster Redis dans AWS GovCloud (US).

      • AWSRégions activées par défaut :

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

      • Lecture d'objet

      • Lecture des autorisations d'objet

    4. Choisissez Enregistrer.

  7. Choisissez Présentation, puis Télécharger.

Octroi à ElastiCache de l'accès en lecture au fichier .rdb 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 accorder à ElastiCache l'accès en lecture au fichier de sauvegarde 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 S3 qui contient votre fichier .rdb.

  3. Choisissez le nom du dossier qui contient votre fichier .rdb.

  4. Choisissez le nom de votre fichier de sauvegarde .rdb. Le nom du fichier sélectionné apparaît au-dessus des onglets en haut de la page.

    Image : fichier sélectionné dans la console S3
  5. Choisissez l'onglet Permissions (Autorisations).

  6. Sous Autorisations, choisissez Politique de compartiment.

  7. 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:GetObject"

      • "s3:ListBucket"

      • "s3:GetBucketAcl"

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

    { "Version": "2012-10-17", "Id": "Policy15397346", "Statement": [ { "Sid": "Stmt15399483", "Effect": "Allow", "Principal": { "Service": "ap-east-1.elasticache-snapshot.amazonaws.com" }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:GetBucketAcl" ], "Resource": [ "arn:aws:s3:::example-bucket", "arn:aws:s3:::example-bucket/backup1.rdb", "arn:aws:s3:::example-bucket/backup2.rdb" ] } ] }

Étape 5 : ensemencer le cluster ElastiCache avec les données du fichier .rdb

Vous êtes maintenant prêt à créer un cluster ElastiCache et à l'ensemencer avec les données du fichier .rdb. Pour créer le cluster, suivez les instructions de Création d'un cluster ou Création d'un groupe de réplication Redis à partir de zéro. Assurez-vous de choisir Redis comme moteur de votre cluster.

La méthode que vous utilisez pour indiquer à ElastiCache où trouver la sauvegarde Redis que vous avez chargée dans Amazon S3 dépend de la méthode que vous utilisez pour créer le cluster :

Ensemencer le cluster ElastiCache for Redis ou le groupe de réplication avec les données du fichier .rdb

  • Utilisation de la console ElastiCache

    Une fois le moteur Redis choisi, développez la section Paramètres Redis avancés et recherchez Importer les données dans le cluster. Dans la zone Seed RDB file S3 location (Ensemencer l'emplacement S3 du fichier RDB), tapez le chemin d'accès Amazon S3 pour le ou les fichiers. Si vous avez plusieurs fichiers .rdb, tapez le chemin d'accès à chaque fichier dans une liste séparée par des virgules. Le chemin Amazon S3 ressemble à myBucket/myFolder/myBackupFilename.rdb.

  • Utilisation de AWS CLI

    Si vous utilisez l'opération create-cache-cluster ou create-replication-group, définissez le paramètre --snapshot-arns afin de spécifier un ARN qualifié pour chaque fichier .rdb. Par exemple : «  », arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb. L'ARN doit résoudre les fichiers de sauvegarde stockés dans Amazon S3.

  • Utilisation de l'API ElastiCache

    Si vous utilisez l'opération CreateCacheCluster ou CreateReplicationGroup de l'API ElastiCache, utilisez le paramètre SnapshotArns afin de spécifier un ARN qualifié pour chaque fichier .rdb. Par exemple : «  », arn:aws:s3:::myBucket/myFolder/myBackupFilename.rdb. L'ARN doit résoudre les fichiers de sauvegarde stockés dans Amazon S3.

Important

Lors de l'ensemencement d'un cluster Redis (mode cluster activé), vous devez configurer chaque groupe de nœuds (partition) dans le nouveau cluster ou groupe de réplication. Pour ce faire, utilisez le paramètre --node-group-configuration (API : NodeGroupConfiguration). Pour plus d'informations, veuillez consulter les ressources suivantes :

Au cours du processus de création de votre cluster, les données dans votre sauvegarde Redis seront écrites dans le cluster. Vous pouvez surveiller la progression en consultant les messages d'événement ElastiCache. Pour cela, accédez à la console ElastiCache et choisissez Cache Events (Événements en cache). Vous pouvez également utiliser l'interface de ligne de commande ElastiCache AWS ou l'API ElastiCache afin d'obtenir des messages d'événement. Pour plus d’informations, consultez Affichage des événements ElastiCache.