As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurando AWS integrações do Oracle Database@ com o Amazon Redshift
Para configurar a integração sem ETL entre seu banco de dados Oracle e o Amazon Redshift, conclua as seguintes etapas:
-
Ative o Zero-ETL na sua rede ODB.
-
Configure os pré-requisitos do banco de dados Oracle.
-
Configure o AWS Secrets Manager e o AWS Key Management Service.
-
Configurar permissões do IAM
-
Configure as políticas de recursos do Amazon Redshift.
-
Crie a integração Zero-ETL.
-
Crie o banco de dados de destino no Amazon Redshift.
Etapa 1: Habilitar Zero-ETL para sua rede ODB
Você pode ativar a integração Zero-ETL para a rede ODB associada ao seu cluster de VM de origem. Por padrão, essa integração está desativada.
Para habilitar a integração Zero-ETL
-
Abra o AWS console Oracle Database@ em. https://console.aws.amazon.com/odb/
-
No painel de navegação, escolha Redes ODB.
-
Selecione a rede ODB para a qual você deseja habilitar a integração Zero-ETL.
-
Escolha Modificar.
-
Selecione Zero-ETL.
-
Escolha Continuar e, em seguida, Modificar.
Para habilitar a integração Zero-ETL, use o update-odb-network comando com o parâmetro: --zero-etl-access
aws odb update-odb-network \ --odb-network-idodb-network-id\ --zero-etl-access ENABLED
Para habilitar a integração Zero-ETL para a rede ODB associada ao seu cluster de VM de origem, use o comando. update-odb-network Esse comando configura a infraestrutura de rede necessária para a integração Zero-ETL.
aws odb update-odb-network \ --odb-network-idyour-odb-network-id\ --zero-etl-access ENABLED
Etapa 2: Configurar seu banco de dados Oracle
Conclua a configuração do banco de dados Oracle conforme descrito nos Pré-requisitos:
Crie usuários de replicação e conceda as permissões necessárias.
Ative os redo logs arquivados.
Configure o SSL (somente Oracle Exadata).
Configure usuários do ASM, se aplicável (somente Oracle Exadata).
Etapa 3: Configurar o AWS Secrets Manager e o AWS Key Management Service
Crie uma Chave Gerenciada pelo Cliente (CMK) e armazene suas credenciais de banco de dados.
-
Crie uma CMK no AWS Key Management Service usando o
create-keycomando.aws kms create-key \ --description "ODB Zero-ETL Integration Key" \ --key-usage ENCRYPT_DECRYPT \ --key-spec SYMMETRIC_DEFAULT -
Armazene suas credenciais de banco de dados no 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 -
Anexe uma política de recursos ao segredo para permitir o acesso ao Oracle Database@AWS .
aws secretsmanager put-resource-policy \ --secret-id "ODBZeroETLCredentials" \ --resource-policy file://secret-resource-policy.jsonNo comando anterior,
secret-resource-policy.jsoncontém o seguinte JSON. -
Anexe uma política de recursos à CMK. A política de recursos da CMK deve incluir permissões para o responsável pelo serviço principal do Oracle Database@ e pelo responsável pelo AWS serviço principal do Amazon Redshift para oferecer suporte à integração criptografada de zero ETL.
aws kms put-key-policy \ --key-idyour-cmk-key-arn\ --policy-name default \ --policy file://cmk-resource-policy.jsonO
cmk-resource-policy.jsonarquivo deve incluir as seguintes declarações de política. A primeira instrução permite o acesso ao AWS serviço Oracle Database@ e a segunda permite que o Amazon Redshift crie concessões na chave KMS para operações de dados criptografados.
Etapa 4: configurar as permissões do IAM
Crie e anexe políticas do IAM que permitam operações de integração sem 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
A política a seguir concede as permissões necessárias.
Etapa 5: Configurar as políticas de recursos do Amazon Redshift
Configure políticas de recursos em seu cluster do Amazon Redshift para autorizar integrações de entrada.
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
dica
Como alternativa, você pode usar a opção Corrigir para mim no AWS console. Essa opção configura automaticamente as políticas necessárias do Amazon Redshift sem que você precise fazer isso manualmente.
Etapa 6: Crie a integração Zero-ETL usando AWS Glue
Crie a integração Zero-ETL usando o comando. AWS Glue create-integration Nesse comando, você especifica o cluster de VM de origem e o namespace Amazon Redshift de destino.
O exemplo a seguir cria uma integração com um PDB chamado em pdb1 execução em um cluster de VM do Exadata. Você também pode criar um cluster de VM autônomo cloud-vm-cluster substituindo-o por cloud-autonomous-vm-cluster no ARN de origem. Especificar uma chave KMS é opcional. Se você especificar uma chave, ela poderá ser diferente daquela que você criou emEtapa 3: Configurar o AWS Secrets Manager e o 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"
O comando retorna um ARN de integração e define o status como. creating Você pode monitorar o status da integração usando o describe-integrations comando.
aws glue describe-integrations \ --integration-identifierintegration-id
Importante
Somente um PDB por integração é suportado. O filtro de dados deve especificar um único PDB, por exemplo,include: pdb1.*.*. A origem deve estar na mesma AWS região e conta em que a integração está sendo criada.
Etapa 7: Criar um banco de dados de destino no Amazon Redshift
Depois que a integração estiver ativa, crie um banco de dados de destino em seu cluster do 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";
Depois de criar o banco de dados de destino, você pode consultar os dados replicados.
-- List databases to verify creation \l -- Connect to the new database \ctarget_database_name-- List tables to see replicated data \dt
Verifique a integração Zero-ETL
Verifique se a integração funciona consultando o status da integração AWS Glue e certificando-se de que suas alterações no Oracle estejam sendo replicadas para o Amazon Redshift.
Para verificar se sua integração com Zero-ETL está funcionando corretamente
-
Verifique o status da integração.
aws glue describe-integrations \ --integration-identifierintegration-idO status deve ser
ACTIVEouREPLICATING. -
Verifique a replicação de dados fazendo alterações em seu banco de dados Oracle e verificando se elas aparecem no Amazon Redshift.
-
Monitore as métricas de replicação na Amazon CloudWatch (se disponível).