Instantanés et sauvegardes Amazon Redshift - Amazon Redshift

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.

Instantanés et sauvegardes Amazon Redshift

Présentation des instantanés

Les snapshots sont point-in-time des sauvegardes d'un cluster. 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 suivre la progression des instantanés en consultant les détails des instantanés dans la AWS Management Console CLI ou describe-cluster-snapshotsen appelant l'action DescribeClusterSnapshotsAPI. 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.

Utilisation de snapshots et de sauvegardes dans Amazon Redshift Serverless

Amazon Redshift Serverless, comme un cluster provisionné, vous permet d'effectuer une sauvegarde en tant que point-in-time représentation des objets et des données de l'espace de noms. Il existe deux types de sauvegardes dans Amazon Redshift Serverless : les instantanés créés manuellement et les points de restauration créés automatiquement par Amazon Redshift Serverless. Pour plus d'informations sur l'utilisation des instantanés pour Amazon Redshift Serverless, consultez la page Utilisation des instantanés et des points de restauration.

Vous pouvez également restaurer un instantané d'un cluster provisionné vers un espace de noms sans serveur. Pour plus d'informations, consultez Restaurer 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 de type Unix modifiée. Vous spécifiez l’heure en heure UTC (temps universel coordonné). Vous pouvez créer des planifications avec une fréquence maximum d’une heure et une précision minimum d’une minute.

Les expressions cron modifiées Amazon Redshift se composent de 3 champs obligatoires, séparés par des espaces.

Syntaxe

cron(Minutes Hours Day-of-month Month Day-of-week Year)
Champs Valeurs Caractères génériques

Minutes

0–59

, - * /

Heures

0 – 23

, - * /

D ay-of-month

1–31

, - * ? / L W

Mois

1–12 ou JAN–DEC

, - * /

D ay-of-week

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,FRI correspond à 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 saisir 1/10 pour 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 Day-of-month champ, tu pouvais saisir 7, et si tu ne te souciais pas du jour de la semaine le septième, tu pourrais entrer ? dans le ay-of-week champ D.

  • 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-month Dans le champ Day-of-month, 3W spécifie le jour le plus proche du troisième jour de semaine du mois.

  • Le caractère générique # dans le ay-of-week champ D indique une certaine instance du jour de la semaine spécifié dans un délai d'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 day-of-week champ. 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-month et Day-of-week de 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 AWS CLI commande suivante contient deux programmes cron dans un seul programme.

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 de clichés manuels que vous pouvez créer ; ce quota est fixé par AWS compte et par région. AWS Le quota par défaut est répertorié dans Quotas et limites d’Amazon Redshift.

Gestion du stockage des 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 des instantanés manuels à l'aide de la commande AWS Management Console ou de la batch-delete-cluster-snapshotsCLI.

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.

Copie d’instantanés sur une autre région AWS

Vous pouvez configurer Amazon Redshift pour copier automatiquement les instantanés (automatisés ou manuels) d'un cluster vers une autre région. AWS Lorsqu'un instantané est créé dans la AWS région principale du cluster, il est copié dans une AWS région secondaire. Les deux AWS régions sont connues respectivement sous le nom de AWS région source et AWS région de destination. Si vous stockez une copie de vos instantanés dans une autre AWS région, vous pouvez restaurer votre cluster à partir de données récentes si quelque chose affecte la AWS région principale. Vous pouvez configurer votre cluster pour copier des instantanés dans une seule AWS région de destination à la fois. Pour obtenir une liste des régions Amazon Redshift, reportez-vous à Régions et points de terminaison dans Référence générale d'Amazon Web Services.

Lorsque vous autorisez Amazon Redshift à copier automatiquement des instantanés vers une autre AWS région, vous spécifiez la région de destination AWS dans laquelle les instantanés seront copiés. Pour les instantanés automatisés, vous pouvez également spécifier la période de conservation pour les conserver dans la AWS région de destination. Une fois qu'un instantané automatique est copié dans la AWS région de destination et qu'il atteint la période de conservation de cette région, il est supprimé de la AWS région de destination. Cela permet de limiter l’utilisation des instantanés. Pour conserver les instantanés automatisés plus ou moins longtemps dans la AWS région de destination, modifiez cette période de conservation.

