Integrazione Zero-ETL di DynamoDB con Amazon Redshift
L’integrazione Zero-ETL di Amazon DynamoDB con Amazon Redshift consente un’analisi fluida dei dati DynamoDB senza codice. Questa funzionalità completamente gestita replica automaticamente le tabelle DynamoDB in un database Amazon Redshift in modo che gli utenti possano eseguire query e analisi SQL sui propri dati DynamoDB senza dover configurare complessi processi ETL. L’integrazione funziona replicando i dati dalla tabella DynamoDB al database Amazon Redshift.
Per configurare l’integrazione, è sufficiente specificare una tabella DynamoDB come origine e un database Amazon Redshift come destinazione. All’attivazione, l’integrazione esporta la tabella DynamoDB completa per popolare il database Amazon Redshift. Il tempo richiesto per il completamento di questo processo iniziale dipende dalle dimensioni della tabella DynamoDB. L’integrazione Zero-ETL replica quindi in modo incrementale gli aggiornamenti da DynamoDB ad Amazon Redshift ogni 15 – 30 minuti utilizzando le esportazioni incrementali di DynamoDB. Ciò significa che i dati DynamoDB replicati in Amazon Redshift vengono aggiornati automaticamente.
Una volta terminata la configurazione, gli utenti possono analizzare i dati DynamoDB in Amazon Redshift tramite client e strumenti SQL standard, senza influire sulle prestazioni delle tabelle DynamoDB. Eliminando il complesso processo ETL, questa integrazione Zero-ETL offre un modo semplice e veloce per ottenere approfondimenti da DynamoDB attraverso le funzionalità di analisi e machine learning di Amazon Redshift.
Argomenti
Prerequisiti per creare un’integrazione Zero-ETL di DynamoDB con Amazon Redshift
Limitazioni dell’utilizzo delle integrazioni Zero-ETL di DynamoDB con Amazon Redshift
Creazione di un’integrazione Zero-ETL di DynamoDB con Amazon Redshift
Visualizzazione delle integrazioni Zero-ETL di DynamoDB con Amazon Redshift
Eliminazione di integrazioni Zero-ETL di DynamoDB con Amazon Redshift
Prerequisiti per creare un’integrazione Zero-ETL di DynamoDB con Amazon Redshift
-
Prima di procedere all’integrazione è necessario creare la tabella DynamoDB di origine e il cluster Amazon Redshift di destinazione. Queste informazioni sono trattate in Fase 1: configurare una tabella DynamoDB di origine e Fase 2: creare un data warehouse Amazon Redshift.
-
Un’integrazione Zero-ETL tra Amazon DynamoDB e Amazon Redshift richiede che per la tabella DynamoDB di origine sia abilitato il recupero point-in-time (PITR).
-
Per le policy basate su risorse, se l’integrazione viene creata in un contesto in cui la tabella DynamoDB e il data warehouse Amazon Redshift si trovano nello stesso account, durante la fase di creazione dell’integrazione è possibile utilizzare l’opzione Correggi per me per applicare automaticamente sia a DynamoDB che ad Amazon Redshift le policy basate su risorse richieste.
Se viene creata un’integrazione in un contesto in cui la tabella DynamoDB e il data warehouse Amazon Redshift si trovano in account AWS diversi, sarà necessario applicare la seguente policy basata su risorse alla tabella DynamoDB.
Potrebbe anche essere necessario configurare la policy basata su risorse sul proprio data warehouse Amazon Redshift. Per ulteriori informazioni, consulta Configurazione dell’autorizzazione usando l’API Amazon Redshift.
-
Per le policy IAM basate su identità:
-
L’utente che crea l’integrazione necessita di una policy basata su identità che autorizzi le seguenti azioni:
GetResourcePolicy,PutResourcePolicyeUpdateContinuousBackups.Nota
I seguenti esempi di policy mostreranno la risorsa come
arn:aws:redshift{-serverless}. Questo esempio dimostra che l’ARN può esserearn:aws:redshiftoarn:aws:redshift-serverlessa seconda del fatto che il namespace sia un cluster Amazon Redshift o un namespace Amazon Redshift serverless. -
L’utente responsabile della configurazione del namespace Amazon Redshift di destinazione necessita di una policy basata su identità che autorizzi le seguenti azioni:
PutResourcePolicy,DeleteResourcePolicyeGetResourcePolicy.
-
-
Autorizzazioni della chiave di crittografia
Se la tabella DynamoDB di origine è crittografata tramite una chiave AWS KMS gestita dal cliente, sarà necessario aggiungere la seguente policy alla propria chiave KMS. Questa policy consente ad Amazon Redshift di poter esportare dati dalla tabella crittografata attraverso la chiave KMS.
{ "Sid": "Statement to allow Amazon Redshift service to perform Decrypt operation on the source DynamoDB Table", "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<account>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:<region>:<account>:integration:*" } } }
È anche possibile seguire la procedura riportata nella Getting started with zero-ETL integrations nella Guida alla gestione di Amazon Redshift per configurare le autorizzazioni del namespace Amazon Redshift.
Limitazioni dell’utilizzo delle integrazioni Zero-ETL di DynamoDB con Amazon Redshift
Le seguenti limitazioni generali si applicano alla versione corrente di questa integrazione e potrebbero cambiare nelle versioni successive.
Nota
Oltre alle limitazioni riportate di seguito, consulta anche le considerazioni generali sull’utilizzo delle integrazioni Zero-ETL (vedi Considerations when using zero-ETL integrations with Amazon Redshift nella Guida alla gestione di Amazon Redshift).
-
La tabella DynamoDB e il cluster Amazon Redshift devono trovarsi nella stessa Regione.
-
La tabella DynamoDB di origine deve essere crittografata con una chiave AWS KMS di proprietà di Amazon o gestita dal cliente. La crittografia gestita da Amazon non è supportata per la tabella DynamoDB di origine.