Snapshot e backup di Amazon Redshift - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Snapshot e backup di Amazon Redshift

Panoramica degli snapshot

Le istantanee sono point-in-time backup di un cluster. Esistono due tipi di snapshot: automatici e manuali. Amazon Redshift memorizza questi snapshot internamente in Amazon S3 utilizzando una connessione SSL (Secure Sockets Layer) crittografata.

Amazon Redshift acquisisce automaticamente snapshot incrementali che tengono traccia delle modifiche al cluster dal momento dell'esecuzione dello snapshot automatico precedente. Gli snapshot automatizzati conservano tutti i dati necessari per ripristinare un cluster da uno snapshot. Puoi creare una pianificazione degli snapshot per controllare quando vengono eseguiti gli snapshot automatici oppure acquisire uno snapshot manuale in qualsiasi momento.

Quando si esegue il ripristino da uno snapshot, Amazon Redshift crea un nuovo cluster e lo rende disponibile prima che tutti i dati vengano caricati, in modo che sia possibile iniziare immediatamente a eseguire query sul nuovo cluster. Il cluster trasmette i dati on demand dallo snapshot in risposta alle query attive, quindi carica i dati rimanenti in background.

Quando avvii un cluster, puoi impostare il periodo di conservazione degli snapshot automatici e manuali; È possibile modificare il periodo di conservazione di default degli snapshot automatici e manuali modificando il cluster. Puoi modificare il periodo di conservazione di uno snapshot manuale al momento della sua creazione oppure modificando lo snapshot stesso.

È possibile monitorare l'avanzamento delle istantanee visualizzando i dettagli dell'istantanea nell' AWS Management Console azione describe-cluster-snapshots nella CLI o nell'azione dell'API Snapshots. DescribeCluster Per uno snapshot in corso, vengono visualizzate informazioni come la dimensione dello snapshot incrementale, la velocità di trasferimento, il tempo trascorso e il tempo rimanente stimato.

Per garantire che i backup siano sempre disponibili per il cluster, Amazon Redshift archivia gli snapshot in un bucket Amazon S3 gestito internamente da Amazon Redshift. Per gestire gli addebiti di archiviazione, valutare il numero di giorni per cui è necessario conservare gli snapshot automatici e configurare il periodo di conservazione di conseguenza. Eliminare gli snapshot manuali non più necessari. Per ulteriori informazioni sui costi di archiviazione di backup, consultare la pagina dei prezzi di Amazon Redshift.

Utilizzo di istantanee e backup in Amazon Redshift Serverless

Amazon Redshift Serverless, come un cluster con provisioning, consente di eseguire un backup come point-in-time rappresentazione degli oggetti e dei dati nel namespace. Esistono due tipi di backup in Amazon Redshift Serverless: istantanee create manualmente e punti di ripristino creati automaticamente da Amazon Redshift Serverless. Puoi trovare ulteriori informazioni sull'utilizzo degli snapshot per Amazon Redshift Serverless nella pagina Lavorare con istantanee e punti di ripristino.

Puoi anche ripristinare un'istantanea da un cluster fornito in un namespace senza server. Per ulteriori informazioni, vedere Ripristino di uno spazio dei nomi serverless da un'istantanea.

Snapshot automatici

Quando gli snapshot automatici sono abilitati per un cluster, Amazon Redshift esegue periodicamente l'acquisizione degli snapshot per quel cluster. Per impostazione predefinita, Amazon Redshift acquisisce uno snapshot ogni otto ore o ogni 5 GB di modifiche dei dati per nodo, a seconda di quale evento si verifica prima. Se i dati sono più grandi di 5 GB * come numero di nodi, il periodo di tempo minimo tra la creazione automatica di snapshot è di 15 minuti. In alternativa, puoi creare una pianificazione degli snapshot per controllare quando vengono eseguiti gli snapshot automatici. Se utilizzi pianificazioni personalizzate, il tempo minimo tra gli snapshot automatici è di un'ora. Gli snapshot automatici sono abilitati per impostazione predefinita al momento della creazione di un cluster.

Gli snapshot automatici vengono eliminati alla fine del periodo di conservazione. Il periodo di conservazione predefinito è di un giorno, ma è possibile modificarlo usando la console Amazon Redshift oppure a livello di programmazione usando la CLI o l'API di Amazon Redshift.

Per disabilitare gli snapshot automatici, imposta il periodo di conservazione su zero. Se disabiliti gli snapshot automatici, Amazon Redshift smette di acquisire snapshot ed elimina eventuali snapshot automatici esistenti per il cluster. Non è possibile disattivare gli snapshot automatici per i tipi di nodo RA3. È possibile impostare un periodo di conservazione automatizzato del tipo di nodo RA3 compreso tra 1 e 35 giorni.

Solo Amazon Redshift può eliminare uno snapshot automatico; non è possibile eliminarlo manualmente. Amazon Redshift elimina gli snapshot automatici alla fine del periodo di conservazione, quando vengono disabilitati gli snapshot automatici per un cluster o quando si elimina il cluster. Amazon Redshift conserva l'ultimo snapshot automatizzato fino a quando non vengono disabilitati gli snapshot automatizzati o si elimina il cluster.

Se desideri conservare uno snapshot automatico per un periodo più lungo, puoi crearne una copia come snapshot manuale. Lo snapshot automatico viene conservato fino alla fine del periodo di conservazione, mentre lo snapshot manuale corrispondente viene conservato fino a quando non viene eliminato manualmente o fino alla fine del periodo di conservazione.

Pianificazioni di snapshot automatici

Per controllare con precisione quando vengono acquisiti gli snapshot, puoi creare una pianificazione di snapshot e collegarla a uno o più cluster. Quando modifichi una pianificazione di snapshot, la pianificazione viene modificata per tutti i cluster associati. Se a un cluster non è associata una pianificazione di snapshot, il cluster utilizza la pianificazione di snapshot automatici predefinita.

Una pianificazione di snapshot è un set di regole di pianificazione. È possibile definire una regola di pianificazione semplice in base a un intervallo specificato, ad esempio ogni 8 ore o ogni 12 ore. Puoi anche aggiungere le regole per acquisire gli snapshot in determinati giorni della settimana, in momenti specifici o durante periodi specifici. Le regole possono anche essere definite usando espressioni cron di tipo Unix.

Formato di una pianificazione di snapshot

Nella console Amazon Redshift è possibile creare una pianificazione di snapshot. Quindi, colleghi la pianificazione a un cluster per attivare la creazione di uno snapshot di sistema. Puoi collegare una pianificazione a più cluster e creare più definizioni cron in una pianificazione per attivare uno snapshot.

Puoi definire una pianificazione per gli snapshot utilizzando una sintassi cron. La definizione di queste pianificazioni usa una sintassi cron modificata di tipo Unix. L'ora specificata è espressa in Tempo coordinato universale (UTC). Puoi creare pianificazioni con una frequenza massima di un'ora e una precisione minima di un minuto.

Le espressioni cron modificate da Amazon Redshift hanno 3 campi obbligatori che sono separati da uno spazio.

Sintassi

cron(Minutes Hours Day-of-month Month Day-of-week Year)
Campi Valori Caratteri jolly

Minuti

0-59

, - * /

Ore

0-23

, - * /

Day-of-month (Giorno del mese)

1-31

, - * ? / L W

Mese

1-12 o JAN-DEC

, - * /

Day-of-week (Giorno della settimana)

1-7 o SUN-SAT

, - * ? L #

Anno

1970–2199

, - * /

Caratteri jolly
  • Il carattere jolly , (virgola) include valori aggiuntivi. Nel campo Day-of-week, MON,WED,FRI includono lunedì, mercoledì e venerdì. I valori totali sono limitati a 24 per campo.

  • Il carattere jolly - (trattino) specifica gli intervalli. Nel campo Hour, 1-15 include le ore dall'1 alle 15 del giorno specificato.

  • Il carattere jolly * (asterisco) include tutti i valori nel campo. Nel campo Hours, * include ogni ora.

  • Il carattere jolly / (barra) specifica gli incrementi. Nel campo Hours puoi immettere 1/10 per specificare ogni decima ora, a partire dalla prima ora del giorno (ad esempio, 01:00, 11:00 e 21:00).

  • Il carattere jolly ? (punto interrogativo) specifica un valore. Nel Day-of-month campo puoi inserire 7 e, se non ti interessa in che giorno della settimana è il settimo, puoi inserire? nel ay-of-week campo D.

  • Il carattere jolly L nel campo Day-of-month o Day-of-week specifica l'ultimo giorno del mese o della settimana.

  • Il carattere jolly W nel campo Day-of-month specifica un giorno feriale. Nel campo Day-of-month, 3W specifica il giorno più vicino al terzo giorno feriale del mese.

  • Il carattere jolly # nel ay-of-week campo D specifica una determinata istanza del giorno della settimana specificato nell'arco di un mese. Ad esempio, 3#2 sarebbe il secondo martedì del mese: il 3 fa riferimento a martedì perché è il terzo giorno di ogni settimana e il 2 fa riferimento al secondo giorno di questo tipo in un mese.

    Nota

    Se si utilizza un carattere '#', è possibile definire solo un'espressione nel day-of-week campo. Ad esempio, "3#1,6#3" non è valido perché viene interpretato come due espressioni.

Limiti
  • Non puoi specificare i campi Day-of-month e Day-of-week nella stessa espressione cron. Se specifichi un valore in uno dei campi, devi usare un carattere ? nell'altro campo.

  • Le pianificazioni degli snapshot non supportano le seguenti frequenze:

    • Snapshot pianificati più frequentemente di uno all'ora.

    • Snapshot pianificati meno frequentemente di uno al giorno (24 ore).

    Se sono presenti pianificazioni sovrapposte che determinano la pianificazione di snapshot nell'arco di un'ora, viene generato un errore di convalida.

Quando crei una pianificazione puoi utilizzare le seguenti stringhe cron di esempio.

Minuti Ore Giorno della settimana Significato

0

14-20/1

TUE

Ogni ora tra le 14:00 e le 20:00 di martedì.

0

21

MON-FRI

Tutte le sere alle 21, dal lunedì al venerdì.

30

0/6

SAT-SUN

Ogni 6 ore di incremento il sabato e la domenica a partire da 30 minuti dopo la mezzanotte (00:30) di quel giorno. Ciò restituisce uno snapshot alle [00:30, 06:30, 12:30 e 18:30] ogni giorno.

30

12/4

*

Ogni 4 ore di incremento a partire dalle 12:30 ogni giorno. Pertanto, il risultato restituito è [12:30, 16:30, 20:30].

Ad esempio per eseguire una pianificazione ogni 2 ore di incremento a partire dalle 15:15 ogni giorno. Pertanto, il risultato restituito è [15:15, 17:15, 19:15, 21:15, 23:15], specifica:

cron(15 15/2 *)

Puoi creare più definizioni della pianificazione cron all'interno di una pianificazione. Ad esempio, il AWS CLI comando seguente contiene due pianificazioni cron in un'unica pianificazione.

create-snapshot-schedule --schedule-identifier "my-test" --schedule-definition "cron(0 17 SAT,SUN)" "cron(0 9,17 MON-FRI)"

Snapshot manuali

Puoi acquisire uno snapshot manuale in qualsiasi momento. Per impostazione predefinita, gli snapshot manuali vengono conservati per un periodo indefinito anche dopo l'eliminazione del cluster. Puoi specificare il periodo di conservazione al momento della creazione di uno snapshot manuale oppure cambiare tale periodo modificando lo snapshot stesso. Per ulteriori informazioni su come modificare il periodo di conservazione del registro, consultare Modifica del periodo di conservazione di uno snapshot manuale.

Se uno snapshot viene eliminato, non puoi avviare nuove operazioni che fanno riferimento a tale snapshot. Se, tuttavia, è in corso un'operazione di ripristino, tale operazione verrà eseguita fino al completamento.

