View a markdown version of this page

RDS for Oracle 的 Amazon Bedrock 整合 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

RDS for Oracle 的 Amazon Bedrock 整合

RDS for Oracle 支援與 Amazon Bedrock 整合,可讓您使用 SQL 直接從 Oracle 資料庫叫用基礎模型。透過此整合,您可以使用生成式 AI 功能,例如文字產生、摘要和內嵌產生,而無需將資料移出資料庫。

注意

僅 Oracle Database 26ai 支援 Amazon Bedrock 整合。

Bedrock 整合的需求

若要使用 Amazon Bedrock 與 RDS for Oracle 整合,請確保符合下列要求。

資料庫需求

  • 您的資料庫執行個體必須執行 Oracle Database 26ai (26.0.0.0) 或更新版本。

  • 叫用 Bedrock 模型的資料庫使用者必須具有 DBMS_CLOUDDBMS_CLOUD_AI套件EXECUTE的權限。

  • 資料庫必須設定存取控制項目 (ACEs),以允許傳出 HTTPS 存取 Bedrock 執行時間端點。如需詳細資訊,請參閱設定 Bedrock 整合

AWS 登入資料需求

  • 您必須擁有具有許可的 IAM 使用者或角色,才能叫用所需的 Amazon Bedrock 基礎模型 ( bedrock:InvokeModel和選用bedrock:InvokeModelWithResponseStream動作)。

  • 您必須使用 Amazon Bedrock 主控台請求並取得所需基礎模型的存取權。如需詳細資訊,請參閱《Amazon Bedrock 使用者指南》中的存取 Amazon Bedrock 基礎模型

  • 您必須擁有 AWS 存取金鑰 (存取金鑰 ID 和私密存取金鑰),您的 IAM 身分才能使用 存放在資料庫中DBMS_CLOUD.CREATE_CREDENTIAL

Amazon VPC 網路需求

RDS for Oracle 資料庫執行個體必須能夠到達連接埠 443 (HTTPSbedrock-runtime.region.amazonaws.com) 上的 Amazon Bedrock 執行期端點 ()。您可以透過下列其中一種方式達成此目的。

選項 1:Amazon VPC 介面端點 (AWS PrivateLink) – 建議

為 Amazon Bedrock 執行時間服務建立 Amazon VPC 介面端點。這可保持 AWS 網路內所有流量的私密性,且不需要網際網路存取。

  1. 使用服務名稱建立 Amazon VPC 介面端點:com.amazonaws.region.bedrock-runtime

  2. 將端點放在與 Amazon RDS 資料庫執行個體相同的 Amazon VPC 和子網路 (或連接到資料庫執行個體子網路的子網路)。

  3. 將安全群組連接至允許從資料庫執行個體安全群組傳入 HTTPS (連接埠 443) 的端點。

  4. 為端點啟用私有 DNS,讓標準主機名稱bedrock-runtime.region.amazonaws.com解析為私有端點 IP 地址。

  5. 確保資料庫執行個體的安全群組允許傳出 HTTPS (連接埠 443) 到端點的安全群組 (或端點的私有 IP 地址)。

選項 2:NAT 閘道 (網際網路路由)

如果您不使用 Amazon VPC 端點,資料庫執行個體的子網路必須具有透過 NAT 閘道連至網際網路的路由。

  1. 確定資料庫執行個體位於具有 NAT 閘道路由的私有子網路中。

  2. NAT 閘道必須位於具有網際網路閘道路由的公有子網路中。

  3. 資料庫執行個體的安全群組必須允許傳出 HTTPS (連接埠 443) 到 bedrock-runtime.region.amazonaws.com

  4. 資料庫執行個體子網路上的任何 Amazon VPC 網路 ACLs 必須允許傳出 TCP 443 和對應的暫時性傳入傳回流量 (TCP 連接埠 1024–65535)。

下表摘要說明網路路徑。

