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à.
Crea un'integrazione zero-ETL per DynamoDB
Prima di creare un'integrazione zero-ETL, esamina le considerazioni e i requisiti descritti in. Considerazioni sull'utilizzo delle integrazioni Zero-ETL con Amazon Redshift Segui questo flusso generale per creare un'integrazione zero-ETL da DynamoDB ad Amazon Redshift
Per replicare i dati DynamoDB su Amazon Redshift con integrazione zero-ETL
Conferma le tue credenziali di accesso e consenti le autorizzazioni per funzionare con integrazioni zero-ETL con Amazon Redshift e DynamoDB. Vedi Policy IAM per lavorare con le integrazioni Zero-ETL di DynamoDB per un esempio di policy IAM.
-
Dalla console DynamoDB, configura la tabella DynamoDB per point-in-time disporre di autorizzazioni per il ripristino (PITR), le politiche delle risorse, le politiche basate sull'identità e le autorizzazioni per le chiavi di crittografia, come descritto nella Amazon DynamoDB Developer Guide.
-
Dalla console Amazon Redshift: Creazione e configurazione di un data warehouse Amazon Redshift di destinazione.
-
Dalla nostra AWS CLI console Amazon Redshift:. Attivazione della distinzione tra maiuscole e minuscole per il data warehouse
-
Dalla console Amazon Redshift: Configurazione dell'autorizzazione per il data warehouse Amazon Redshift.
-
-
Dalla console Amazon Redshift, crea l'integrazione Zero-ETL come descritto più avanti in questo argomento.
-
Dalla console Amazon Redshift, crea il database di destinazione nel tuo data warehouse Amazon Redshift. Per ulteriori informazioni, consulta Creazione di database di destinazione in Amazon Redshift.
-
Dalla console Amazon Redshift, interroga i dati replicati nel data warehouse di Amazon Redshift. Per ulteriori informazioni, consulta Esecuzione di query sui dati replicati in Amazon Redshift.
In questa fase, crei un'integrazione Zero-ETL di Amazon DynamoDB con Amazon Redshift.
Per creare un'integrazione Zero-ETL di Amazon DynamoDB con Amazon Redshift utilizzando la console Amazon Redshift
Dalla console Amazon Redshift, scegli le integrazioni Zero-ETL. Nel riquadro con l'elenco delle integrazioni zero-ETL, scegli Crea integrazione zero-ETL, Crea integrazione DynamoDB.
Nelle pagine per creare un'integrazione, inserisci le informazioni sull'integrazione come segue:
Inserisci un nome di integrazione: si tratta di un nome univoco che può essere utilizzato per fare riferimento all'integrazione.
Inserisci una descrizione: descrive i dati che devono essere replicati dall'origine alla destinazione.
Scegli la tabella DynamoDB Source — È possibile scegliere una tabella DynamoDB. Point-in-timeil ripristino (PITR) deve essere abilitato sulla tabella. Vengono mostrate solo le tabelle con dimensioni fino a 100 tebibyte (TiB). La tabella DynamoDB di origine deve essere crittografata. La fonte deve inoltre avere una politica delle risorse con principali autorizzati e fonti di integrazione. Se queste politiche non sono corrette, ti viene presentata l'opzione Correggi per me.
Scegli il data warehouse Amazon Redshift di destinazione: il data warehouse può essere un cluster con provisioning di Amazon Redshift o un gruppo di lavoro Redshift Serverless. Se il tuo target Amazon Redshift si trova nello stesso account, puoi selezionare il target. Se la destinazione si trova in un account diverso, si specifica l'ARN del data warehouse Redshift. La destinazione deve avere una politica delle risorse con principi autorizzati e fonte di integrazione e il
enable_case_sensitive_identifier
parametro impostato su true. Se non disponi delle politiche relative alle risorse corrette sulla destinazione e la destinazione si trova nello stesso account, puoi selezionare l'opzione Correggi per me per applicare automaticamente le politiche sulle risorse durante il processo di creazione dell'integrazione. Se il tuo obiettivo è in un altro Account AWS, devi applicare manualmente la politica delle risorse sul magazzino Amazon Redshift. Se il tuo data warehouse Amazon Redshift di destinazione non ha l'opzione di gruppo di parametri correttaenable_case_sensitive_identifier
configurata cometrue
, puoi selezionare l'opzione Fix it for me per aggiornare automaticamente questo gruppo di parametri e riavviare il warehouse durante il processo di creazione dell'integrazione.Inserisci fino a 50 chiavi di tag e con un valore opzionale, per fornire metadati aggiuntivi sull'integrazione. Per ulteriori informazioni, consulta Tagga le risorse in Amazon Redshift.
Scegli le opzioni di crittografia: per crittografare l'integrazione. Per ulteriori informazioni, consulta Crittografia delle integrazioni DynamoDB con una chiave gestita dal cliente.
Quando crittografi l'integrazione, puoi anche aggiungere contesti di crittografia aggiuntivi. Per ulteriori informazioni, consulta Contesto di crittografia.
Viene mostrata una pagina di revisione in cui è possibile scegliere Create DynamoDB integration.
Viene visualizzata una pagina di avanzamento in cui è possibile visualizzare lo stato di avanzamento delle varie attività per creare l'integrazione zero-ETL.
Dopo che l'integrazione è stata creata e attivata, nella pagina dei dettagli dell'integrazione, scegli Connetti al database. Quando il tuo data warehouse Amazon Redshift è stato creato per la prima volta, è stato creato anche un database. È necessario connettersi a qualsiasi database nel data warehouse di destinazione per creare un altro database per l'integrazione. Nella pagina Connetti al database, determina se è possibile utilizzare una connessione recente e scegli un metodo di autenticazione. A seconda del metodo di autenticazione, inserisci le informazioni per connetterti a un database esistente nella tua destinazione. Queste informazioni di autenticazione possono includere il nome del database esistente (in genere
dev
) e l'utente del database specificato al momento della creazione del database con il data warehouse Amazon Redshift.Dopo esserti connesso a un database, scegli Crea database dall'integrazione per creare il database che riceve i dati dalla fonte. Quando crei il database, fornisci l'ID di integrazione, il nome del data warehouse e il nome del database.
Dopo lo stato di integrazione e il database di destinazione
Active
, i dati iniziano a replicarsi dalla tabella DynamoDB alla tabella di destinazione. Man mano che aggiungi dati all'origine, questi vengono replicati automaticamente nel data warehouse Amazon Redshift di destinazione.
Policy IAM per lavorare con le integrazioni Zero-ETL di DynamoDB
Quando si creano integrazioni zero-ETL, le credenziali di accesso devono disporre dell'autorizzazione sia per le azioni di DynamoDB che per Amazon Redshift e anche per le risorse coinvolte come fonti e destinazioni dell'integrazione. Di seguito è riportato un esempio che illustra le autorizzazioni minime richieste.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"dynamodb:ListTables"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"dynamodb:GetResourcePolicy",
"dynamodb:PutResourcePolicy",
"dynamodb:UpdateContinuousBackups"
],
"Resource": [
"arn:aws:dynamodb:<region>
:<account>
:table/my-ddb-table"
]
},
{
"Sid": "AllowRedshiftDescribeIntegration",
"Effect": "Allow",
"Action": [
"redshift:DescribeIntegrations"
],
"Resource": "*"
},
{
"Sid": "AllowRedshiftCreateIntegration",
"Effect": "Allow",
"Action": "redshift:CreateIntegration",
"Resource": "arn:aws:redshift:<region>
:<account>
:integration:*"
},
{
"Sid": "AllowRedshiftModifyDeleteIntegration",
"Effect": "Allow",
"Action": [
"redshift:ModifyIntegration",
"redshift:DeleteIntegration"
],
"Resource": "arn:aws:redshift:<region>
:<account>
:integration:<uuid>
"
},
{
"Sid": "AllowRedshiftCreateInboundIntegration",
"Effect": "Allow",
"Action": "redshift:CreateInboundIntegration",
"Resource": "arn:aws:redshift:<region>
:<account>
:namespace:<uuid>
"
}
]
}
Crittografia delle integrazioni DynamoDB con una chiave gestita dal cliente
Se specifichi una chiave KMS personalizzata anziché una Chiave di proprietà di AWS quando crei un'integrazione DynamoDB zero-ETL, la policy chiave deve fornire al servizio Amazon Redshift l'accesso principale all'azione. CreateGrant
Inoltre, deve consentire all'account o al ruolo del richiedente l'autorizzazione a eseguire le azioni and. DescribeKey
CreateGrant
I seguenti esempi di istruzioni chiave illustrano le autorizzazioni richieste nella politica. Alcuni esempi includono chiavi contestuali per ridurre ulteriormente l'ambito delle autorizzazioni.
La seguente dichiarazione politica consente all'account o al ruolo del richiedente di recuperare informazioni su una chiave KMS.
{
"Effect":"Allow",
"Principal":{
"AWS":"arn:aws:iam::{account-ID}
:role/{role-name}
"
},
"Action":"kms:DescribeKey",
"Resource":"*"
}
La seguente dichiarazione politica consente all'account o al ruolo del richiedente di aggiungere una concessione a una chiave KMS. La chiave di kms:ViaService
condizione limita l'uso della chiave KMS alle richieste provenienti da Amazon Redshift.
{
"Effect":"Allow",
"Principal":{
"AWS":"arn:aws:iam::{account-ID}
:role/{role-name}
"
},
"Action":"kms:CreateGrant",
"Resource":"*",
"Condition":{
"StringEquals":{
"kms:EncryptionContext:{context-key}
":"{context-value}
",
"kms:ViaService":"redshift.{region}
.amazonaws.com"
},
"ForAllValues:StringEquals":{
"kms:GrantOperations":[
"Decrypt",
"GenerateDataKey",
"CreateGrant"
]
}
}
}
La seguente dichiarazione politica consente al responsabile del servizio Amazon Redshift di aggiungere una concessione a una chiave KMS.
{
"Effect":"Allow",
"Principal":{
"Service":"redshift.amazonaws.com"
},
"Action":"kms:CreateGrant",
"Resource":"*",
"Condition":{
"StringEquals":{
"kms:EncryptionContext:{context-key}
":"{context-value}
",
"aws:SourceAccount":"{account-ID}
"
},
"ForAllValues:StringEquals":{
"kms:GrantOperations":[
"Decrypt",
"GenerateDataKey",
"CreateGrant"
]
},
"ArnLike":{
"aws:SourceArn":"arn:aws:*:{region}
:{account-ID}
:integration:*"
}
}
}
Per ulteriori informazioni, consulta Creazione di una policy delle chiavi nella Guida per gli sviluppatori di AWS Key Management Service .
Contesto di crittografia
Quando crittografi un'integrazione zero-ETL, puoi aggiungere coppie chiave-valore come contesto di crittografia aggiuntivo. Potresti voler aggiungere queste coppie chiave-valore per aggiungere ulteriori informazioni contestuali sui dati da replicare. Per ulteriori informazioni, consultare Contesto della crittografia nella Guida per gli sviluppatori di AWS Key Management Service .
Amazon Redshift aggiunge le seguenti coppie di contesti di crittografia oltre a quelle che aggiungi:
-
aws:redshift:integration:arn
-IntegrationArn
-
aws:servicename:id
-Redshift
Ciò riduce il numero complessivo di coppie che puoi aggiungere da 8 a 6 e contribuisce al limite complessivo di caratteri del vincolo di concessione. Per ulteriori informazioni, consulta Using grant constraints nella Developer Guide.AWS Key Management Service