La période de conservation que vous définissez pour les instantanés automatisés copiés dans la AWS région de destination est distincte de la période de conservation des instantanés automatiques dans la région source AWS . La période de conservation par défaut pour les instantanés copiés est de 7 jours. Cette période de sept jours s’applique uniquement aux instantanés automatiques. Que ce soit dans les régions AWS source ou de destination, les instantanés manuels sont supprimés à la fin de leur période de conservation ou lorsque vous les supprimez manuellement.

Vous pouvez désactiver la copie d’instantané automatique d’un cluster à tout moment. Lorsque vous désactivez cette fonctionnalité, les instantanés ne sont plus copiés de la AWS région source vers la région de destination AWS . Tous les instantanés automatisés copiés dans la AWS région de destination sont supprimés lorsqu'ils atteignent la limite de durée de conservation, sauf si vous en créez manuellement des copies instantanées. Ces instantanés manuels, ainsi que tous les instantanés manuels copiés depuis la région de destination, sont conservés dans AWS la région de destination AWS jusqu'à ce que vous les supprimiez manuellement.

Pour modifier la AWS région de destination dans laquelle vous copiez les instantanés, désactivez d'abord la fonction de copie automatique. Réactivez-la ensuite, en spécifiant la nouvelle région AWS de destination.

Une fois qu'un instantané est copié dans la AWS région de destination, il devient actif et disponible à des fins de restauration.

Pour copier des instantanés de clusters AWS KMS chiffrés vers une autre AWS région, créez une autorisation permettant à Amazon Redshift d'utiliser une clé gérée par le client dans la région de destination. AWS Choisissez ensuite cette autorisation lorsque vous activez la copie des instantanés dans la AWS région source. Pour plus d’informations sur la configuration des autorisations de copie d’instantané, consultez Copier AWS KMS des instantanés chiffrés vers une autre région AWS.

Restauration d’un cluster à partir d’un instantané

Un instantané contient des données issues de n’importe quelle base de données exécutée sur votre cluster. Il contient également des informations sur votre cluster, y compris le nombre de nœuds, le type de nœud et le nom de l’administrateur. Si vous restaurez votre cluster à partir d’un instantané, Amazon Redshift utilise les informations du cluster pour en créer un nouveau. Ensuite, il restaure toutes les bases de données à partir des données de l’instantané.

Pour le nouveau cluster créé à partir de l’instantané d’origine, vous pouvez choisir la configuration, par exemple le type de nœud et le nombre de nœuds. Le cluster est restauré dans la même région AWS et la même zone de disponibilité, sauf si vous spécifiez une autre zone de disponibilité dans votre demande. Lorsque vous restaurez un cluster à partir d’un instantané, vous pouvez, si vous le souhaitez, choisir une piste de maintenance compatible pour le nouveau cluster.

Note

Lorsque vous restaurez un instantané dans un cluster avec une configuration différente, l’instantané doit être issu d’un cluster dont la version est 1.0.10013 ou ultérieure.

Lorsqu’une restauration est en cours, les événements sont généralement émis dans l’ordre suivant :

  1. RESTORE_START – REDSHIFT-EVENT-2008 envoyé lorsque le processus de restauration commence.

  2. RESTORE_SUCESS – REDSHIFT-EVENT-3003 envoyé lorsque le nouveau cluster a été créé.

    Le cluster est disponible pour les requêtes.

  3. DATA_TRANSFER_COMPLETED – REDSHIFT-EVENT-3537 envoyé lorsque le transfert de données est terminé.

Note

Les clusters RA3 émettent uniquement des événements RESTORE_START et RESTORE_SUCESS. Il n’y a pas de transfert de données explicite à effectuer après la réussite d’un RESTORE, car les types de nœuds RA3 stockent les données dans le stockage géré par Amazon Redshift. Avec les nœuds RA3, les données sont transférées en continu entre les nœuds RA3 et le stockage géré par Amazon Redshift dans le cadre du traitement normal des requêtes. Les nœuds RA3 mettent en cache les données sensibles localement et conservent automatiquement les blocs moins fréquemment interrogés dans le stockage géré par Amazon Redshift.

Vous pouvez suivre la progression d'une restauration en appelant l'opération DescribeClustersAPI ou en consultant les détails du cluster dans le AWS Management Console. Pour une restauration en cours, sont affichées les informations telles que la taille des données de l’instantané, la vitesse de transfert, le temps passé et la durée restante estimée. Pour une description de ces mesures, voir RestoreStatus.

Vous ne pouvez pas utiliser un instantané pour restaurer l’état antérieur d’un cluster actif.

Note

Lorsque vous restaurez un instantané sur un nouveau cluster, les groupe de sécurité et groupe de paramètres par défaut sont utilisés, sauf si vous spécifiez des valeurs différentes.

Vous pouvez choisir de restaurer un instantané dans un cluster avec une autre configuration pour les raisons suivantes :

  • Lorsqu’un cluster est composé de types de nœud plus petits et que vous souhaitez les regrouper dans un type de nœud plus important avec moins de nœuds.

  • Lorsque vous avez surveillé votre charge de travail et déterminé la nécessité de passer à un type de nœud avec davantage d’UC et de stockage.

  • Lorsque vous souhaitez mesurer les performances des charges de travail de test avec différents types de nœud.

La restauration comporte les contraintes suivantes :

  • La nouvelle configuration de nœud doit inclure suffisamment de stockage pour les données existantes. Même lorsque vous ajoutez des nœuds, votre nouvelle configuration peut manquer de stockage en raison de la manière dont les données sont redistribuées.

  • L’opération de restauration vérifie si l’instantané a été créé sur une version de cluster compatible avec la version du nouveau cluster. Si le nouveau cluster a un niveau de version trop précoce, alors l’opération de restauration échoue et renvoie d’autres informations dans un message d’erreur.

  • Les configurations possibles (nombre de nœuds et type de nœud) par rapport auxquelles vous pouvez effectuer la restauration sont déterminées par le nombre de nœuds dans le cluster d’origine et le type de nœud cible du nouveau cluster. Pour déterminer les configurations possibles disponibles, vous pouvez utiliser la console Amazon Redshift ou la describe-node-configuration-options AWS CLI commande avec. action-type restore-cluster Pour plus d’informations sur la restauration avec la console Amazon Redshift, consultez Restauration d’un cluster à partir d’un instantané.

Les étapes suivantes prennent un cluster avec plusieurs nœuds et l’intègre à un type de nœud plus important avec un nombre de nœuds plus petit à l’aide de l’ AWS CLI. Pour cet exemple, nous allons commencer par un cluster source composé de 24 nœuds ds2.xlarge. Dans le cas présent, supposons que nous ayons créé un instantané de ce cluster et que nous souhaitions le restaurer dans un type de nœud plus important.

  1. Exécutez la commande suivante pour obtenir les détails de notre cluster ds2.xlarge composé de 24 nœuds.

    aws redshift describe-clusters --region eu-west-1 --cluster-identifier mycluster-123456789012
  2. Exécutez la commande suivante pour obtenir les détails de l’instantané.

    aws redshift describe-cluster-snapshots --region eu-west-1 --snapshot-identifier mycluster-snapshot
  3. Exécutez la commande suivante afin de décrire les options disponibles pour cet instantané.

    aws redshift describe-node-configuration-options --snapshot-identifier mycluster-snapshot --region eu-west-1 --action-type restore-cluster

    Cette commande renvoie une liste d’options avec les types de nœud recommandés, le nombre de nœuds et l’utilisation du disque pour chaque option. Dans le cadre de cet exemple, la commande précédente répertorie les configurations de nœud possibles suivantes. Nous choisissons de restaurer dans un cluster ds2.8xlarge composé de trois nœuds.

    { "NodeConfigurationOptionList": [ { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "ds2.xlarge", "NumberOfNodes": 24 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "ds2.xlarge", "NumberOfNodes": 48 }, { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "ds2.8xlarge", "NumberOfNodes": 3 }, { "EstimatedDiskUtilizationPercent": 48.94601106643677, "NodeType": "ds2.8xlarge", "NumberOfNodes": 4 }, { "EstimatedDiskUtilizationPercent": 39.156808853149414, "NodeType": "ds2.8xlarge", "NumberOfNodes": 5 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "ds2.8xlarge", "NumberOfNodes": 6 } ] }
  4. Exécutez la commande suivante pour restaurer l’instantané dans la configuration de cluster que nous avons choisie. Une fois ce cluster restauré, nous avons le même contenu que le cluster source, mais les données ont été regroupées dans trois nœuds ds2.8xlarge.

    aws redshift restore-from-cluster-snapshot --region eu-west-1 --snapshot-identifier mycluster-snapshot --cluster-identifier mycluster-123456789012-x --node-type ds2.8xlarge --number-of-nodes 3