Amazon Redshift ha una quota che limita il numero totale di istantanee manuali che puoi creare; questa quota è per AWS account per regione. AWS Le quote di default sono elencate nella pagina Quote e limiti in Amazon Redshift.

Gestione dello storage di snapshot

Poiché gli snapshot comportano costi di archiviazione, è importante eliminarli quando non sono più necessari. Amazon Redshift elimina gli snapshot automatici e manuali alla fine dei rispettivi periodi di conservazione. Puoi anche eliminare le istantanee manuali utilizzando AWS Management Console o con il comando CLI batch-delete-cluster-snapshots.

Puoi modificare il periodo di conservazione di uno snapshot manuale cambiando le relative impostazioni.

È possibile ottenere informazioni sulla quantità di archiviazione consumata dagli snapshot utilizzando la console Amazon Redshift o il comando describe-storage della CLI.

Esclusione di tabelle dagli snapshot

Per impostazione predefinita, negli snapshot vengono incluse tutte le tabelle permanenti definite dall'utente. Se il backup di una tabella, ad esempio una tabella di gestione temporanea, non è necessario, puoi ridurre significativamente il tempo necessario per la creazione di snapshot e il ripristino dagli snapshot. Puoi inoltre ridurre lo spazio di storage in Amazon S3 usando una tabella senza backup. Per creare una tabella senza backup, includi il parametro BACKUP NO quando crei la tabella. Per ulteriori informazioni, consultare CREATE TABLE e CREATE TABLE AS nella Guida per gli sviluppatori di database di Amazon Redshift.

Copia di snapshot in un'altra regione AWS

Puoi configurare Amazon Redshift per copiare automaticamente le istantanee (automatizzate o manuali) di un cluster in un'altra regione. AWS Quando uno snapshot viene creato nella AWS regione principale del cluster, viene copiato in una regione secondaria. AWS Le due AWS regioni sono note rispettivamente come regione di origine e AWS regione di destinazione AWS . Se si archivia una copia delle istantanee in un'altra AWS regione, è possibile ripristinare il cluster dai dati recenti se qualcosa influisce sulla AWS regione principale. È possibile configurare il cluster per copiare le istantanee in una sola AWS regione di destinazione alla volta. Per l'elenco delle regioni di Amazon Redshift, consulta Regioni ed endpoint nei Riferimenti generali di Amazon Web Services.

Quando abiliti Amazon Redshift a copiare automaticamente gli snapshot in un'altra AWS regione, specifichi la regione di destinazione AWS in cui copiare gli snapshot. Per le istantanee automatizzate, puoi anche specificare il periodo di conservazione per conservarle nella regione di destinazione. AWS Dopo aver copiato un'istantanea automatica AWS nella regione di destinazione e aver raggiunto il periodo di conservazione in quella regione, viene eliminata dalla regione di destinazione. AWS Ciò consente di mantenere l'uso di snapshot basso. Per conservare le istantanee automatiche per un periodo più o meno lungo nella AWS regione di destinazione, modifica questo periodo di conservazione.

Il periodo di conservazione impostato per le istantanee automatiche copiate AWS nella regione di destinazione è diverso dal periodo di conservazione per le istantanee automatiche nella regione di origine. AWS Il periodo di conservazione predefinito per gli snapshot copiati è di sette giorni. Tale periodo di sette giorni si applica solo agli snapshot automatici. In entrambe le regioni AWS di origine e di destinazione, gli snapshot manuali vengono eliminati manualmente o alla fine del periodo di conservazione.

Puoi disabilitare la copia degli snapshot automatici per un cluster in qualsiasi momento. Quando si disabilita questa funzionalità, le istantanee non vengono più copiate dalla regione di origine alla AWS regione di destinazione. AWS Tutte le istantanee automatiche copiate AWS nella regione di destinazione vengono eliminate quando raggiungono il limite del periodo di conservazione, a meno che non si creino copie istantanee manuali delle stesse. Queste istantanee manuali e tutte le istantanee manuali copiate dalla regione di destinazione vengono conservate AWS nella regione di destinazione fino a quando non vengono eliminate manualmente. AWS

