Amazon Bedrock と RDS for Oracle の統合
RDS for Oracle は Amazon Bedrock との統合をサポートしているため、SQL を使用して Oracle Database から直接基盤モデルを呼び出すことができます。この統合により、データベースからデータを移動することなく、テキスト生成、要約、埋め込み生成などの生成 AI 機能を使用できます。
注記
Amazon Bedrock 統合は、Oracle Database 26ai でのみサポートされています。
Bedrock 統合の要件
Amazon Bedrock と RDS for Oracle の統合を使用する場合、次の要件が満たされていることを確認してください。
データベース要件
-
DB インスタンスは Oracle Database 26ai (26.0.0.0) 以降を実行している必要があります。
-
Bedrock モデルを呼び出すデータベースユーザーは、
DBMS_CLOUDおよびDBMS_CLOUD_AIパッケージに対するEXECUTE権限を有している必要があります。 -
データベースには、Bedrock ランタイムエンドポイントへのアウトバウンド HTTPS アクセスを許可するアクセスコントロールエントリ (ACE) を設定する必要があります。詳細については、「Bedrock の統合を設定する」を参照してください。
AWS 認証情報の要件
-
必要な Amazon Bedrock 基盤モデル (
bedrock:InvokeModelおよびオプションでbedrock:InvokeModelWithResponseStreamアクション) を呼び出すためのアクセス許可を持つ IAM ユーザーまたはロールが必要です。 -
Amazon Bedrock コンソールを使用して、必要な基盤モデルへのアクセスをリクエストし、許可されている必要があります。詳細については、「Amazon Bedrock ユーザーガイド」の「Amazon Bedrock 基盤モデルにアクセスする」を参照してください。
-
DBMS_CLOUD.CREATE_CREDENTIALを使用してデータベースに保存するには、IAM ID の AWS アクセスキー (アクセスキー ID とシークレットアクセスキー) が必要です。
Amazon VPC ネットワークの要件
RDS for Oracle DB インスタンスは、ポート 443 (HTTPS) の Amazon Bedrock ランタイムエンドポイント (bedrock-runtime.) に到達できる必要があります。これは、次のいずれかの方法で行うことができます。region.amazonaws.com
オプション 1: Amazon VPC インターフェイスエンドポイント (AWS PrivateLink) – 推奨
Amazon Bedrock ランタイムサービスの Amazon VPC インターフェイスエンドポイントを作成します。これにより、AWS ネットワーク内のすべてのトラフィックがプライベートに保たれます。インターネットアクセスは必要ありません。
-
サービス名
com.amazonaws.を使用して、Amazon VPC インターフェイスエンドポイントを作成します。region.bedrock-runtime -
エンドポイントを Amazon RDS DB インスタンスと同じ Amazon VPC とサブネット (または DB インスタンスサブネットに接続されているサブネット) に配置します。
-
DB インスタンスのセキュリティグループからのインバウンド HTTPS (ポート 443) を許可するセキュリティグループをエンドポイントにアタッチします。
-
標準のホスト名
bedrock-runtime.がプライベートエンドポイント IP アドレスに解決されるように、エンドポイントのプライベート DNS を有効にします。region.amazonaws.com -
DB インスタンスのセキュリティグループが、エンドポイントのセキュリティグループ (またはエンドポイントのプライベート IP アドレス) へのアウトバウンド HTTPS (ポート 443) を許可していることを確認します。
オプション 2: NAT ゲートウェイ (インターネットルート)
Amazon VPC エンドポイントを使用しない場合、DB インスタンスのサブネットには NAT ゲートウェイを介してインターネットへのルートが設定されている必要があります。
-
DB インスタンスが NAT ゲートウェイへのルートを持つプライベートサブネットに属していることを確認します。
-
NAT ゲートウェイがパブリックサブネット内に存在し、インターネットゲートウェイにルーティングされるように設定されている必要があります。
-
DB インスタンスのセキュリティグループは、
bedrock-runtime.へのアウトバウンド HTTPS (ポート 443) を許可する必要があります。region.amazonaws.com -
DB インスタンスのサブネット上の Amazon VPC ネットワーク ACL は、アウトバウンド TCP 443 および対応する一時的なインバウンドリターントラフィック (TCP ポート 1024~65535) を許可する必要があります。
次の表は、ネットワークパスを要約したものです。
| アプローチ | インターネットアクセスの必要性 | トラフィックパス |
|---|---|---|
|
Amazon VPC エンドポイント (AWS PrivateLink) |
いいえ |
DB インスタンス → Amazon VPC エンドポイント → Bedrock サービス |
|
NAT ゲートウェイ |
はい (アウトバウンドのみ) |
DB インスタンス → NAT ゲートウェイ → インターネットゲートウェイ → Bedrock サービス |
Bedrock の統合を設定する
RDS for Oracle DB インスタンスの Amazon Bedrock 統合を設定するには、次の手順を実行します。
ステップ 1: Amazon VPC ネットワーク接続を設定する
「Amazon VPC ネットワークの要件」で説明されているネットワークオプションのいずれかを使用して、DB インスタンスが Bedrock ランタイムエンドポイントに到達できることを確認します。設定後に接続を確認するには、後のステップでデータベースからテストできます。
ステップ 2: Bedrock アクセス許可を持つ AWS 認証情報を取得する
次のポリシーを使用して IAM ユーザーまたはロールを作成します (または既存の ID にアタッチします)。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "BedrockInvoke", "Effect": "Allow", "Action": [ "bedrock:InvokeModel", "bedrock:InvokeModelWithResponseStream" ], "Resource": [ "arn:aws:bedrock:region::foundation-model/*" ] } ] }
特定のモデルへのアクセスを制限するには、ワイルドカードを特定のモデル ARN に置き換えます。次に例を示します。
"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 TOdb_user; GRANT EXECUTE ON DBMS_CLOUD_AI TOdb_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; /
region を自分の AWS リージョン (例: us-east-1) に置き換え、db_user を Bedrock モデルを呼び出す Oracle Database ユーザーに置き換えます。
ステップ 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 プロファイルを作成する
DBMS_CLOUD_AI を使用して、認証情報を参照し、プロバイダーとして AWS を指定する AI プロファイルを作成します。
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; /
us-east-1 以外のリージョンで Amazon Bedrock ランタイムエンドポイントを使用するには、プロファイル属性 JSON に region および target_language 属性を含めます。region を、Amazon Bedrock ランタイムエンドポイントがあるリージョン (例: us-west-2) に設定します。
region を設定する場合は、target_language または source_language も含める必要があります。chat や runsql などの翻訳を使用しないアクションでも、両方の属性を一緒に設定する必要があります。
target_language 値は translate アクションにのみ影響します。region なしで target_language のみを含めると、プロファイルは引き続き bedrock-runtime.us-east-1.amazonaws.com を使用します。
注記
Oracle DBMS_CLOUD_AI パッケージには既知の制限があるため、target_language を region と一緒に設定する必要があります。
次の例では、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 プロバイダーにはデフォルトのモデルは提供されません。モデル ID については、以下のリファレンスを参照してください。
-
ベースモデル: Amazon Bedrock ベースモデル ID。
-
クロスリージョン推論プロファイル: クロスリージョン推論でサポートされているリージョンとモデル。
-
プロビジョンドスループット: プロビジョンドスループットの ARN を指定します。
-
カスタムモデル: プロビジョンドスループットを購入し、結果のプロビジョンドモデルの ARN を指定します。
Bedrock 統合の検証
シンプルなプロンプトで接続をテストします。
EXEC DBMS_CLOUD_AI.SET_PROFILE('BEDROCK_PROFILE'); SELECT AI chat what is Amazon RDS;
レスポンスが正常に返される場合は、Bedrock 統合が正しく設定されています。
Bedrock 統合の使用
統合を設定したら、Select AI で SQL を使用して Oracle Database から Amazon Bedrock 基盤モデルを呼び出すことができます。
SELECT
AI アクション (runsql、showsql、narrate、chat、explainsql)、DBMS_CLOUD_AI.GENERATE 関数、マルチターン会話、検索拡張生成 (RAG) など、Amazon Bedrock の完全な使用例については、次の Oracle ドキュメントを参照してください。