Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog
Instantanés et sauvegardes Amazon Redshift
Les instantanés sont des sauvegardes du cluster à un instant donné. Il existe deux types d’instantanés : automatisé et manuel. Amazon Redshift stocke ces instantanés en interne dans Amazon S3 en utilisant une connexion SSL (Secure Sockets Layer) chiffrée.
Amazon Redshift prend automatiquement des instantanés incrémentaux qui effectuent le suivi des modifications du cluster depuis l’instantané automatique précédent. Les instantanés automatiques conservent toutes les données requises pour restaurer un cluster à partir d’un instantané. Vous pouvez créer une planification d’instantané pour contrôler le moment où les instantanés automatiques sont créés, ou vous pouvez créer un instantané manuel à tout moment.
Lorsque vous restaurez à partir d’un instantané, Amazon Redshift crée un nouveau cluster et le rend disponible avant que toutes les données ne soient chargées ; en conséquence, vous pouvez commencer à interroger le nouveau cluster immédiatement. Le cluster diffuse les données à la demande à partir de l’instantané en réponse aux requêtes actives, puis charge le reste des données à l’arrière-plan.
Lorsque vous lancez un cluster, vous pouvez définir la période de conservation des instantanés automatiques et manuels. Vous pouvez modifier la période de conservation par défaut des instantanés automatiques et manuels en modifiant le cluster. Vous pouvez modifier la période de conservation d’un instantané manuel lorsque vous créez l’instantané ou en modifiant l’instantané.
Vous pouvez surveiller la progression des instantanés en consultant les détails d’instantané dans AWS Management Console ou en appelant describe-cluster-snapshots dans la CLI ou l’action d’API DescribeClusterSnapshots. Pour un instantané en cours, sont affichées les informations telles que la taille de l’instantané incrémentiel, la vitesse de transfert, le temps passé et la durée restante estimée.
Pour vous assurer que vos sauvegardes sont toujours disponibles pour votre cluster, Amazon Redshift stocke les instantanés dans un compartiment Amazon S3 géré en interne par Amazon Redshift. Pour gérer les frais de stockage, évaluez combien de jours vous devez conserver les instantanés automatisés et configurez leur période de conservation en conséquence. Supprimez tous instantanés manuels dont vous n’avez plus besoin. Pour de plus amples informations sur les coûts de stockage des sauvegardes, consultez la page Tarification Amazon Redshift
Vous pouvez également créer et restaurer des instantanés à l’aide de AWS Backup, un service entièrement géré qui vous permet de centraliser et d’automatiser la protection des données sur les services AWS dans le cloud et sur site. Pour plus d’informations, consultez Intégration AWS Backup avec Amazon Redshift. Pour plus d’informations sur AWS Backup, consultez Présentation de AWS Backup dans le Guide du développeur AWS Backup.
Utilisation des instantanés et des sauvegardes dans Amazon Redshift sans serveur
Amazon Redshift sans serveur, comme un cluster alloué, vous permet d’effectuer une sauvegarde en tant que représentation à un instant donné des objets et des données dans l’espace de noms. Il existe deux types de sauvegardes dans Amazon Redshift sans serveur : les instantanés créés manuellement et les points de récupération qu’Amazon Redshift sans serveur crée automatiquement. Vous trouverez plus d’informations sur l’utilisation des instantanés pour Amazon Redshift sans serveur sur Instantanés et points de récupération.
Vous pouvez également restaurer un instantané de cluster alloué dans un espace de noms sans serveur. Pour plus d’informations, consultez Restauration d’un espace de noms sans serveur à partir d’un instantané.
Instantanés automatiques
Lorsque les instantanés automatiques sont activés pour un cluster, Amazon Redshift prend régulièrement des instantanés de ce cluster. Par défaut, Amazon Redshift prend un instantané environ toutes les 8 heures ou tous les 5 Go par nœud de modifications de données, selon la première de ces deux éventualités. Si vos données sont supérieures à 5 Go * le nombre de nœuds, le délai le plus court entre deux créations automatiques d’instantanés est de 15 minutes. Vous pouvez également créer une planification d’instantané pour contrôler le moment où les instantanés automatiques sont créés. Si vous utilisez des programmations personnalisées, le délai minimum entre deux instantanés automatisés est d’une heure. Les instantanés automatiques sont activés par défaut lorsque vous créez un cluster.
Les instantanés automatiques sont supprimés après une période de conservation. La période de conservation par défaut est d’un jour, mais vous pouvez la modifier en utilisant la console Amazon Redshift ou par programmation en utilisant la CLI ou l’API Amazon Redshift.
Pour désactiver les instantanés automatiques, définissez la période de conservation sur zéro. Si vous désactivez les instantanés automatiques, Amazon Redshift cesse de prendre des instantanés et supprime les instantanés automatiques existants pour le cluster. Vous ne pouvez pas désactiver les instantanés automatisés pour les types de nœuds RA3. Vous pouvez définir une période de conservation automatisée de type nœud RA3 allant de 1 à 35 jours.
Seul Amazon Redshift peut supprimer un instantané automatisé ; vous ne pouvez pas les supprimer manuellement. Amazon Redshift supprime les instantanés automatisés à la fin de leur période de conservation, lorsque vous désactivez les instantanés automatisés pour le cluster ou lorsque vous supprimez le cluster. Amazon Redshift conserve le dernier instantané automatisé jusqu’à ce que vous désactiviez les instantanés automatisés ou supprimiez le cluster.
Si vous souhaitez conserver un instantané automatique pendant une période plus longue, vous pouvez en créer une copie en tant qu’instantané manuel. L’instantané automatique et conserver jusqu’à la fin de la période de conservation, mais l’instantané manuel correspondant est conservé jusqu’à ce que vous le supprimiez manuellement ou jusqu’à la fin de la période de conservation.
Planifications d’un instantané automatique
Pour contrôler précisément le moment où les instantanés sont pris, vous pouvez créer une planification d’instantané et attacher celle-ci à un ou plusieurs clusters. Lorsque vous modifiez une planification d’instantané, la planification est modifiée pour tous les clusters associés. Si aucune planification d’instantané n’est attachée à un cluster, ce dernier utilise la planification d’instantané automatisé par défaut.
Une planification d’instantané est un ensemble de règles de planification. Vous pouvez définir une règle de planification simple basée sur un intervalle spécifié, par exemple, toutes les 8 heures ou toutes les 12 heures. Vous pouvez également ajouter des règles pour prendre des instantanés certains jours de la semaine, à des heures spécifiques ou pendant des périodes spécifiques. Les règles peuvent également être définies à l’aide d’expressions cron de type Unix.
Format de la planification d’instantané
Sur la console Amazon Redshift, vous pouvez créer une planification d’instantané. Ensuite, vous pouvez attacher une planification à un cluster pour déclencher la création d’un instantané système. Une planification peut être attachée à plusieurs clusters et vous pouvez créer plusieurs définitions cron dans une planification pour déclencher un instantané.
Vous pouvez définir une planification pour vos instantanés en utilisant une syntaxe cron. La définition de ces planifications utilise une syntaxe cron
Les expressions cron modifiées Amazon Redshift se composent de 3 champs obligatoires, séparés par des espaces.
Syntaxe
cron(MinutesHoursDay-of-monthMonthDay-of-weekYear)
| Champs | Valeurs | Caractères génériques |
|---|---|---|
|
Minutes |
0–59 |
, - * / |
|
Heures |
0–23 |
, - * / |
|
Jour du mois |
1–31 |
, - * ? / L W |
|
Mois |
1–12 ou JAN–DEC |
, - * / |
|
Jour de la semaine |
1–7 ou dim.–sam. |
, - * ? L # |
|
Année |
1970-2199 |
, - * / |
Caractères génériques
-
Le caractère générique , (virgule) inclut des valeurs supplémentaires. Dans le champ
Day-of-week,MON,WED,FRIcorrespond à lundi, mercredi et vendredi. Le nombre total de valeurs est limité à 24 par champ. -
Le caractère générique - (tiret) spécifie des plages. Dans le champ
Hour, 1–15 correspond aux heures 1 à 15 du jour spécifié. -
Le caractère générique * (astérisque) inclut toutes les valeurs du champ. Dans le champ
Hours, * inclut chaque heure. -
Le caractère générique / (barre oblique) spécifie les incréments. Dans le champ
Hours, vous pouvez saisir1/10pour spécifier toutes les 10 heures à partir de la première heure de la journée (par exemple, 01 h 00, 11 h 00 et 21 h 00). -
Le caractère générique ? (point d’interrogation) indique l’un ou l’autre. Dans le champ
Day-of-month, vous pouvez entrer 7, et si peu importe pour vous le jour de la semaine auquel correspond le 7, vous pouvez entrer ? dans le champ Day-of-week (Jour de la semaine). -
Le caractère générique L dans les champs ou spécifie le dernier jour du mois ou de la semaine.
Day-of-monthDay-of-week -
Le caractère générique W dans le champ spécifie un jour de la semaine.
Day-of-monthDans le champDay-of-month,3Wspécifie le jour le plus proche du troisième jour de semaine du mois. -
Le caractère générique # dans le champ Jour de la semaine spécifie une certaine instance du jour de la semaine spécifié dans un mois. Par exemple, 3#2 correspond au deuxième mardi du mois : le 3 fait référence à mardi, car c’est le troisième jour de chaque semaine, et le 2 fait référence à la deuxième journée de ce type dans le mois.
Note
Si vous utilisez un caractère « # », vous ne pouvez définir qu’une seule expression dans le champ « day-of-week » (jour de la semaine). Par exemple, « 3#1,6#3 » n’est pas valide, car il est interprété comme deux expressions.
Limites
-
Vous ne pouvez pas spécifier les champs
Day-of-monthetDay-of-weekde la même expression cron. Si vous spécifiez une valeur dans l’un de ces champs, vous devez utiliser un signe ? (point d’interrogation) dans l’autre. -
Les programmes d’instantanés ne prennent pas en charge les fréquences suivantes :
-
Instantanés programmés à une fréquence supérieure à 1 par heure.
-
Instantanés programmés à une fréquence inférieure à 1 par jour (24 heures).
Si des planifications se chevauchent et entraînent la planification de plusieurs instantanés dans une fenêtre d’une heure, une erreur de validation se produit.
-
Lors de la création d’une planification, vous pouvez utiliser les exemples de chaînes cron suivants.
| Minutes | Heures | Jour de la semaine | Signification |
|---|---|---|---|
|
0 |
14-20/1 |
TUE |
Mardi, toutes les heures entre 14 h 00 et 20 h 00. |
|
0 |
21 |
MON-FRI |
Tous les soirs à 21 h 00 du lundi au vendredi. |
|
30 |
0/6 |
SAT-SUN |
Le samedi et le dimanche, toutes les 6 heures, 30 minutes après minuit (00 h 30). Le résultat est un instantané chaque jour à 00 h 30, 06 h 30, 12 h 30 et 18 h 30. |
|
30 |
12/4 |
* |
Tous les jours, toutes les 4 heures à partir de 12 h 30. Cela équivaut à 12 h 30, 16 h 30, 20 h 30. |
Par exemple, pour une exécution quotidienne toutes les 2 heures à partir de 15 h 15. Cela équivaut à 15 h 15, 17 h 15, 19 h 15, 21 h 15, 23 h 15, spécifiez :
cron(15 15/2 *)
Vous pourrez créer plusieurs définitions de planification cron dans une planification. Par exemple, la commande AWS CLI suivante contient deux planifications cron dans une planification.
create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"
Instantanés manuels
Vous pouvez prendre un instantané manuel à tout moment. Par défaut, les instantanés manuels sont conservés indéfiniment, même après la suppression de votre cluster. Vous pouvez spécifier la période de conservation lorsque vous créez un instantané manuel ou vous pouvez changer la période de conservation en modifiant l’instantané. Pour plus d’informations sur la modification de la durée de conservation, consultez Modification de la période de conservation d’un instantané manuel.
Si un instantané est supprimé, vous ne pouvez pas démarrer de nouvelles opérations qui référencent cet instantané. Cependant, si une opération de restauration est en cours, elle s’exécute intégralement.
Amazon Redshift dispose d’un quota qui limite le nombre total d’instantanés manuels que vous pouvez créer ; ce quota est par compte AWS par région AWS. Le quota par défaut est répertorié dans Quotas et limites d’Amazon Redshift.
Stockage d'instantanés
Comme les instantanés entraînent des frais de stockage, il est important que vous les supprimiez lorsque vous n’en avez plus besoin. Amazon Redshift supprime les instantanés automatisés et manuels à la fin de leurs périodes de conservation respectives. Vous pouvez également supprimer les instantanés manuels à l’aide de la AWS Management Console ou de la commande CLI batch-delete-cluster-snapshots.
Vous pouvez modifier la période de conservation d’un instantané manuel en modifiant ses paramètres.
Vous pouvez obtenir des informations sur la quantité de stockage consommée par vos instantanés à l’aide de la console Amazon Redshift ou de la commande describe-storage de la CLI.
Exclusion des tables des instantanés
Par défaut, toutes les tables permanentes définies par l’utilisateur sont incluses dans les instantanés. Si une table, par exemple une table intermédiaire, n’a pas besoin d’être sauvegardée, vous pouvez réduire considérablement le temps nécessaire à la création d’instantanés et à la restauration à partir d’instantanés. Vous réduisez également l’espace de stockage sur Amazon S3 à l’aide d’une table sans sauvegarde. Pour créer une table sans sauvegarde, incluez le paramètre BACKUP NO lorsque vous créez la table. Pour plus d’informations, consultez CREATE TABLE et CREATE TABLE AS dans le Manuel du développeur de base de données Amazon Redshift.
Note
Les tables sans sauvegarde ne sont pas prises en charge pour les clusters RA3 alloués et les groupes de travail Amazon Redshift sans serveur. Une table marquée sans sauvegarde dans un cluster RA3 ou un groupe de travail sans serveur est traitée comme une table permanente qui sera toujours sauvegardée lors de la prise d’un instantané, et toujours restaurée lors de la restauration à partir d’un instantané. Pour éviter les coûts liés aux instantanés pour les tables sans sauvegarde, tronquez-les avant de prendre un instantané.