Per modificare la AWS regione di destinazione in cui copi le istantanee, disattiva innanzitutto la funzione di copia automatica. Quindi sarà possibile abilitarla nuovamente specificando la nuova regione AWS di destinazione.

Dopo che un'istantanea è stata copiata AWS nella regione di destinazione, diventa attiva e disponibile per il ripristino.

Per copiare istantanee per cluster AWS KMS crittografati in un'altra AWS regione, crea una concessione ad Amazon Redshift per l'utilizzo di una chiave gestita dal cliente nella regione di destinazione. AWS Scegli quindi tale concessione quando abiliti la copia delle istantanee nella regione di origine. AWS Per ulteriori informazioni sulla configurazione delle autorizzazioni di copia degli snapshot, consultare Copia di istantanee crittografate in un'altra regione AWS KMSAWS.

Ripristino di un cluster da uno snapshot

Uno snapshot contiene i dati di tutti i database in esecuzione nel cluster, oltre che informazioni sul cluster, inclusi il numero di nodi, il tipo di nodi e il nome utente amministratore. Se il cluster viene ripristinato da uno snapshot, Amazon Redshift utilizza le informazioni sul cluster per creare un nuovo cluster. Quindi, ripristina tutti i database da dati di snapshot.

Per il nuovo cluster creato dallo snapshot originale, puoi scegliere la configurazione, ad esempio il tipo di nodo e il numero di nodi. Il cluster viene ripristinato nella stessa regione AWS e in una zona di disponibilità casuale scelta dal sistema, a meno che nella richiesta non venga specificata una zona di disponibilità diversa. Quando si ripristina un cluster da uno snapshot, è possibile scegliere una traccia di manutenzione compatibile per il nuovo cluster.

Nota

Quando ripristini uno snapshot in un cluster con una configurazione diversa, lo snapshot deve essere stato eseguito su un cluster con versione 1.0.10013 o successiva.

Quando è in corso un ripristino, gli eventi vengono in genere emessi nel seguente ordine:

  1. RESTORE_STARTED – REDSHIFT-EVENT-2008 inviato quando inizia il processo di ripristino.

  2. RESTORE_SUCCEEDED – REDSHIFT-EVENT-3003 inviato quando è stato creato il nuovo cluster.

    Il cluster è disponibile per le query.

  3. DATA_TRANSFER_COMPLETED – REDSHIFT-EVENT-3537 inviato una volta completato il trasferimento di dati.

Nota

I cluster RA3 emettono solo eventi RESTORE_STARTED e RESTORE_SUCCEEDED. Non è necessario eseguire alcun trasferimento di dati esplicito dopo che un RESTORE ha esito positivo perché i tipi di nodo RA3 archiviano i dati nell'archiviazione gestito di Amazon Redshift Con i nodi RA3, i dati vengono trasferiti continuamente tra i nodi RA3 e lo spazio di archiviazione gestito da Amazon Redshift come parte della normale elaborazione delle query. I nodi RA3 memorizzano automaticamente i dati hot in locale e mantengono i blocchi richiesti meno frequentemente nello spazio di archiviazione gestito da Amazon Redshift.

È possibile monitorare l'avanzamento di un ripristino richiamando l'operazione DescribeClustersAPI o visualizzando i dettagli del cluster in. AWS Management Console Per un ripristino in corso, vengono visualizzate informazioni come la dimensione dei dati dello snapshot, la velocità di trasferimento, il tempo trascorso e il tempo rimanente stimato. Per una descrizione di queste metriche, consulta RestoreStatus.

Non è possibile usare uno snapshot per ripristinare lo stato precedente di un cluster attivo.

Nota

Quando ripristini uno snapshot in un nuovo cluster, vengono usati il gruppo di sicurezza e il gruppo di parametri predefiniti, a meno che non vengano specificati valori diversi.

