Integração do Amazon Bedrock com o RDS para Oracle
O RDS para Oracle é compatível com a integração ao Amazon Bedrock, permitindo invocar modelos de base diretamente do banco de dados Oracle usando SQL. Com essa integração, é possível usar recursos de IA generativa, como geração de texto, resumo e geração de incorporações, sem mover os dados para fora do banco de dados.
nota
A integração do Amazon Bedrock é compatível apenas com o Oracle Database 26ai.
Tópicos
Requisitos para a integração do Bedrock
Para usar a integração do Amazon Bedrock com o RDS para Oracle, os seguintes requisitos devem ser atendidos.
Requisitos do banco de dados
-
A instância de banco de dados deve executar o Oracle Database 26ai (26.0.0.0) ou superior.
-
O usuário do banco de dados que invoca os modelos do Bedrock deve ter o privilégio
EXECUTEnos pacotesDBMS_CLOUDeDBMS_CLOUD_AI. -
O banco de dados deve estar configurado com entradas de controle de acesso (ACEs) que permitam acesso HTTPS de saída ao endpoint de runtime do Bedrock. Para obter mais informações, consulte Configurar a integração do Bedrock.
Requisitos das credenciais da AWS
-
Você deve ter um usuário ou um perfil do IAM com permissões para invocar os modelos de base desejados do Amazon Bedrock (as ações
bedrock:InvokeModele, opcionalmente,bedrock:InvokeModelWithResponseStream). -
Você deve ter solicitado e recebido acesso aos modelos de base desejados usando o console do Amazon Bedrock. Consulte mais informações em Acessar modelos de base no Amazon Bedrock no Guia do usuário do Amazon Bedrock.
-
Você deve ter chaves de acesso da AWS (ID da chave de acesso e chave de acesso secreta) para sua identidade do IAM a fim de armazená-las no banco de dados usando
DBMS_CLOUD.CREATE_CREDENTIAL.
Requisitos de rede da Amazon VPC
A instância de banco de dados do RDS para Oracle deve conseguir acessar o endpoint de runtime do Amazon Bedrock (bedrock-runtime.) pela porta 443 (HTTPS). É possível fazer isso de uma das seguintes maneiras.region.amazonaws.com
Opção 1: endpoint de interface da Amazon VPC (AWS PrivateLink) – recomendado
Crie um endpoint de interface da Amazon VPC para o serviço de runtime do Amazon Bedrock. Isso mantém todo o tráfego privado dentro da rede da AWS e não requer acesso à internet.
-
Crie um endpoint de interface da Amazon VPC usando o nome do serviço:
com.amazonaws..region.bedrock-runtime -
Coloque o endpoint na mesma Amazon VPC e nas mesmas sub-redes da instância de banco de dados do Amazon RDS (ou em sub-redes com conectividade às sub-redes da instância de banco de dados).
-
Anexe ao endpoint um grupo de segurança que permita tráfego HTTPS de entrada (porta 443) proveniente do grupo de segurança da instância de banco de dados.
-
Habilite o DNS privado para o endpoint para que o nome de host padrão
bedrock-runtime.seja resolvido para o endereço IP privado do endpoint.region.amazonaws.com -
Confirme se o grupo de segurança da instância de banco de dados permite tráfego HTTPS de saída (porta 443) para o grupo de segurança do endpoint (ou para os endereços IP privados do endpoint).
Opção 2: gateway NAT (rota pela internet)
Se você não usar um endpoint da Amazon VPC, a sub-rede da instância de banco de dados deverá ter uma rota para a internet por meio de um gateway NAT.
-
Confirme se a instância de banco de dados está em uma sub-rede privada com uma rota para um gateway NAT.
-
O gateway NAT deve estar em uma sub-rede pública com uma rota para um gateway da internet.
-
O grupo de segurança da instância de banco de dados deve permitir tráfego HTTPS de saída (porta 443) para
bedrock-runtime..region.amazonaws.com -
Quaisquer ACLs de rede da Amazon VPC na sub-rede da instância de banco de dados devem permitir tráfego TCP de saída na porta 443 e o tráfego de retorno de entrada correspondente em portas efêmeras (TCP 1024–65535).
A tabela a seguir resume os caminhos de rede.
| Abordagem | Acesso à internet necessário | Caminho do tráfego |
|---|---|---|
|
Endpoint da Amazon VPC (AWS PrivateLink) |
Não |
Instância de banco de dados → Endpoint da Amazon VPC → Serviço Bedrock |
|
NAT gateway |
Sim (somente saída) |
Instância de banco de dados → Gateway NAT → Gateway da internet → Serviço Bedrock |
Configurar a integração do Bedrock
Para configurar a integração do Amazon Bedrock para a instância de banco de dados do RDS para Oracle, conclua as seguintes etapas.
Etapa 1: configurar a conectividade de rede da Amazon VPC
Confirme se a instância de banco de dados consegue acessar o endpoint de runtime do Bedrock usando uma das opções de rede descritas em Requisitos de rede da Amazon VPC. Para verificar a conectividade após a configuração, é possível fazer um teste a partir do banco de dados em uma etapa posterior.
Etapa 2: obter credenciais da AWS com permissões do Bedrock
Crie um usuário ou um perfil do IAM com a política a seguir (ou anexe-a a uma identidade existente).
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockInvoke", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] } ] }
Para restringir o acesso a modelos específicos, substitua o caractere curinga pelos ARNs dos modelos desejados, por exemplo:
"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-5-20250929-v1:0"
Gere chaves de acesso para esse usuário do IAM no console do IAM. Você precisará do ID da chave de acesso e da chave de acesso secreta na próxima etapa.
Etapa 3: conceder privilégios do banco de dados
Conecte-se como DBA e conceda ao usuário da aplicação os privilégios necessários.
-- Grant EXECUTE on DBMS_CLOUD and DBMS_CLOUD_AI GRANT EXECUTE ON DBMS_CLOUD TOdb_user; GRANT EXECUTE ON DBMS_CLOUD_AI TOdb_user;
Etapa 4: conceder acesso à ACL de rede para o endpoint do Bedrock
Conceda ao usuário do banco de dados acesso à ACL de rede para o endpoint de runtime do Bedrock.
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE( host => 'bedrock-runtime.region.amazonaws.com', ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => 'db_user', principal_type => xs_acl.ptype_db) ); END; /
Substitua region pela sua região da AWS (por exemplo, us-east-1) e db_user pelo usuário do banco de dados Oracle que invocará os modelos do Bedrock.
Etapa 5: criar uma credencial no banco de dados
Conecte-se como o usuário da aplicação e crie um objeto de credencial usando DBMS_CLOUD.
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'AWS_BEDROCK_CRED', username => 'your_AWS_access_key_id', password => 'your_AWS_secret_access_key' ); END; /
Etapa 6: criar um perfil de IA para o Bedrock
Crie um perfil de IA usando DBMS_CLOUD_AI que faça referência à sua credencial e especifique AWS como provedor.
BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /
Para usar um endpoint de runtime do Amazon Bedrock em uma região diferente de us-east-1, inclua os atributos region e target_language no JSON de atributos do perfil. Defina region como a região em que o endpoint de runtime do Amazon Bedrock está localizado (por exemplo, us-west-2).
Se você definir region, também deverá incluir target_language ou source_language. É necessário definir ambos os atributos em conjunto, mesmo para ações que não usam tradução, como chat ou runsql.
O valor de target_language afeta apenas a ação translate. Se você incluir apenas target_language sem region, o perfil continuará usando bedrock-runtime.us-east-1.amazonaws.com.
nota
É necessário definir target_language juntamente com region devido a uma limitação conhecida do pacote Oracle DBMS_CLOUD_AI.
O exemplo a seguir cria um perfil que usa a região us-west-2.
BEGIN DBMS_CLOUD_AI.CREATE_PROFILE( profile_name => 'BEDROCK_PROFILE_USW2', attributes => '{"provider": "aws", "credential_name": "AWS_BEDROCK_CRED", "region": "us-west-2", "target_language": "en", "model": "us.anthropic.claude-sonnet-4-5-20250929-v1:0", "object_list": [{"owner": "schema", "name": "table1"}, {"owner": "schema", "name": "table2"}] }' ); END; /
É necessário especificar explicitamente o atributo model. Nenhum modelo padrão é fornecido para o provedor AWS. Para obter os IDs dos modelos, consulte as seguintes referências:
-
Modelos básicos: IDs de modelos básicos do Amazon Bedrock.
-
Perfis de inferência entre regiões: Regiões e modelos compatíveis com inferência entre regiões.
-
Throughput provisionado: especifique o ARN do throughput provisionado.
-
Modelos personalizados: adquira o Throughput provisionado e, em seguida, especifique o ARN do modelo provisionado resultante.
Verificar a integração com o Bedrock
Teste a conectividade com um prompt simples.
EXEC DBMS_CLOUD_AI.SET_PROFILE('BEDROCK_PROFILE'); SELECT AI chat what is Amazon RDS;
Se a resposta for retornada com sucesso, a integração com o Bedrock estará configurada corretamente.
Usar a integração com o Bedrock
Depois de configurar a integração, é possível invocar modelos de base do Amazon Bedrock diretamente do banco de dados Oracle usando SQL com o Select AI.
Consulte exemplos completos de uso do Amazon Bedrock, incluindo ações SELECT
AI (runsql, showsql, narrate, chat e explainsql), a função DBMS_CLOUD_AI.GENERATE, conversas de múltiplas interações e geração aumentada via recuperação (RAG), na seguinte documentação da Oracle: