Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration des AWS intégrations Oracle Database@ avec Amazon Redshift
Pour configurer l'intégration Zero-ETL entre votre base de données Oracle et Amazon Redshift, procédez comme suit :
-
Activez Zero-ETL sur votre réseau ODB.
-
Configurez les conditions requises pour la base de données Oracle.
-
Configurez le Gestionnaire de AWS Secrets Manager et le Service de gestion des AWS clés.
-
Configurez les autorisations IAM.
-
Configurez les politiques relatives aux ressources Amazon Redshift.
-
Créez l'intégration Zero-ETL.
-
Créez la base de données cible dans Amazon Redshift.
Étape 1 : Activez Zero-ETL pour votre réseau ODB
Vous pouvez activer l'intégration zéro ETL pour le réseau ODB associé à votre cluster de machines virtuelles source. Par défaut, cette intégration est désactivée.
Pour activer l'intégration Zero-ETL
-
Ouvrez la AWS console Oracle Database@ à l'adresse. https://console.aws.amazon.com/odb/
-
Dans le volet de navigation, sélectionnez ODB networks.
-
Sélectionnez le réseau ODB pour lequel vous souhaitez activer l'intégration zéro ETL.
-
Sélectionnez Modifier.
-
Sélectionnez Zero-ETL.
-
Choisissez Continuer, puis Modifier.
Pour activer l'intégration Zero-ETL, utilisez la update-odb-network commande avec le --zero-etl-access paramètre :
aws odb update-odb-network \ --odb-network-idodb-network-id\ --zero-etl-access ENABLED
Pour activer l'intégration zéro ETL pour le réseau ODB associé à votre cluster de machines virtuelles source, utilisez la update-odb-network commande. Cette commande configure l'infrastructure réseau requise pour l'intégration sans ETL.
aws odb update-odb-network \ --odb-network-idyour-odb-network-id\ --zero-etl-access ENABLED
Étape 2 : Configuration de votre base de données Oracle
Complétez la configuration de la base de données Oracle comme décrit dans les conditions préalables :
Créez des utilisateurs de réplication et accordez les autorisations nécessaires.
Activez les journaux de restauration archivés.
Configurez le protocole SSL (Oracle Exadata uniquement).
Configurez les utilisateurs ASM le cas échéant (Oracle Exadata uniquement).
Étape 3 : configurer le Gestionnaire de AWS Secrets Manager et le service de gestion des AWS clés
Créez une clé gérée par le client (CMK) et stockez les informations d'identification de votre base de données.
-
Créez une clé CMK dans le service de gestion des AWS clés à l'aide de la
create-keycommande.aws kms create-key \ --description "ODB Zero-ETL Integration Key" \ --key-usage ENCRYPT_DECRYPT \ --key-spec SYMMETRIC_DEFAULT -
Stockez les informations d'identification de votre base de données dans 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 -
Associez une politique de ressources au secret pour autoriser l'accès à Oracle Database@AWS .
aws secretsmanager put-resource-policy \ --secret-id "ODBZeroETLCredentials" \ --resource-policy file://secret-resource-policy.jsonDans la commande précédente,
secret-resource-policy.jsoncontient le code JSON suivant. -
Attachez une politique de ressources à la clé CMK. La politique de ressources CMK doit inclure des autorisations pour le principal de service Oracle Database@ et le principal de AWS service Amazon Redshift afin de prendre en charge l'intégration chiffrée sans ETL.
aws kms put-key-policy \ --key-idyour-cmk-key-arn\ --policy-name default \ --policy file://cmk-resource-policy.jsonLe
cmk-resource-policy.jsonfichier doit inclure les déclarations de politique suivantes. La première instruction autorise l'accès au AWS service Oracle Database@, et la seconde autorise Amazon Redshift à créer des autorisations sur la clé KMS pour les opérations de données chiffrées.
Étape 4 : Configuration des autorisations IAM
Créez et attachez des politiques IAM qui autorisent les opérations d'intégration sans 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 politique suivante accorde les autorisations nécessaires.
Étape 5 : Configuration des politiques de ressources Amazon Redshift
Configurez des politiques de ressources sur votre cluster Amazon Redshift afin d'autoriser les intégrations entrantes.
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
Astuce
Vous pouvez également utiliser l'option Corriger pour moi dans la AWS console. Cette option configure automatiquement les politiques Amazon Redshift requises sans que vous ayez à le faire manuellement.
Étape 6 : Créez l'intégration Zero-ETL à l'aide de AWS Glue
Créez l'intégration Zero-ETL à l'aide de la AWS Glue create-integration commande. Dans cette commande, vous spécifiez le cluster de machines virtuelles source et l'espace de noms Amazon Redshift cible.
L'exemple suivant crée une intégration avec un PDB nommé pdb1 running in a Exadata VM cluster. Vous pouvez également créer un cluster de machines virtuelles autonomes en le cloud-vm-cluster remplaçant par cloud-autonomous-vm-cluster dans l'ARN source. La spécification d'une clé KMS est facultative. Si vous spécifiez une clé, elle peut être différente de celle dans laquelle vous l'avez crééeÉtape 3 : configurer le Gestionnaire de AWS Secrets Manager et le service de gestion des AWS clés.
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"
La commande renvoie un ARN d'intégration et définit le statut surcreating. Vous pouvez surveiller l'état de l'intégration à l'aide de la describe-integrations commande.
aws glue describe-integrations \ --integration-identifierintegration-id
Important
Un seul PDB par intégration est pris en charge. Le filtre de données doit spécifier un seul PDB, include: pdb1.*.* par exemple. La source doit se trouver dans la même AWS région et dans le même compte que ceux dans lesquels l'intégration est créée.
Étape 7 : créer une base de données cible dans Amazon Redshift
Une fois l'intégration active, créez une base de données cible dans votre 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";
Après avoir créé la base de données cible, vous pouvez interroger les données répliquées.
-- List databases to verify creation \l -- Connect to the new database \ctarget_database_name-- List tables to see replicated data \dt
Vérifiez l'intégration Zero-ETL
Vérifiez que l'intégration fonctionne en interrogeant le statut de l'intégration dans AWS Glue et en vous assurant que vos modifications Oracle sont répliquées sur Amazon Redshift.
Pour vérifier que votre intégration Zero-ETL fonctionne correctement
-
Vérifiez l'état de l'intégration.
aws glue describe-integrations \ --integration-identifierintegration-idLe statut doit être
ACTIVEouREPLICATING. -
Vérifiez la réplication des données en apportant des modifications à votre base de données Oracle et en vérifiant qu'elles apparaissent dans Amazon Redshift.
-
Surveillez les métriques de réplication sur Amazon CloudWatch (si disponible).