Potrebbe essere necessario ripristinare uno snapshot in un cluster con una configurazione diversa per i motivi riportati di seguito:

  • Quando un cluster è costituito da tipi di nodi più piccoli e si desidera consolidarlo in un tipo di nodo più grande con un numero inferiore di nodi.

  • Quando il carico di lavoro è stato monitorato ed è stata determinata la necessità di passare a un tipo di nodo con più CPU e storage.

  • Quando si desidera misurare le prestazioni di carichi di lavoro di test con tipi di nodi diversi.

Il ripristino presenta le seguenti limitazioni:

  • La nuova configurazione del nodo deve prevedere storage sufficiente per i dati esistenti. Anche durante l'aggiunta dei nodi, la nuova configurazione potrebbe non disporre di storage sufficiente a causa del modo in cui i dati vengono ridistribuiti.

  • L'operazione di ripristino verifica se lo snapshot è stato creato in una versione del cluster compatibile con la versione del cluster del nuovo cluster. Se il nuovo cluster ha un livello di versione troppo anticipato, l'operazione di ripristino non riesce e riporta ulteriori informazioni in un messaggio di errore.

  • Le possibili configurazioni (numero di nodi e tipo di nodo) che è possibile ripristinare sono determinate dal numero di nodi nel cluster originale e dal tipo di nodo di destinazione del nuovo cluster. Per determinare le possibili configurazioni disponibili, puoi utilizzare la console Amazon Redshift o describe-node-configuration-options AWS CLI il comando con. action-type restore-cluster Per ulteriori informazioni sul ripristino tramite la console Amazon Redshift, consultare Ripristino di un cluster da uno snapshot.

La procedura seguente accetta un cluster con molti nodi e lo consolida in un tipo di nodo più grande con un numero inferiore di nodi utilizzando AWS CLI. Per questo esempio, iniziamo con un cluster di origine costituito da 24 nodi . In questo caso, supponiamo di avere già creato uno snapshot di questo cluster e di volerlo ripristinare in un tipo di nodo più grande.

  1. Per ottenere informazioni sul cluster a 24 nodi, esegui questo comando:

    aws redshift describe-clusters --region eu-west-1 --cluster-identifier mycluster-123456789012
  2. Esegui il seguente comando per ottenere informazioni sullo snapshot.

    aws redshift describe-cluster-snapshots --region eu-west-1 --snapshot-identifier mycluster-snapshot
  3. Esegui il seguente comando per descrivere le opzioni disponibili per questo snapshot.

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

    Questo comando restituisce un elenco di opzioni con tipi di nodi consigliati, numero di nodi e utilizzo del disco per ogni opzione. Per questo esempio, il comando precedente elenca le seguenti possibili configurazioni nodo. Scegliamo di eseguire il ripristino in un cluster a tre nodi.

    { "NodeConfigurationOptionList": [ { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "dc2.large", "NumberOfNodes": 24 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "dc2.large", "NumberOfNodes": 48 }, { "EstimatedDiskUtilizationPercent": 65.26134808858235, "NodeType": "dc2.8xlarge", "NumberOfNodes": 3 }, { "EstimatedDiskUtilizationPercent": 48.94601106643677, "NodeType": "dc2.8xlarge", "NumberOfNodes": 4 }, { "EstimatedDiskUtilizationPercent": 39.156808853149414, "NodeType": "dc2.8xlarge", "NumberOfNodes": 5 }, { "EstimatedDiskUtilizationPercent": 32.630674044291176, "NodeType": "dc2.8xlarge", "NumberOfNodes": 6 } ] }
  4. Esegui il comando seguente per ripristinare lo snapshot nella configurazione cluster scelta. Dopo che questo cluster è stato ripristinato, abbiamo lo stesso contenuto del cluster di origine, ma i dati sono stati consolidati in tre nodi dc2.8xlarge.

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

Se disponi di nodi riservati, ad esempio nodi riservati DC2, puoi eseguire l'aggiornamento a nodi riservati RA3. Puoi farlo quando esegui il ripristino da una snapshot o esegui un ridimensionamento elastico. La console può guidarti attraverso questo processo. Per ulteriori informazioni sulla creazione di nodi RA3, consulta Aggiornamento ai tipi di nodo RA3.

Ripristino di una tabella da uno snapshot

È possibile ripristinare una singola tabella da uno snapshot anziché ripristinare l'intero cluster. Quando ripristini una singola tabella da uno snapshot, devi specificare lo snapshot, il database, lo schema e il nome di tabella di origine e il database, lo schema e un nuovo nome di tabella di destinazione per la tabella ripristinata.

Il nuovo nome di tabella non può corrispondere al nome di una tabella esistente. Per sostituire una tabella esistente con una tabella ripristinata da uno snapshot, rinomina o elimina la tabella esistente prima di ripristinare la tabella dallo snapshot.

La tabella di destinazione viene creata usando le definizioni di colonna, gli attributi di tabella e gli attributi di colonna della tabella di origine, a esclusione delle chiavi esterne. Per impedire conflitti dovuti alle dipendenze, la tabella di destinazione non eredita le chiavi estere dalla tabella di origine. Eventuali dipendenze, come viste o autorizzazioni concesse nella tabella di origine, non vengono applicate alla tabella di destinazione.

Se il proprietario della tabella di origine esiste, l'utente del database diventa il proprietario della tabella ripristinata, a condizione che abbia le autorizzazioni sufficienti per diventare il proprietario di una relazione nel database e nello schema specificati. In caso contrario, la tabella ripristinata è di proprietà dell'utente master creato all'avvio del cluster.

La tabella ripristinata torna allo stato in cui si trovava al momento dell'esecuzione del backup. Ciò include le regole di visibilità delle transazioni definite dall'applicazione in Amazon Redshift dell'isolamento serializzabile, che prevede che i dati siano immediatamente visibili per le transazioni in corso avviate dopo il backup.

Il ripristino di una tabella da uno snapshot prevede le limitazioni seguenti:

  • È possibile ripristinare una tabella solo nel cluster in esecuzione attivo e corrente e da uno snapshot acquisito da tale cluster.

  • È possibile ripristinare una sola tabella per volta.

  • Non è possibile ripristinare una tabella da uno snapshot di un cluster acquisito prima del ridimensionamento del cluster. Un'eccezione è che è possibile ripristinare una tabella dopo un ridimensionamento elastico se il tipo di nodo non è cambiato.

  • Eventuali dipendenze, come viste o autorizzazioni concesse nella tabella di origine, non vengono applicate alla tabella di destinazione.

  • Se la sicurezza a livello di riga è attivata per il ripristino di una tabella, Amazon Redshift ripristina la tabella con la sicurezza a livello di riga attivata.

Per ripristinare una tabella da uno snapshot
  1. Accedi AWS Management Console e apri la console Amazon Redshift all'indirizzo https://console.aws.amazon.com/redshiftv2/.

  2. Dal menu navigazione, scegliere Clusters (Cluster), quindi scegliere il cluster che si intende utilizzare per ripristinare una tabella.

  3. Alla voce Actions (Operazioni), scegli Restore table (Ripristina tabella) per visualizzare la pagina Restore table (Ripristina tabella).

  4. Inserisci le informazioni su quale snapshot, tabella di origine e tabella di destinazione da utilizzare, quindi scegli Restore table (Ripristina tabella).

Esempio: ripristino di una tabella da uno snapshot utilizzando il AWS CLI

L'esempio seguente utilizza il restore-table-from-cluster-snapshot AWS CLI comando per ripristinare la my-source-table tabella dallo sample-database schema di. my-snapshot-id È possibile utilizzare il AWS CLI comando describe-table-restore-status per verificare lo stato dell'operazione di ripristino. L'esempio ripristina lo snapshot nel cluster mycluster-example con un nuovo nome di tabella corrispondente a 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

Condivisione di snapshot

