Instantanés Amazon Redshift - Amazon Redshift

Instantanés Amazon Redshift

Présentation

Les instantanés sont des sauvegardes du cluster à un instant donné. Il existe deux types d'instantanés : automatiques et manuels. Amazon Redshift stocke ces instantanés en interne dans Amazon S3 à l'aide d'une connexion chiffrée SSL (Secure Sockets Layer).

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 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 l'interface de ligne de commande 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. Amazon Redshift fournit un stockage gratuit pour les instantanés, égal à la capacité de stockage de votre cluster, jusqu'à ce que vous supprimiez le cluster. Une fois que vous atteignez la limite de stockage gratuit des instantanés, tout stockage supplémentaire vous est facturé au prix normal. Pour cette raison, vous devez évaluer le nombre de jours pendant lesquels vous devez garder les instantanés automatiques et configurer leur période de conservation en conséquence, ainsi que supprimer les instantanés manuels dont vous n'avez plus besoin. Pour les informations de tarification, consultez la page détaillée du produit Amazon Redshift.

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. Vous pouvez également créer une planification d'instantané pour contrôler le moment où les instantanés automatiques sont créés. 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 l'interface de ligne de commande 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.

Seul Amazon Redshift peut supprimer un instantané automatique ; vous ne pouvez pas les supprimer manuellement. Amazon Redshift supprime les instantanés automatiques à la fin de la période de rétention d'un instantané, lorsque vous désactivez les instantanés automatiques pour le cluster ou que vous supprimez le cluster. Amazon Redshift conserve l'instantané automatique le plus récent jusqu'à ce que vous désactiviez les instantanés automatiques ou que vous 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-week)
Champs Valeurs Caractères génériques

Minutes

0–59

 heures

0–23

, - * /

Day-of-week

1–7 ou SUN-SAT

, - * /

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

Restrictions

  • Les planifications d'instantané qui entraînent des fréquences de sauvegarde inférieures à 1 heure ou supérieures à 24 heures ne sont pas prises en charge. 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

Du lundi au vendredi, tous les soirs à 21 h 00.

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

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 Limites de service AWS.

Gestion du stockage des instantanés

Les instantanés entraînant des frais de stockage, il est important que vous les supprimiez lorsque vous n'en avez plus besoin. Amazon Redshift supprime les instantanés automatiques et manuels à la fin de leur période de conservation respective. Vous pouvez également supprimer les instantanés manuels à l'aide d'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 l'interface de ligne de commande.

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 Amazon Redshift Database Developer Guide.

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

Vous pouvez configurer Amazon Redshift pour qu'il copie automatiquement les instantanés (automatiques ou manuels) d'un cluster dans une autre région AWS. Lorsqu'un instantané est créé dans la région AWS principale du cluster, il est copié dans une région AWS secondaire. Les deux régions AWS sont nommées respectivement Région AWS source et Région AWS de destination. En stockant une copie de vos instantanés dans une autre région AWS, vous avez la possibilité de restaurer votre cluster à partir des données récentes si quoi que ce soit affecte la région AWS principale. Vous pouvez configurer votre cluster pour ne copier les instantanés que dans une seule région AWS de destination à la fois. Pour obtenir la liste des régions Amazon Redshift, veuillez consulter Régions et points de terminaison dans le Référence générale d'Amazon Web Services.

Lorsque vous activez Amazon Redshift pour qu'il copie automatiquement les instantanés dans une autre région AWS, vous spécifiez la région AWS de destination dans laquelle vous souhaitez que les instantanés soient copiés. Pour les instantanés automatiques, vous pouvez également spécifier la période de conservation pendant laquelle ils doivent être conservés dans la région AWS de destination. Une fois qu'un instantané automatique a été copié dans la région AWS de destination et qu'il a atteint la durée de conservation définie, il est supprimé de la région AWS de destination. Cela permet de limiter l'utilisation des instantanés. Pour conserver les instantanés automatiques pendant une durée plus courte ou plus longue dans la région AWS de destination, modifiez cette période de conservation.

La période de conservation que vous avez définie pour les instantanés automatiques copiés sur la région AWSde destination est distincte de celle des instantanés automatiques de la région AWS source. 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 région AWS source vers la région AWS de destination. Les instantanés automatiques copiés dans la région AWS de destination sont supprimés dès qu'ils atteignent la limite de leur période de conservation, sauf si vous en créez des copies d'instantané manuel. Ces instantanés manuels, et les instantanés manuels qui ont été copiés à partir de la région AWS de destination, sont conservés dans la région AWS de destination jusqu'à ce que vous les supprimiez manuellement.

Pour modifier la région AWS de destination dans laquelle les instantanés sont copiés, commencez par désactiver la fonction de copie automatique. Réactivez-la ensuite, en spécifiant la nouvelle région AWS de destination.

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

Pour copier des instantanés pour des clusters chiffrés par AWS KMS– dans une autre région AWS, créez une autorisation permettant à Amazon Redshift d'utiliser une clé principale de client KMS (CMK) dans la région AWS de destination. Choisissez ensuite cette autorisation lorsque vous activez la copie des instantanés dans la région AWS source. Pour plus d'informations sur la configuration des autorisations de copie d'instantané, consultez Copie d'instantanés chiffrés par AWS KMS dans 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 d'utilisateur maître. 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 dans une zone de disponibilité aléatoire choisie par le système, 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.