Si vous avez des nœuds réservés, par exemple des nœuds réservés DS2 ou DC2, vous pouvez effectuer une mise à niveau vers des nœuds réservés RA3. Vous pouvez le faire lorsque vous effectuez une restauration à partir d’un instantané ou lorsque vous effectuez un redimensionnement élastique. Vous pouvez utiliser la console pour vous guider dans ce processus. Pour plus d’informations sur la mise à niveau vers des nœuds RA3, consultez Mise à niveau vers des types de nœuds RA3.

Restauration d’une table à partir d’un instantané

Vous pouvez restaurer une table à partir d’un instantané au lieu de restaurer l’intégralité du cluster. Lorsque vous restaurez une table unique à partir d’un instantané, vous indiquez l’instantané source, la base de données, le schéma et le nom de la table, ainsi que la base de données cible, le schéma et un nouveau nom de table pour la table restaurée.

Le nouveau nom de table ne peut pas être le nom d’une table existante. Pour remplacer une table existante par une table restaurée à partir d’un instantané, renommez ou supprimez la table existante avant de restaurer la table à partir de l’instantané.

La table cible est créée à l’aide des définitions de colonne de la table source, des attributs de table et des attributs de colonne à l’exception des clés étrangères. Pour éviter les conflits liés aux dépendances, la table cible n’hérite pas les clés étrangères de la table source. Toutes les dépendances, telles que les vues ou les autorisations accordées sur la table source, ne sont pas appliquées à la table cible.

Si le propriétaire de la table source existe, l’utilisateur de la base de données est le propriétaire de la table restaurée, à condition que l’utilisateur dispose des autorisations suffisantes pour devenir le propriétaire d’une relation du schéma et de la base de données spécifiés. Sinon, la table restaurée appartient à l’administrateur qui a été créé lorsque le cluster a été lancé.

La table restaurée retourne à l’état où elle était au moment de la sauvegarde. Cela inclut les règles de visibilité des transactions, définies par l’adhésion d’Amazon Redshift au principe d’isolement sérialisable, qui signifie que les données sont immédiatement visibles des transactions en cours démarrées après la sauvegarde.

La restauration d’une table à partir d’un instantané présente les limitations suivantes :

  • Vous ne pouvez restaurer une table que sur le cluster actif en cours d’exécution, et à partir d’un instantané de ce cluster.

  • Vous ne pouvez restaurer qu’une seule table à la fois.

  • Vous ne pouvez pas restaurer une table à partir d’un instantané de cluster pris avant un redimensionnement. Néanmoins, vous pouvez restaurer une table après un redimensionnement élastique si le type de nœud n’a pas changé.

  • Toutes les dépendances, telles que les vues ou les autorisations accordées sur la table source, ne sont pas appliquées à la table cible.

  • Si la sécurité au niveau des lignes est activée pour une table en cours de restauration, Amazon Redshift restaure la table dans les mêmes conditions, avec la sécurité au niveau des lignes activée.

Pour restaurer une table à partir d’un instantané
  1. Connectez-vous à la console Amazon Redshift AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/redshiftv2/.

  2. Dans le menu de navigation, choisissez Clusters, puis choisissez le cluster que vous souhaitez utiliser pour restaurer une table.

  3. Pour Actions, choisissez Restaurer une table pour afficher la page Restaurer une table.

  4. Entrez les informations sur l’instantané, la table source et la table cible à utiliser, puis choisissez Restaurer la table.

Exemple : restauration d'une table à partir d'un instantané à l'aide du AWS CLI

L'exemple suivant utilise la restore-table-from-cluster-snapshot AWS CLI commande pour restaurer la my-source-table table à partir du sample-database schéma dumy-snapshot-id. Vous pouvez utiliser cette AWS CLI commande describe-table-restore-status pour vérifier l'état de votre opération de restauration. L’exemple restaure l’instantané sur le cluster mycluster-example avec le nouveau nom de table my-new-table.

aws redshift restore-table-from-cluster-snapshot --cluster-identifier mycluster-example --new-table-name my-new-table --snapshot-identifier my-snapshot-id --source-database-name sample-database --source-table-name my-source-table

Partage d’un instantané

Vous pouvez partager un instantané manuel existant avec d'autres comptes AWS clients en autorisant l'accès à l'instantané. Vous pouvez en autoriser jusqu'à 20 pour chaque instantané et 100 pour chaque clé AWS Key Management Service (AWS KMS). En d'autres termes, si vous avez 10 instantanés chiffrés à l'aide d'une seule clé KMS, vous pouvez autoriser 10 AWS comptes à restaurer chaque instantané, ou d'autres combinaisons qui ajoutent jusqu'à 100 comptes et ne dépassent pas 20 comptes pour chaque instantané. Une personne connectée comme utilisateur dans l’un des comptes autorisés peut alors décrire l’instantané ou le restaurer pour créer un nouveau cluster Amazon Redshift sous son compte. Par exemple, si vous utilisez des comptes AWS clients distincts pour la production et les tests, un utilisateur peut se connecter à l'aide du compte de production et partager un instantané avec les utilisateurs du compte de test. Une personne connectée comme utilisateur d’un compte tests peut alors restaurer l’instantané pour créer un nouveau cluster, détenu par le compte tests, à des fins de tests ou de diagnostic.

Un instantané manuel appartient en permanence au compte AWS client sous lequel il a été créé. Seuls les utilisateurs du compte détenteurs de l’instantané peuvent autoriser d’autres comptes à accéder à l’instantané ou à révoquer les autorisations. Les utilisateurs des comptes autorisés peuvent uniquement décrire ou restaurer un instantané qu’ils ont partagé ; ils ne peuvent pas copier ou supprimer des instantanés qu’ils ont partagés. Une autorisation reste en vigueur jusqu’à ce que le propriétaire de l’instantané la révoque. Si une autorisation est révoquée, l’utilisateur précédemment autorisé perd la visibilité de l’instantané et ne peut pas lancer de nouvelles actions faisant référence à l’instantané. Si le compte est en train de restaurer l’instantané lorsque l’accès est révoqué, la restauration s’exécute jusqu’à la fin. Vous ne pouvez pas supprimer un instantané pendant qu’il a des autorisations actives ; vous devez d’abord révoquer toutes les autorisations.

AWS les comptes clients sont toujours autorisés à accéder aux instantanés détenus par le compte. Les tentatives d’autorisation ou de révocation de l’accès au compte propriétaire entraînent une erreur. Vous ne pouvez pas restaurer ou décrire un instantané appartenant à un compte AWS client inactif.

Une fois que vous avez autorisé l'accès à un compte AWS client, aucun utilisateur de ce compte ne peut effectuer d'action sur l'instantané, sauf s'il assume un rôle dans le cadre de politiques le permettant.

  • Les utilisateurs du compte propriétaire de l’instantané ne peuvent autoriser et révoquer l’accès à un instantané que s’ils assument un rôle avec une politique IAM qui leur permet d’exécuter ces actions avec une spécification de ressource incluant l’instantané. Par exemple, la politique suivante permet à un utilisateur ou à un rôle dans le AWS compte 012345678912 d'autoriser d'autres comptes à accéder à un instantané nommé my-snapshot20130829 :

    { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:AuthorizeSnapshotAccess", "redshift:RevokeSnapshotAccess" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829" ] } ] }
  • Les utilisateurs d'un AWS compte avec lequel un instantané a été partagé ne peuvent pas effectuer d'actions sur cet instantané s'ils ne disposent pas des autorisations les autorisant. Vous pouvez le faire en attribuant la politique à un rôle et en assumant ce rôle.

    • Pour afficher ou décrire un instantané, ils doivent avoir une politique IAM autorisant l’action DescribeClusterSnapshots. Le code suivant en présente un exemple :

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusterSnapshots" ], "Resource":[ "*" ] } ] }
    • Pour restaurer un instantané, un utilisateur doit assumer un rôle avec une politique IAM permettant l’action RestoreFromClusterSnapshot et ayant un élément de ressource qui couvre à la fois le cluster qu’il crée et l’instantané. Par exemple, si un utilisateur du compte 012345678912 a partagé l’instantané my-snapshot20130829 avec le compte 219876543210, pour pouvoir créer un cluster en restaurant l’instantané, un utilisateur du compte 219876543210 doit assumer un rôle avec un politique telle que la suivante :

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:RestoreFromClusterSnapshot" ], "Resource":[ "arn:aws:redshift:us-east-1:012345678912:snapshot:*/my-snapshot20130829", "arn:aws:redshift:us-east-1:219876543210:cluster:from-another-account" ] } ] }
    • Une fois que l'accès à un instantané a été révoqué depuis un AWS compte, aucun utilisateur de ce compte ne peut accéder à l'instantané. Cela s’applique même si ces comptes ont des politiques IAM qui autorisent des actions sur la ressource d’instantané précédemment partagée.