Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Configuración de las AWS integraciones de Oracle Database@ con Amazon Redshift
Para configurar la integración sin ETL entre la base de datos de Oracle y Amazon Redshift, siga estos pasos:
-
Habilite el ETL cero en su red ODB.
-
Configure los requisitos previos de la base de datos Oracle.
-
Configure AWS Secrets Manager y AWS Key Management Service.
-
Configurar los permisos de IAM.
-
Configure las políticas de recursos de Amazon Redshift.
-
Cree la integración sin ETL.
-
Cree la base de datos de destino en Amazon Redshift.
Paso 1: Habilite Zero-ETL para su red ODB
Puede habilitar la integración sin ETL para la red ODB asociada a su clúster de máquinas virtuales de origen. De forma predeterminada, esta integración está deshabilitada.
Para habilitar la integración sin ETL
-
Abra la consola Oracle Database@ en AWS . https://console.aws.amazon.com/odb/
-
En el panel de navegación, elija redes ODB.
-
Seleccione la red ODB para la que desee habilitar la integración sin ETL.
-
Elija Modificar.
-
Seleccione Zero-ETL.
-
Seleccione Continuar y, a continuación, Modificar.
Para habilitar la integración sin ETL, utilice el update-odb-network comando con el --zero-etl-access parámetro:
aws odb update-odb-network \ --odb-network-idodb-network-id\ --zero-etl-access ENABLED
Para habilitar la integración sin ETL en la red ODB asociada al clúster de máquinas virtuales de origen, utilice el comando. update-odb-network Este comando configura la infraestructura de red necesaria para la integración sin ETL.
aws odb update-odb-network \ --odb-network-idyour-odb-network-id\ --zero-etl-access ENABLED
Paso 2: Configure su base de datos Oracle
Complete la configuración de la base de datos Oracle tal y como se describe en los requisitos previos:
Cree los usuarios de replicación y conceda los permisos necesarios.
Habilite los redo logs archivados.
Configure SSL (solo Oracle Exadata).
Configure los usuarios de ASM, si corresponde (solo Oracle Exadata).
Paso 3: Configurar AWS Secrets Manager y AWS Key Management Service
Cree una clave gestionada por el cliente (CMK) y almacene las credenciales de su base de datos.
-
Cree una CMK en el servicio de administración de AWS claves mediante el
create-keycomando.aws kms create-key \ --description "ODB Zero-ETL Integration Key" \ --key-usage ENCRYPT_DECRYPT \ --key-spec SYMMETRIC_DEFAULT -
Guarde las credenciales de su base de datos en 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 -
Adjunte una política de recursos al secreto para permitir el acceso a Oracle Database@AWS .
aws secretsmanager put-resource-policy \ --secret-id "ODBZeroETLCredentials" \ --resource-policy file://secret-resource-policy.jsonEn el comando anterior,
secret-resource-policy.jsoncontiene el siguiente JSON. -
Adjunte una política de recursos a la CMK. La política de recursos de CMK debe incluir permisos tanto para el principal de servicio de Oracle Database@ como para el principal de AWS servicio de Amazon Redshift a fin de admitir la integración cifrada sin ETL.
aws kms put-key-policy \ --key-idyour-cmk-key-arn\ --policy-name default \ --policy file://cmk-resource-policy.jsonEl
cmk-resource-policy.jsonarchivo debe incluir las siguientes declaraciones de política. La primera declaración permite el acceso al AWS servicio Oracle Database@ y la segunda permite a Amazon Redshift crear concesiones en la clave KMS para operaciones de datos cifrados.
Paso 4: Configurar los permisos de IAM
Cree y adjunte políticas de IAM que permitan operaciones de integración sin 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 siguiente política otorga los permisos necesarios.
Paso 5: Configurar las políticas de recursos de Amazon Redshift
Configure políticas de recursos en su clúster de Amazon Redshift para autorizar las integraciones 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
sugerencia
Como alternativa, puede usar la opción Fix it for me de la consola. AWS Esta opción configura automáticamente las políticas de Amazon Redshift requeridas sin que tenga que hacerlo manualmente.
Paso 6: Cree la integración Zero-ETL mediante AWS Glue
Cree la integración Zero-ETL mediante el comando. AWS Glue create-integration En este comando, se especifica el clúster de máquinas virtuales de origen y el espacio de nombres de Amazon Redshift de destino.
El siguiente ejemplo crea una integración con un PDB denominado pdb1 ejecutándose en un clúster de máquinas virtuales de Exadata. También puede crear un clúster de máquinas virtuales autónomas cloud-vm-cluster sustituyéndolo por cloud-autonomous-vm-cluster en el ARN de origen. Especificar una clave KMS es opcional. Si especifica una clave, puede ser diferente de la que creóPaso 3: Configurar AWS Secrets Manager y 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"
El comando devuelve un ARN de integración y establece el estado en. creating Puede supervisar el estado de la integración mediante el describe-integrations comando.
aws glue describe-integrations \ --integration-identifierintegration-id
importante
Solo se admite un PDB por integración. El filtro de datos debe especificar una única PDB, por ejemplo,. include: pdb1.*.* La fuente debe estar en la misma AWS región y cuenta en las que se está creando la integración.
Paso 7: Crear una base de datos de destino en Amazon Redshift
Cuando la integración esté activa, cree una base de datos de destino en el clúster de 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";
Tras crear la base de datos de destino, puede consultar los datos replicados.
-- List databases to verify creation \l -- Connect to the new database \ctarget_database_name-- List tables to see replicated data \dt
Compruebe la integración sin ETL
Compruebe que la integración funciona consultando el estado de la integración AWS Glue y asegurándose de que los cambios de Oracle se estén replicando en Amazon Redshift.
Para comprobar que la integración de Zero-ETL funciona correctamente
-
Compruebe el estado de la integración.
aws glue describe-integrations \ --integration-identifierintegration-idEl estado debe ser
ACTIVEoREPLICATING. -
Compruebe la replicación de datos realizando cambios en la base de datos de Oracle y comprobando que aparecen en Amazon Redshift.
-
Supervise las métricas de replicación en Amazon CloudWatch (si están disponibles).