View a markdown version of this page

Amazon Bedrock と RDS for Oracle の統合 - Amazon Relational Database Service

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 ネットワーク内のすべてのトラフィックがプライベートに保たれます。インターネットアクセスは必要ありません。

  1. サービス名 com.amazonaws.region.bedrock-runtime を使用して、Amazon VPC インターフェイスエンドポイントを作成します。

  2. エンドポイントを Amazon RDS DB インスタンスと同じ Amazon VPC とサブネット (または DB インスタンスサブネットに接続されているサブネット) に配置します。

  3. DB インスタンスのセキュリティグループからのインバウンド HTTPS (ポート 443) を許可するセキュリティグループをエンドポイントにアタッチします。

  4. 標準のホスト名 bedrock-runtime.region.amazonaws.com がプライベートエンドポイント IP アドレスに解決されるように、エンドポイントのプライベート DNS を有効にします。

  5. DB インスタンスのセキュリティグループが、エンドポイントのセキュリティグループ (またはエンドポイントのプライベート IP アドレス) へのアウトバウンド HTTPS (ポート 443) を許可していることを確認します。

オプション 2: NAT ゲートウェイ (インターネットルート)

Amazon VPC エンドポイントを使用しない場合、DB インスタンスのサブネットには NAT ゲートウェイを介してインターネットへのルートが設定されている必要があります。

  1. DB インスタンスが NAT ゲートウェイへのルートを持つプライベートサブネットに属していることを確認します。

  2. NAT ゲートウェイがパブリックサブネット内に存在し、インターネットゲートウェイにルーティングされるように設定されている必要があります。

  3. DB インスタンスのセキュリティグループは、bedrock-runtime.region.amazonaws.com へのアウトバウンド HTTPS (ポート 443) を許可する必要があります。

  4. DB インスタンスのサブネット上の Amazon VPC ネットワーク ACL は、アウトバウンド TCP 443 および対応する一時的なインバウンドリターントラフィック (TCP ポート 1024~65535) を許可する必要があります。

次の表は、ネットワークパスを要約したものです。

Bedrock 統合のネットワークパス
アプローチ インターネットアクセスの必要性 トラフィックパス

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

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 も含める必要があります。chatrunsql などの翻訳を使用しないアクションでも、両方の属性を一緒に設定する必要があります。

target_language 値は translate アクションにのみ影響します。region なしで target_language のみを含めると、プロファイルは引き続き bedrock-runtime.us-east-1.amazonaws.com を使用します。

注記

Oracle DBMS_CLOUD_AI パッケージには既知の制限があるため、target_languageregion と一緒に設定する必要があります。

次の例では、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 については、以下のリファレンスを参照してください。

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 アクション (runsqlshowsqlnarratechatexplainsql)、DBMS_CLOUD_AI.GENERATE 関数、マルチターン会話、検索拡張生成 (RAG) など、Amazon Bedrock の完全な使用例については、次の Oracle ドキュメントを参照してください。