Creazione di ETL integrazioni zero di Aurora con Amazon Redshift - Amazon Aurora

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

Creazione di ETL integrazioni zero di Aurora con Amazon Redshift

Quando crei un'ETLintegrazione zero di Aurora, specifichi il database di origine, il cluster DB e il data warehouse Amazon Redshift di destinazione. Puoi anche personalizzare le impostazioni di crittografia e aggiungere tag. Aurora crea un'integrazione tra il cluster DB del di origine e la sua destinazione. Una volta che l'integrazione è attiva, tutti i dati inseriti nel cluster DB del di origine verranno replicati nel target Amazon Redshift configurato.

Prerequisiti

Prima di creare un'ETLintegrazione zero, devi creare un cluster DB di di origine e un data warehouse Amazon Redshift di destinazione. È inoltre necessario consentire la replica nel data warehouse aggiungendo il cluster DB del come fonte di integrazione autorizzata.

Per istruzioni su come completare ciascuno di questi passaggi, consulta Guida introduttiva alle ETL integrazioni zero di Aurora con Amazon Redshift.

Autorizzazioni richieste

Sono necessarie determinate IAM autorizzazioni per creare un'integrazione zero. ETL Come requisito minimo, dovrai disporre delle autorizzazioni per eseguire le seguenti operazioni:

  • Crea ETL integrazioni zero per il cluster Aurora DB del di origine.

  • Visualizza ed elimina tutte le integrazioni zero. ETL

  • Creazione di integrazioni in entrata nel data warehouse di destinazione. Non hai bisogno di questa autorizzazione se lo stesso account possiede il data warehouse Amazon Redshift e questo account è il principale autorizzato di tale data warehouse. Per informazioni sull'aggiunta di principali autorizzati, consulta Configurazione dell'autorizzazione per il data warehouse Amazon Redshift.

La seguente policy di esempio mostra le autorizzazioni con privilegi minimi richieste per creare e gestire le integrazioni. Potresti non aver bisogno di queste autorizzazioni esatte se il tuo utente o ruolo dispone di autorizzazioni più ampie, come una policy gestita. AdministratorAccess

Nota

Redshift Amazon Resource Names (ARNs) hanno il seguente formato. Nota l'uso di una barra ((/) anziché dei due punti (:) prima dello spazio dei nomi serverless. UUID

  • Cluster con provisioning: arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

  • Serverless: arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

Importante

Per l'SQLanteprima di Aurora Postgre, tutte le ARNs azioni all'interno dell'Amazon RDS Database Preview Environment sono state -preview aggiunte allo spazio dei nomi del servizio. Ad esempio rds-preview:CreateIntegration e arn:aws:rds-preview:….

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:cluster:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

Scelta di un data warehouse di destinazione in un account diverso

Se prevedi di specificare un data warehouse Amazon Redshift di destinazione che si trova in un altro Account AWS, devi creare un ruolo che consenta agli utenti dell'account corrente di accedere alle risorse dell'account di destinazione. Per ulteriori informazioni, consulta Fornire l'accesso a un IAM utente in un altro Account AWS che possiedi.

Il ruolo deve disporre delle seguenti autorizzazioni, che consentono all'utente di visualizzare i cluster Amazon Redshift con provisioning e gli spazi dei nomi Redshift Serverless disponibili nell'account di destinazione.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

Il ruolo deve avere la seguente policy di attendibilità, che specifica l'ID dell'account di destinazione.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action":"sts:AssumeRole" } ] }

Per istruzioni sulla creazione del ruolo, consulta Creazione di un ruolo utilizzando policy di attendibilità personalizzate.

Creare zero ETL integrazioni

È possibile creare Aurora My SQL zero, utilizzando ETL il AWS Management Console, il AWS CLI, o il RDSAPI. Per creare un'SQLintegrazione Aurora Postgre, è necessario utilizzare il AWS Management Console.