Bedrock 整合的網路路徑
方法 需要網際網路存取 流量路徑

Amazon VPC 端點 (AWS PrivateLink)

資料庫執行個體 → Amazon VPC 端點 → Bedrock 服務

NAT 閘道

是 (僅限傳出)

資料庫執行個體 → NAT 閘道 → 網際網路閘道 → Bedrock 服務

設定 Bedrock 整合

若要設定 RDS for Oracle 資料庫執行個體的 Amazon Bedrock 整合,請完成下列步驟。

步驟 1:設定 Amazon VPC 網路連線

使用中所述的其中一個網路選項,確保您的資料庫執行個體可以到達 Bedrock 執行時間端點Amazon VPC 網路需求。若要在組態後驗證連線能力,您可以在後續步驟中從資料庫進行測試。

步驟 2:取得具有 Bedrock 許可的 AWS 登入資料

使用下列政策建立 IAM 使用者或角色 (或將其連接至現有身分)。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockInvoke", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] } ] }

若要限制存取特定模型,請將萬用字元取代為特定模型 ARNs,例如:

"arn:aws:bedrock:us-east-1::foundation-model/anthropic.claude-sonnet-4-5-20250929-v1:0"

從 IAM 主控台產生此 IAM 使用者的存取金鑰。您需要存取金鑰 ID 和私密存取金鑰,才能進行下一個步驟。

步驟 3:授予資料庫權限

以 DBA 身分連線,並將必要的權限授予應用程式使用者。

-- Grant EXECUTE on DBMS_CLOUD and DBMS_CLOUD_AI GRANT EXECUTE ON DBMS_CLOUD TO db_user; GRANT EXECUTE ON DBMS_CLOUD_AI TO db_user;

步驟 4:授予 Bedrock 端點的網路 ACL 存取權

授予資料庫使用者網路 ACL 對 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; /

區域取代為您的 AWS 區域 (例如,us-east-1),並將 db_user 取代為將調用 Bedrock 模型的 Oracle 資料庫使用者。

步驟 5:在資料庫中建立登入資料

以應用程式使用者身分連線,並使用 建立登入資料物件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; /

步驟 6:建立 Bedrock 的 AI 設定檔

使用 來建立 AI 設定檔DBMS_CLOUD_AI,以參考您的登入資料並指定 AWS 做為提供者。

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; /

若要在 以外的區域中使用 Amazon Bedrock 執行時間端點us-east-1,請在設定檔target_language屬性 JSON 中包含 region和 屬性。將 region設定為 Amazon Bedrock 執行時間端點所在的區域 (例如 us-west-2)。

如果您設定 region,您還必須包含 target_languagesource_language。您必須同時設定兩個屬性,即使是不使用轉譯的動作,例如 chatrunsql

target_language值只會影響 translate動作。如果您只包含target_language沒有 的 region,則設定檔會繼續使用 bedrock-runtime.us-east-1.amazonaws.com

注意

由於 Oracle region DBMS_CLOUD_AI套件的已知限制,您必須target_language同時設定 。

下列範例會建立使用 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; /

您必須明確指定 model 屬性。未為 AWS 提供者提供預設模型。如需模型 IDs,請參閱下列參考:

驗證您的 Bedrock 整合

使用簡單的提示測試連線。

EXEC DBMS_CLOUD_AI.SET_PROFILE('BEDROCK_PROFILE'); SELECT AI chat what is Amazon RDS;

如果回應成功傳回,則會正確設定 Bedrock 整合。

使用 Bedrock 整合

設定整合之後,您可以使用 SQL 搭配 Select AI 從 Oracle 資料庫叫用 Amazon Bedrock 基礎模型。

如需 Amazon Bedrock 的完整使用範例,包括SELECT AI動作 (runsqlchat、、 showsql narrateexplainsql)、 DBMS_CLOUD_AI.GENERATE函數、多轉對話和擷取擴增產生 (RAG),請參閱下列 Oracle 文件: