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à.
Configurazione delle AWS integrazioni Oracle Database@ con Amazon Redshift
Per configurare l'integrazione zero-ETL tra il tuo database Oracle e Amazon Redshift, completa i seguenti passaggi:
-
Abilita Zero-ETL sulla tua rete ODB.
-
Configura i prerequisiti del database Oracle.
-
Configurare AWS Secrets Manager e AWS Key Management Service.
-
Configura le autorizzazioni IAM.
-
Configura le policy relative alle risorse di Amazon Redshift.
-
Crea l'integrazione zero-ETL.
-
Crea il database di destinazione in Amazon Redshift.
Passaggio 1: abilita Zero-ETL per la tua rete ODB
È possibile abilitare l'integrazione zero-ETL per la rete ODB associata al cluster VM di origine. Per impostazione predefinita, questa integrazione è disabilitata.
Per abilitare l'integrazione zero-ETL
-
Aprire la console Oracle AWS Database@ all'indirizzo. https://console.aws.amazon.com/odb/
-
Nel riquadro di navigazione, scegli Reti ODB.
-
Seleziona la rete ODB per la quale desideri abilitare l'integrazione zero-ETL.
-
Scegli Modifica.
-
Seleziona zero-ETL.
-
Scegli Continua e poi Modifica.
Per abilitare l'integrazione zero-ETL, utilizzate il update-odb-network comando con il parametro: --zero-etl-access
aws odb update-odb-network \ --odb-network-idodb-network-id\ --zero-etl-access ENABLED
Per abilitare l'integrazione zero-ETL per la rete ODB associata al cluster VM di origine, utilizzare il comando. update-odb-network Questo comando configura l'infrastruttura di rete richiesta per l'integrazione zero-ETL.
aws odb update-odb-network \ --odb-network-idyour-odb-network-id\ --zero-etl-access ENABLED
Fase 2: Configurazione del database Oracle
Completa la configurazione del database Oracle come descritto nei Prerequisiti:
Creare utenti di replica e concedere le autorizzazioni necessarie.
Abilita i redo log archiviati.
Configura SSL (solo Oracle Exadata).
Configura gli utenti ASM, se applicabile (solo Oracle Exadata).
Fase 3: Configurare AWS Secrets Manager e AWS Key Management Service
Crea una chiave gestita dal cliente (CMK) e archivia le credenziali del database.
-
Crea una CMK nel servizio di gestione delle AWS chiavi utilizzando il comando.
create-keyaws kms create-key \ --description "ODB Zero-ETL Integration Key" \ --key-usage ENCRYPT_DECRYPT \ --key-spec SYMMETRIC_DEFAULT -
Archivia le credenziali del database in AWS Secrets Manager.
aws secretsmanager create-secret \ --name "ODBZeroETLCredentials" \ --description "Credentials for Oracle Database@AWS Zero-ETL integration" \ --kms-key-idyour-cmk-key-arn\ --secret-string file://secret-content.json -
Allega una policy relativa alle risorse al segreto per consentire l'accesso a Oracle Database@AWS .
aws secretsmanager put-resource-policy \ --secret-id "ODBZeroETLCredentials" \ --resource-policy file://secret-resource-policy.jsonNel comando precedente,
secret-resource-policy.jsoncontiene il seguente codice JSON. -
Allega una politica delle risorse alla CMK. La politica delle risorse CMK deve includere le autorizzazioni sia per il principale del servizio Oracle Database@ che per il principale del AWS servizio Amazon Redshift per supportare l'integrazione zero-ETL crittografata.
aws kms put-key-policy \ --key-idyour-cmk-key-arn\ --policy-name default \ --policy file://cmk-resource-policy.jsonIl file deve includere le seguenti dichiarazioni politiche.
cmk-resource-policy.jsonLa prima istruzione consente l'accesso al AWS servizio Oracle Database@ e la seconda istruzione consente ad Amazon Redshift di creare concessioni sulla chiave KMS per operazioni di dati crittografati.
Fase 4: Configurazione delle autorizzazioni IAM
Crea e allega policy IAM che consentano operazioni di integrazione zero-ETL.
aws iam create-policy \ --policy-name "ODBZeroETLIntegrationPolicy" \ --policy-document file://odb-zetl-iam-policy.json aws iam attach-user-policy \ --user-nameyour-iam-username\ --policy-arnpolicy-arn
La seguente politica concede le autorizzazioni necessarie.
Fase 5: Configurazione delle policy relative alle risorse di Amazon Redshift
Configura politiche relative alle risorse sul tuo cluster Amazon Redshift per autorizzare le integrazioni in entrata.
aws redshift put-resource-policy \ --no-verify-ssl \ --resource-arn "your-redshift-cluster-arn" \ --policy '{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "redshift:AuthorizeInboundIntegration" ], "Condition": { "StringEquals": { "aws:SourceArn": "your-vm-cluster-arn" } } }, { "Effect": "Allow", "Principal": { "AWS": "your-account-id" }, "Action": [ "redshift:CreateInboundIntegration" ] } ] }' \ --region us-west-2
Suggerimento
In alternativa, puoi utilizzare l'opzione Fix it for me nella console. AWS Questa opzione configura automaticamente le politiche Amazon Redshift richieste senza che tu debba farlo manualmente.
Passaggio 6: crea l'integrazione zero-ETL utilizzando AWS Glue
Crea l'integrazione zero-ETL utilizzando il comando. AWS Glue create-integration In questo comando, specifichi il cluster di macchine virtuali di origine e lo spazio dei nomi Amazon Redshift di destinazione.
L'esempio seguente crea un'integrazione con un PDB denominato in pdb1 esecuzione in un cluster di macchine virtuali Exadata. È inoltre possibile creare un cluster di macchine virtuali autonome sostituendolo cloud-vm-cluster con l'cloud-autonomous-vm-clusterARN di origine. La specificazione di una chiave KMS è facoltativa. Se specifichi una chiave, questa può essere diversa da quella in cui hai creato. Fase 3: Configurare AWS Secrets Manager e AWS Key Management Service
aws glue create-integration \ --integration-name "MyODBZeroETLIntegration" \ --source-arn "arn:aws:odb:region:account:cloud-vm-cluster/cluster-id" \ --target-arn "arn:aws:redshift:region:account:namespace/namespace-id" \ --data-filter "include:pdb1.*.*" \ --integration-config '{ "RefreshInterval": "10", "IntegrationMode": "DEFAULT", "SourcePropertiesMap": { "secret-arn": "arn:aws:secretsmanager:region:account:secret:secret-name" } }' \ --description "Zero-ETL integration for Oracle to Amazon Redshift" \ --kms-key-id "arn:aws:kms:region:account:key/key-id"
Il comando restituisce un ARN di integrazione e imposta lo stato su. creating È possibile monitorare lo stato dell'integrazione utilizzando il describe-integrations comando.
aws glue describe-integrations \ --integration-identifierintegration-id
Importante
È supportato un solo PDB per integrazione. Il filtro dati deve specificare un singolo PDB, ad esempio. include: pdb1.*.* L'origine deve trovarsi nella stessa AWS regione e nello stesso account in cui viene creata l'integrazione.
Fase 7: creare un database di destinazione in Amazon Redshift
Dopo che l'integrazione è attiva, crea un database di destinazione nel tuo cluster Amazon Redshift.
-- Connect to your Amazon Redshift cluster psql -hyour-redshift-endpoint-Uusername-ddatabase-- Create database from integration CREATE DATABASEtarget_database_nameFROM INTEGRATION 'integration-id' DATABASE "source_pdb_name";
Dopo aver creato il database di destinazione, puoi interrogare i dati replicati.
-- List databases to verify creation \l -- Connect to the new database \ctarget_database_name-- List tables to see replicated data \dt
Verifica l'integrazione Zero-ETL
Verifica che l'integrazione funzioni interrogando lo stato dell'integrazione AWS Glue e assicurandoti che le modifiche a Oracle vengano replicate su Amazon Redshift.
Per verificare che l'integrazione zero-ETL funzioni correttamente
-
Verifica lo stato dell'integrazione.
aws glue describe-integrations \ --integration-identifierintegration-idLo stato dovrebbe essere
ACTIVEoREPLICATING. -
Verifica la replica dei dati apportando modifiche al tuo database Oracle e verificando che vengano visualizzate in Amazon Redshift.
-
Monitora i parametri di replica in Amazon CloudWatch (se disponibili).