Vous pouvez surveiller la progression d'une restauration en appelant l'action d'API DescribeClusters ou en affichant les détails du cluster dans 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 métriques, veuillez consulter 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.

  • 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 commande describe-node-configuration-options de l'AWS CLI avec action-type restore-cluster. Pour plus d'informations sur la restauration avec la console Amazon Redshift, veuillez consulter 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

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 seule table à partir d'un instantané, vous spécifiez l'instantané source, la base de données, le schéma et le nom de la table, ainsi que le cluster 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 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'utilisateur principal 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 de 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.

Note

Une nouvelle console est disponible pour Amazon Redshift. Selon la console que vous utilisez, choisissez les instructions Nouvelle console ou Console d'origine. Les instructions Nouvelle console sont ouvertes par défaut.

Pour restaurer une table à partir d'un instantané

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

  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.

Pour restaurer une table à partir d'un instantané à l'aide de la console Amazon Redshift

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

  2. Choisissez Clusters et choisissez un cluster.

  3. Choisissez l'onglet Restauration de table.

  4. Choisissez Restaurer une table.

  5. Dans le voletRestauration de table, sélectionnez une plage de dates contenant l'instantané de cluster à partir duquel vous souhaitez effectuer la restauration. Par exemple, vous pouvez sélectionner Last 1 Week pour les instantanés de cluster pris la semaine précédente.

  6. Ajoutez les informations suivantes :

    • A partir de l'instantané – l'identifiant de l'instantané de cluster qui contient la table à partir de laquelle effectuer la restauration.

    • Table source à partir de laquelle la restauration est effectuée

      • Base de données – le nom de la base de données de l'instantané de cluster qui contient la table à partir de laquelle effectuer la restauration.

      • Schéma – le nom du schéma de la base de données de l'instantané de cluster qui contient la table à partir de laquelle effectuer la restauration.

      • Table – le nom de la table de l'instantané de cluster à partir de laquelle effectuer la restauration.

    • Table cible dans laquelle la restauration est effectuée

      • Base de données – le nom de la base de données du cluster cible sur laquelle restaurer la table.

      • Schéma – le nom du schéma de la base de données du cluster cible sur lequel restaurer la table.

      • Nouveau nom de la table – le nouveau nom de la table restaurée. Ce nom ne peut pas être le nom d'une table existante de la base de données cible.

  7. Choisissez Restaurer pour restaurer la table.

Si vous avez restauré au moins une table à partir d'un instantané de cluster, vous pouvez copier les valeurs d'une précédente demande de restauration dans une nouvelle demande de restauration de table. Cette approche signifie que vous n'avez pas à entrer à nouveau les valeurs qui seront identiques dans plusieurs opérations de restauration de table.

Pour copier depuis une demande précédente de restauration de table vers une nouvelle opération de restauration de table :

  1. Sous l'onglet Restauration de table, sélectionnez un état de restauration de table.

  2. Choisissez Copier la demande de restauration.

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

L'exemple suivant utilise la commande restore-table-from-cluster-snapshot AWS CLI pour restaurer la table my-source-table à partir du schéma sample-database de my-snapshot-id. 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 avec d'autres comptes clients AWS en autorisant l'accès à l'instantané. Vous pouvez autoriser jusqu'à 20 comptes pour chaque instantané et 100 comptes pour chaque clé AWS Key Management Service (AWS KMS). Autrement dit, si vous avez 10 instantanés chiffrés avec une seule clé KMS, vous pouvez autoriser 10 comptes AWS pour restaurer chaque instantané, ou autres combinaisons qui s'ajoutent jusqu'à 100 comptes, sans dépasser 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 distincts pour la production et les tests, un utilisateur peut se connecter à l'aide du compte production et partager un instantané avec les utilisateurs du compte tests. 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 est détenu en permanence par le compte client AWS 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.

Les comptes clients AWS 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é détenu par un compte client AWS inactif.

Une fois que vous avez autorisé l'accès à un compte client AWS, aucun utilisateur IAM de ce compte ne peut effectuer d'actions sur l'instantané, à moins de disposer des stratégies IAM qui l'y autorisent.

  • Les utilisateurs IAM du compte propriétaire de l'instantané ne peuvent autoriser et révoquer l'accès à un instantané que s'ils ont une stratégie IAM qui leur permet d'exécuter ces actions avec une spécification de ressource incluant l'instantané. Par exemple, la stratégie suivante permet à un utilisateur d'un compte AWS 012345678912 d'autoriser les 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 IAM d'un compte AWS avec lequel un instantané a été partagé ne peuvent pas exécuter d'actions sur cet instantané, à moins d'avoir les stratégies IAM autorisant ces actions :

    • Pour afficher ou décrire un instantané, ils doivent avoir une stratégie 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é, les utilisateurs doivent avoir une stratégie IAM permettant l'action RestoreFromClusterSnapshot et ayant un élément de ressource qui couvre à la fois le cluster qu'ils créent 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 avoir une stratégie 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 qu'un accès à un instantané a été annulé pour un compte AWS, aucun utilisateur de ce compte ne peut accéder à l'instantané. Cela s'applique même s'ils ont des stratégies IAM qui autorisent des actions sur la ressource d'instantané précédemment partagée.