È possibile condividere un'istantanea manuale esistente con altri account AWS cliente autorizzando l'accesso all'istantanea. Puoi autorizzarne fino a 20 per ogni istantanea e 100 per ogni () chiave. AWS Key Management Service AWS KMS Cioè, se disponi di 10 istantanee crittografate con una singola chiave KMS, puoi autorizzare 10 AWS account a ripristinare ciascuna istantanea o altre combinazioni che sommano fino a 100 account e non superino i 20 account per ogni istantanea. Una persona connessa come utente in uno degli account autorizzati può quindi descrivere lo snapshot o ripristinarlo per creare un nuovo cluster Amazon Redshift nel proprio account. Ad esempio, se utilizzi account AWS cliente separati per la produzione e il test, un utente può accedere utilizzando l'account di produzione e condividere un'istantanea con gli utenti dell'account di test. Una persona connessa come utente dell'account di test può quindi ripristinare lo snapshot per creare un nuovo cluster di proprietà dell'account di test a scopo di test o diagnostica.

Un'istantanea manuale è permanentemente di proprietà dell'account AWS cliente con cui è stata creata. Solo gli utenti che fanno parte dell'account proprietario dello snapshot possono autorizzare altri account ad accedere allo snapshot oppure revocare le autorizzazioni. Gli utenti negli account autorizzati possono solo descrivere o ripristinare gli snapshot condivisi con loro, ma non possono copiare o eliminare tali snapshot. Un'autorizzazione rimane valida fino a quando il proprietario dello snapshot non la revoca. Se un'autorizzazione viene revocata, l'utente autorizzato in precedenza perde la visibilità dello snapshot e non può avviare nuove operazioni che fanno riferimento allo snapshot. Se l'account sta ripristinando lo snapshot quando l'accesso viene revocato, il ripristino viene completato. Non è possibile eliminare uno snapshot con autorizzazioni attive. È prima necessario revocare tutte le autorizzazioni.

AWS gli account dei clienti sono sempre autorizzati ad accedere alle istantanee di proprietà dell'account. I tentativi di autorizzare o revocare l'accesso per l'account del proprietario causano la generazione di un errore. Non è possibile ripristinare o descrivere un'istantanea di proprietà di un account cliente inattivo AWS .

Dopo aver autorizzato l'accesso a un account AWS cliente, nessun utente di quell'account può eseguire alcuna azione sullo snapshot a meno che non assuma un ruolo nell'elaborazione di politiche che gli consentano di farlo.

  • Gli utenti nell'account del proprietario dello snapshot possono autorizzare e revocare l'accesso a uno snapshot solo se dispongono di un ruolo con una policy IAM che permetta loro di eseguire queste operazioni con una specifica delle risorse che include lo snapshot. Ad esempio, la seguente politica consente a un utente o a un ruolo nell' AWS account di 012345678912 autorizzare altri account ad accedere a un'istantanea denominata: 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" ] } ] }
  • Gli utenti di un AWS account con cui è stata condivisa un'istantanea non possono eseguire azioni su quella istantanea a meno che non dispongano delle autorizzazioni che consentono tali azioni. A tale scopo, puoi assegnare la policy a un ruolo e quindi assumerlo.

    • Per elencare o descrivere uno snapshot, è necessaria una policy IAM che permette l'operazione DescribeClusterSnapshots. Il codice seguente mostra un esempio:

      { "Version": "2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusterSnapshots" ], "Resource":[ "*" ] } ] }
    • Per ripristinare uno snapshot, un utente deve disporre di un ruolo con una policy IAM che permetta l'operazione RestoreFromClusterSnapshot e che includa un elemento di risorsa che comprende sia il cluster che sta cercando di creare che lo snapshot. Se, ad esempio, un utente in un account 012345678912 ha condiviso lo snapshot my-snapshot20130829 con l'account 219876543210, per creare un cluster ripristinando lo snapshot, un utente nell'account 219876543210 deve assumere un ruolo con una policy come la seguente:

      { "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" ] } ] }
    • Dopo la revoca dell'accesso a un'istantanea da un AWS account, nessun utente di quell'account può accedere all'istantanea. Ciò accade anche se gli account hanno a disposizione policy IAM che permettono operazioni sulla risorsa snapshot precedentemente condivisa.