Amazon Bedrock は、AWS が管理するインフラストラクチャ上で、サポート対象の OpenAI モデルを実行します。このガイドでは、OpenAI API との機能の違いと、OpenAI SDK を使って接続する方法を説明します。デプロイの設定については、このページに記載の AWS ドキュメントを参照してください。
アプリケーションで利用できる機能は、モデルの機能と API の互換性によって決まります。Bedrock でのモデルへのアクセス、リージョン別の提供状況、ルーティング、請求、運用上の制御は AWS が管理します。
Bedrock でのモデルと機能の提供状況
Amazon Bedrock では、bedrock-runtime と bedrock-mantle の 2 つのエンドポイントを通じて OpenAI モデルを利用できます。どちらも対象モデルで OpenAI 互換の Responses API と Chat Completions API をサポートしていますが、利用できる機能は異なります。
アプリケーションに必要な機能に応じてエンドポイントを選択してください。たとえば、ホスト型ウェブ検索には現在 Mantle が必要です。Bedrock 固有の機能とエンドポイントの選び方については、このページの「エンドポイントの違い」と、AWS の「エンドポイントの比較」を参照してください。
GPT-6 Sol と GPT-6 Luna は Bedrock Runtime で利用でき、Mantle では us-east-1(バージニア北部)で利用できます。GPT-6 Astra は Bedrock Runtime で利用でき、Mantle では us-west-2(オレゴン)で利用できます。このガイドの例では、us-east-2 で GPT-5.6 Terra を使用します。モデルを変更する前に、変更先のモデルに対応するリージョンを選択してください。
アクセス方法と設定手順については、AWS の「モデル別のエンドポイントの提供状況」と「Runtime エンドポイントの利用手順」を参照してください。
Responses API リクエストの送信
以下の例では、OpenAI SDK から Mantle エンドポイントに接続します。デプロイに合わせて AWS リージョンとモデル ID を選択してください。
- Bedrock プロバイダーを備えたクライアントライブラリは、指定された AWS リージョンから Mantle のベース URL を決定します。このガイドでは、JavaScript、Python、Go、Java のプロバイダーが
https://bedrock-mantle.us-east-2.api.aws/openai/v1を使用します。これはus-east-2を指定した場合の例です。Ruby の例では、この/openai/v1エンドポイントを直接指定します。プロバイダーのデフォルトの/v1ルートが、このモデルに対応していないためです。 - Bedrock のモデル ID には
openai.プレフィックスを付けてください。GPT-6 Sol と Luna の場合は、モデルに応じてopenai.gpt-6-solまたはopenai.gpt-6-lunaをus-east-1で使用します。
以下の例では openai.gpt-5.6-terra を us-east-2 で使用します。GPT-6 Sol または Luna を試すには、モデル ID とリージョンの両方を変更してください。Ruby では、明示的に指定した base_url 内のリージョンも変更してください。Bedrock Runtime では、米国の推論プロファイル ID us.openai.gpt-6-sol と us.openai.gpt-6-luna、またはグローバル ID global.openai.gpt-6-sol と global.openai.gpt-6-luna を使用します。AWS の「Responses API エンドポイントの利用手順」に従って、Runtime のベース URL と推論プロファイルを選択してください。
次の例では、環境変数 AWS_BEARER_TOKEN_BEDROCK に保存した Bedrock API キーを使用します。Bedrock API キーの生成方法と使い方については、「Amazon Bedrock の API キー」を参照してください。
Java の 2 つの例は、どちらもオプションの Java 用 Bedrock プロバイダーをインストールしてから実行してください。
<dependency>
<groupId>com.openai</groupId>
<artifactId>openai-java-bedrock</artifactId>
<version>4.57.0</version>
</dependency>
import OpenAI from "openai";
import { bedrock } from "openai/providers/bedrock";
const client = new OpenAI({
provider: bedrock({
region: "us-east-2",
apiKey: process.env.AWS_BEARER_TOKEN_BEDROCK,
}),
});
const response = await client.responses.create({
model: "openai.gpt-5.6-terra",
input: "Write a haiku about cloud infrastructure.",
});
console.log(response.output_text);長時間稼働するアプリケーションでは、固定のベアラートークンよりも AWS の標準の認証情報チェーンを推奨します。JavaScript、Python、Go、Java、Ruby の SDK プロバイダーは、有効な AWS 認証情報を取得し、リクエストを試行するたびに SigV4 で署名します。認証情報チェーンでは、aws login で設定した認証情報、共有プロファイル、ワークロードのロール、インスタンスやコンテナの認証情報などを使用できます。
AWS 認証情報チェーンを使用する例を実行する前に、次のオプションの依存パッケージをインストールしてください。
npm install @aws-sdk/credential-provider-node @smithy/hash-node @smithy/signature-v4
pip install 'openai[bedrock]'
go get github.com/openai/openai-go/v3/bedrock
bundle add aws-sdk-core
.NET SDK は現在、同等の Bedrock プロバイダーや AWS SigV4 認証ポリシーを提供していません。.NET では Bedrock API キーを使用してください。アプリケーションで AWS 認証情報チェーンが必要な場合は、AWS がサポートするクライアントから署名付き HTTP リクエストを送信してください。
import OpenAI from "openai";
import { defaultProvider } from "@aws-sdk/credential-provider-node";
import { bedrock } from "openai/providers/bedrock/aws";
const client = new OpenAI({
provider: bedrock({
region: "us-east-2",
endpoint: "mantle",
credentialProvider: defaultProvider(),
}),
});
const response = await client.responses.create({
model: "openai.gpt-5.6-terra",
input: "Write a haiku about cloud infrastructure.",
});
console.log(response.output_text);Responses API の機能別の対応状況
次の表で、OpenAI API と Amazon Bedrock の違いを確認できます。利用できる機能はモデルとエンドポイントによって異なります。ある API に対応していても、その API のすべてのツールや応答モードを利用できるとは限りません。
| 機能 | OpenAI API | Amazon Bedrock |
|---|---|---|
| テキスト生成 | 利用可能 | 利用可能 |
| 画像入力 | 利用可能 | 利用可能 |
| ファイル入力 | 利用可能 | 利用可能 |
| 構造化出力 | 利用可能 | 利用可能 |
| Function Calling | 利用可能 | 利用可能 |
| 非同期ツール呼び出し | 対応モデルで利用可能 | 利用不可 |
| ストリーミング応答 | 利用可能 | 利用可能 |
| WebSocket 接続 | 利用可能 | 利用不可 |
| ターン途中での指示変更 | 対応モデルで利用可能 | 利用不可 |
| コンテキストウィンドウ | モデルによる | モデルによる |
| 推論強度 | 利用可能 | 利用可能 |
| 推論設定の更新 | 対応モデルで利用可能 | 利用不可 |
| Pro モード | 対応モデルで利用可能 | 利用不可 |
| 推論の永続化 | 対応モデルで利用可能 | 対応モデルで利用可能 |
| プロンプトキャッシュ | 利用可能 | 利用可能 |
| プログラムによるツール呼び出し | 対応モデルで利用可能 | 利用不可 |
| マルチエージェント | 対応モデルでベータ版を提供 | 利用不可 |
| カスタムツール | 利用可能 | 利用可能 |
クライアント側の tool_search |
利用可能 | 利用可能 |
| ホスト型ウェブ検索 | 利用可能 | Mantle のみ |
| ホスト型ファイル検索 | 利用可能 | 利用不可 |
| コンピューターの使用 | 利用可能 | 利用可能 |
| シェルツール | 利用可能 | 利用不可 |
| 画像生成ツール | 利用可能 | 利用不可 |
| リモート MCP サーバー | 利用可能 | 利用不可 |
Amazon Bedrock は、非同期ツール呼び出し(async: true)と推論設定の更新(configuration_update 入力項目)に対応していません。ターン途中での指示変更には WebSocket 接続が必要で、どちらの Bedrock エンドポイントでも利用できません。
クライアント側の tool_search は、ホスト型ツールやリモート MCP サーバーとは別の機能です。ホスト型ウェブ検索は Mantle で利用できます。ホスト型ファイル検索とリモート MCP サーバーは利用できません。
コンピューターの使用は、Runtime と Mantle のどちらでも対応モデルで利用できます。コンピューター操作を実行して結果をモデルに返すのはアプリケーション側なので、Bedrock がホストする実行環境は必要ありません。
Amazon Bedrock で利用できるコンテキストウィンドウは、GPT-5.4 と GPT-5.5 では 100 万トークン、GPT-5.6 Sol、Terra、Luna と GPT-6 Astra では 1,050,000 トークンです。モデルごとの上限は、AWS の「OpenAI モデルカード」で確認してください。
エンドポイントの違い
Responses API を利用する際は、Runtime と Mantle の次の違いを踏まえてエンドポイントを選択してください。
| 機能 | Bedrock Runtime | Mantle |
|---|---|---|
| GPT-6 Astra | 利用可能 | us-west-2(オレゴン)で利用可能 |
| GPT-6 Sol と GPT-6 Luna | 米国およびグローバルの推論プロファイルで利用可能 | us-east-1(バージニア北部)で利用可能 |
| コンピューターの使用 | 対応モデルで利用可能 | 対応モデルで利用可能 |
| ストリーミング応答 | 利用可能 | 利用可能 |
バックグラウンドモード(background: true) |
利用不可 | データ保持設定に応じて利用可能 |
| ホスト型ウェブ検索 | 利用不可 | 対応モデルで利用可能 |
previous_response_id を使った応答の継続 |
リクエストごとに model の指定が必要 |
前の応答からモデルを引き継ぐことが可能 |
Runtime では model の指定が必須です。これは previous_response_id を指定した場合も同じです。バックグラウンドモードはストリーミングとは別の機能で、非同期の Function Calling を指すものでもありません。エンドポイントの詳しい仕様は、AWS の「Responses API ドキュメント」を参照してください。ウェブ検索の権限と設定については、AWS の「ウェブ検索ガイド」を参照してください。
提供状況と運用
Amazon Bedrock のデプロイオプションと提供状況は AWS が管理しています。デプロイ方法の選択や設定には、次のドキュメントを参照してください。
| AWS が管理する項目 | AWS ドキュメント |
|---|---|
| モデル ID と対応 API | OpenAI モデルカード |
| AWS リージョン別のモデルとエンドポイントの提供状況 | モデルの提供状況とエンドポイントの提供状況 |
| 地理的範囲別のリクエストルーティングとグローバルルーティング | クロスリージョン推論 |
| アカウントのクォータと引き上げ申請 | Amazon Bedrock のクォータ |
AWS リージョンは、OpenAI のデータレジデンシーで定める法域とは異なります。ワークロードにデータの所在地に関する要件がある場合は、エンドポイント URL に含まれるリージョンに加えて、推論プロファイルの送信先リージョンと適用される AWS の利用条件も確認してください。
データへのアクセスと保持
Amazon Bedrock では、オペレーターのアクセスとデータ保持を個別に制御します。
- ゼロオペレーターアクセス(ZOA) とは、AWS のオペレーターが Mantle の基盤となるコンピューティングシステムにサインインしたり、そのシステム上の顧客データにアクセスしたりする技術的な手段がないことを意味します。AWS の「ZOA の設計」を参照してください。
- ゼロデータ保持(ZDR) とは、実際に適用される保持モードが
noneの場合に、AWS がリクエストや応答のデータを永続ストレージに書き込まないことを意味します。
store: false を設定しても、ZDR が保証されるわけではありません。Responses API リクエストに実際に適用される保持モードが none の場合、AWS は store: true を指定したリクエストを拒否します。また、バックグラウンドモードも利用できません。
Amazon Bedrock で OpenAI モデルを使用する場合、実際に適用される保持モードが default または none であれば、AWS はリクエストや応答の内容を OpenAI と共有しません。利用できるモード、利用条件、アカウントまたはプロジェクトの設定方法については、AWS の「データ保持に関するドキュメント」を参照してください。モデルごとのデータ保持要件と例外については、「Amazon Bedrock の不正使用の検出」を参照してください。
AWS が入力画像に CSAM の疑いがある内容を検出した場合、該当する入力または出力を ZOA 環境の外に移し、CSAM に該当するかどうかを判断する目的に限って保存および確認することがあります。また、AWS は各国の当局に報告する場合があります。
認証と運用
アカウント、モデル、機能へのアクセスは AWS 管理者が制御します。認証情報の作成とライフサイクル管理については AWS の「API キーのドキュメント」、ID と権限については「IAM ドキュメント」を参照してください。このページの OpenAI SDK の例では、認証情報を渡す方法を示しています。AWS の権限は別途設定する必要があります。
料金
Amazon Bedrock の利用料金は AWS が請求します。商用リージョンでの Bedrock の料金は、同等のサービスを OpenAI から直接利用する場合と同額です。Bedrock でリージョン固有のサービスを利用する場合は、OpenAI API のリージョン別処理と同じ料金が適用されます。Bedrock の利用には Amazon の取引条件が適用されます。
OpenAI API を直接利用する場合の料金は、「API 料金」を参照してください。Bedrock の料金、対応するサービスティア、請求オプションについては、「Amazon Bedrock の料金」と該当するモデルカードを参照してください。
Bedrock Managed Agents
AWS でマネージドエージェントセッションを使用する方法については、「Bedrock Managed Agents」を参照してください。
次のステップ
ChatGPT Work と Codex での設定方法については、「Amazon Bedrock での ChatGPT Work と Codex の利用」を参照してください。