Per creare un'ETLintegrazione zero
  1. Accedi a AWS Management Console e apri la RDS console Amazon all'indirizzo https://console.aws.amazon.com/rds/.

    Se utilizzi un cluster Aurora Postgre SQL DB come origine dell'integrazione, devi accedere all'Amazon RDS Database Preview Environment da casa? https://us-east-2.console.aws.amazon.com/rds-preview/ region=us-east-2 #databases.

  2. Nel riquadro di navigazione a sinistra, scegli Zero- integrazioni. ETL

  3. Scegli Crea ETL integrazione zero.

  4. In Identificatore dell'integrazione, inserisci un nome per l'integrazione. Il nome può contenere fino a 63 caratteri alfanumerici e può includere trattini.

  5. Scegli Next (Successivo).

  6. Per Source, seleziona il cluster di Aurora DB da cui provengono i dati.

    Nota

    Per SQL Le mie fonti, ti RDS avvisa se i parametri del cluster DB non sono configurati correttamente. Se ricevi questo messaggio, puoi scegliere Correggi per me o configurarli manualmente. Per istruzioni su come correggerli manualmente, consulta Fase 1: creazione di un gruppo di parametri del cluster DB personalizzato.

    La modifica dei parametri del cluster DB richiede un riavvio. Prima di poter creare l'integrazione, il riavvio deve essere completo e i nuovi valori dei parametri devono essere applicati correttamente al cluster di .

  7. Se hai selezionato un cluster di SQL origine Aurora Postgre, in Database denominato, specifica il database denominato da utilizzare come origine per l'integrazione. Il modello di SQL risorse Postgre consente la creazione di più database all'interno di un singolo cluster DB, ma è possibile utilizzarne solo uno per ogni integrazione zero. ETL

    Il database denominato deve essere creato da. template1 Per ulteriori informazioni, consulta Template Databases nella documentazione di Postgre. SQL

  8. (Facoltativo) Se hai selezionato un cluster Aurora My SQL source DB, seleziona Personalizza le opzioni di filtraggio dei dati e aggiungi filtri di dati alla tua integrazione. È possibile utilizzare i filtri di dati per definire l'ambito della replica nel data warehouse di destinazione. Per ulteriori informazioni, consulta Filtraggio dei dati per le integrazioni zero di Aurora con Amazon ETL Redshift.

  9. Una volta configurato correttamente il cluster DB del di origine, scegli Avanti.

  10. Per Destinazione, esegui queste operazioni:

    1. (Facoltativo) Per utilizzare un altro Account AWS per il target Amazon Redshift, scegli Specificare un account diverso. Quindi, inserisci un IAM ruolo con le ARN autorizzazioni per visualizzare i tuoi data warehouse. Per istruzioni su come creare il IAM ruolo, consulta. Scelta di un data warehouse di destinazione in un account diverso

    2. Per il data warehouse di Amazon Redshift, seleziona la destinazione per i dati replicati dal cluster DB del di origine. Puoi scegliere un cluster Amazon Redshift con provisioning o uno spazio dei nomi Redshift Serverless come destinazione.

    Nota

    RDSti avvisa se la politica delle risorse o le impostazioni di distinzione tra maiuscole e minuscole per il data warehouse specificato non sono configurate correttamente. Se ricevi questo messaggio, puoi scegliere Correggi per me o configurarli manualmente. Per istruzioni su come correggerli manualmente, consulta Attivazione della distinzione tra maiuscole e minuscole per il data warehouse e Configurazione dell'autorizzazione per il data warehouse nella Guida alla gestione di Amazon Redshift.

    La modifica della distinzione tra maiuscole e minuscole per un cluster Redshift con provisioning richiede un riavvio. Prima di poter creare l'integrazione, è necessario completare il riavvio e applicare correttamente il nuovo valore del parametro al cluster.

    Se la fonte e la destinazione selezionate sono diverse Account AWS, quindi Amazon RDS non può correggere queste impostazioni per te. Devi accedere all'altro account e correggerle manualmente in Amazon Redshift.

  11. Una volta configurato correttamente il data warehouse di destinazione, scegli Avanti.

  12. (Facoltativo) In Tag, aggiungi uno o più tag all'integrazione. Per ulteriori informazioni, consulta Etichettatura di Amazon Aurora e risorse Amazon RDS.

  13. In Crittografia, specifica come eseguire la crittografia dell'integrazione. Per impostazione predefinita, RDS crittografa tutte le integrazioni con un Chiave di proprietà di AWS. Per scegliere invece una chiave gestita dal cliente, abilita Personalizza le impostazioni di crittografia e scegli una KMS chiave da utilizzare per la crittografia. Per ulteriori informazioni, consulta Crittografia delle Amazon Aurora.

    Aggiungi un contesto di crittografia (facoltativo). Per ulteriori informazioni, consulta Contesto di crittografia nella AWS Key Management Service Guida per gli sviluppatori.

    Nota

    Amazon RDS 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, vedete Utilizzo dei vincoli di concessione nel AWS Key Management Service Guida per gli sviluppatori.

  14. Scegli Next (Successivo).

  15. Rivedi le impostazioni di integrazione e scegli Crea ETL integrazione zero.

    Se la creazione ha esito negativo, consulta Non riesco a creare un'integrazione zero ETL per la procedura di risoluzione dei problemi.

Lo stato dell'integrazione è Creating mentre l'integrazione è in fase di creazione, mentre lo stato del data warehouse Amazon Redshift di destinazione è Modifying. Durante questo periodo, non puoi eseguire query sul data warehouse o apportare modifiche alla configurazione.

Quando la creazione dell'integrazione viene completata correttamente, lo stato dell'integrazione e del data warehouse Amazon Redshift di destinazione cambia in Active.

Nota

Durante l'anteprima delle SQL zero integrazioni di Aurora Postgre, puoi ETL creare integrazioni solo tramite AWS Management Console. Non puoi usare il AWS CLI RDSAPI, Amazon o uno qualsiasi deiSDKs.

Per creare un'ETLintegrazione zero utilizzando AWS CLI, utilizzate il comando create-integration con le seguenti opzioni:

  • --integration-name: specifica un nome per l'integrazione.

  • --source-arn— Specificare il cluster ARN del Aurora DB che sarà la fonte per l'integrazione.

  • --target-arn— Specificare il data warehouse ARN di Amazon Redshift che sarà l'obiettivo dell'integrazione.

In Linux, macOS, oppure Unix:

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-db \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

In Windows:

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-db ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid
Nota

Durante l'anteprima delle SQL zero integrazioni di Aurora Postgre, puoi ETL creare integrazioni solo tramite AWS Management Console. Non puoi usare il AWS CLI RDSAPI, Amazon o uno qualsiasi deiSDKs.

Per creare un'ETLintegrazione zero utilizzando Amazon RDSAPI, utilizza l'CreateIntegrationoperazione con i seguenti parametri:

  • IntegrationName: specifica un nome per l'integrazione.

  • SourceArn— Specificare il cluster ARN del Aurora DB che sarà la fonte per l'integrazione.

  • TargetArn— Specificare il data warehouse ARN di Amazon Redshift che sarà l'obiettivo dell'integrazione.

Crittografia delle integrazioni con una chiave gestita dal cliente

Se si specifica una KMS chiave personalizzata anziché una Chiave di proprietà di AWS quando crei un'integrazione, la policy chiave deve fornire al servizio Amazon Redshift l'accesso principale all'azioneCreateGrant. Inoltre, deve consentire all'account o al ruolo richiedente di eseguire le azioni DescribeKey eCreateGrant.

I seguenti esempi di dichiarazioni politiche chiave illustrano le autorizzazioni richieste nel documento relativo alla policy. 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 KMS chiave.

{ "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:ViaServicecondizione limita l'uso della KMS chiave alle richieste provenienti da AmazonRDS.

{ "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":"rds.{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 KMS chiave.

{ "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 politica chiave nel AWS Key Management Service Guida per gli sviluppatori.

Passaggi successivi

Dopo aver creato con successo un'ETLintegrazione zero, devi creare un database di destinazione all'interno del cluster o gruppo di lavoro Amazon Redshift di destinazione. Quindi, puoi iniziare ad aggiungere dati al cluster Aurora DB del di origine e interrogarli in Amazon Redshift. Per istruzioni, consulta Creazione di database di destinazione in Amazon Redshift.