Amazon Bedrock は、AWS が管理するインフラストラクチャ上で、対応する OpenAI モデルを実行します。 このガイドでは、OpenAI API の機能対応状況を比較し、 OpenAI SDK を使って接続する方法を説明します。デプロイの構成については、 このページからリンクされている AWS ドキュメントを参照してください。
アプリケーションでできることは、モデルの機能と API の互換性によって決まります。Bedrock のデプロイに関するモデルへのアクセス、リージョンごとの提供状況、ルーティング、課金、運用上の制御は AWS が管理します。
Bedrock でのモデル提供の仕組み
OpenAI モデルは、Amazon Bedrock の 2 つのエンドポイント、
bedrock-runtime と bedrock-mantle を通じて利用できます。
どちらも対応モデルで OpenAI 互換の Responses API と Chat Completions API をサポートしていますが、
対応する機能の範囲は異なります。
アプリケーションに必要な機能に応じてエンドポイントを選択してください。 たとえば、ホスト型のウェブ検索には現在 Mantle が必要です。 Bedrock 固有の機能とエンドポイントの選択については、このページのエンドポイントの違いと、AWS のエンドポイントの比較を参照してください。
GPT-6 Astra は Bedrock Runtime を通じて利用できるほか、
us-west-2(オレゴン)の Mantle でも利用できます。このガイドの例では、
us-east-2 の GPT-5.6 Sol を使用しています。モデルを変更する前に、Astra が対応するリージョンを選択してください。
アクセスとセットアップについては、AWS の GPT-6 Astra の発表と Runtime エンドポイントの手順を参照してください。
Responses API リクエストの送信
以下の例では、OpenAI SDK と Mantle エンドポイントを使用します。デプロイに使用する AWS リージョンとモデル ID を選択してください。
- Bedrock プロバイダーを備えたクライアントライブラリは、AWS リージョンに基づいて、
そのリージョンの Mantle ベース URL を決定します。JavaScript、Python、Go、Java のプロバイダーは、
このガイドの
us-east-2の例でhttps://bedrock-mantle.us-east-2.api.aws/openai/v1を使用します。Ruby の例では、この/openai/v1エンドポイントを直接設定します。 プロバイダーのデフォルトの/v1ルートは、 このモデルに対応していないためです。 openai.プレフィックスが付いた Bedrock モデル ID を使用してください。 たとえば、openai.gpt-5.6-solです。
以下の例では、us-east-2 の openai.gpt-5.6-sol を使用します。Runtime では、AWS の Responses API エンドポイントの手順に従って、ベース URL と推論プロファイルを選択してください。
Runtime の要件を確認せずに Mantle のモデル ID を流用しないでください。
次の例では、AWS_BEARER_TOKEN_BEDROCK として保存された Bedrock API キーを使用します。
Bedrock API キーの生成と使用については、Amazon Bedrock API キーを参照してください。
どちらの Java の例を使用する場合も、事前にオプションの 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-sol",
input: "Write a haiku about cloud infrastructure.",
});
console.log(response.output_text);長時間稼働するアプリケーションでは、静的な Bearer トークンよりも標準の 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-sol",
input: "Write a haiku about cloud infrastructure.",
});
console.log(response.output_text);Responses API の機能対応状況
次の表で OpenAI API との違いを確認できます。利用できる機能はモデルとエンドポイントによって異なります。API に対応していても、すべてのツールやレスポンスモードに対応しているとは限りません。
| 機能 | OpenAI API | Amazon Bedrock |
|---|---|---|
| テキスト生成 | 利用可能 | 利用可能 |
| 画像入力 | 利用可能 | 利用可能 |
| ファイル入力 | 利用可能 | 利用可能 |
| 構造化出力 | 利用可能 | 利用可能 |
| Function Calling | 利用可能 | 利用可能 |
| 非同期ツール呼び出し | 対応モデルで利用可能 | 利用不可 |
| レスポンスのストリーミング | 利用可能 | 利用可能 |
| WebSocket 接続 | 利用可能 | 利用不可 |
| ターン途中の指示変更 | 対応モデルで利用可能 | 利用不可 |
| コンテキストウィンドウ | モデルによって異なる | モデルによって異なる |
| 推論強度 | 利用可能 | 利用可能 |
| 推論の更新 | 対応モデルで利用可能 | 利用不可 |
| Pro モード | 対応モデルで利用可能 | 利用不可 |
| 推論の永続化 | 対応モデルで利用可能 | 対応モデルで利用可能 |
| プロンプトキャッシュ | 利用可能 | 利用可能 |
| プログラムによるツール呼び出し | 対応モデルで利用可能 | 利用不可 |
| マルチエージェント | 対応モデルでベータ版を提供 | 利用不可 |
| カスタムツール | 利用可能 | 利用可能 |
クライアント側の tool_search | 利用可能 | 利用可能 |
| ホスト型ウェブ検索 | 利用可能 | Mantle のみ |
| ホスト型ファイル検索 | 利用可能 | 利用不可 |
| コンピューターの使用 | 利用可能 | 利用可能 |
| シェルツール | 利用可能 | 利用不可 |
| 画像生成ツール | 利用可能 | 利用不可 |
| リモート MCP サーバー | 利用可能 | 利用不可 |
Amazon Bedrock は、非同期ツール呼び出し(async: true)と推論の更新
(configuration_update 入力項目)に対応していません。
ターン途中の指示変更には WebSockets が必要であり、
どちらの 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 モデルカードで確認してください。
エンドポイントの違い
Runtime と Mantle を選ぶ際には、Responses API の次の違いを確認してください。
| 機能 | Bedrock Runtime | Mantle |
|---|---|---|
| GPT-6 Astra | 利用可能 | us-west-2(オレゴン)で利用可能 |
| コンピューターの使用 | 対応モデルで利用可能 | 対応モデルで利用可能 |
| ストリーミングレスポンス | 利用可能 | 利用可能 |
バックグラウンドモード(background: true) | 利用不可 | データ保持設定に応じて利用可能 |
| ホスト型ウェブ検索 | 利用不可 | 対応モデルで利用可能 |
previous_response_id を使った継続 | すべてのリクエストに model を含める必要があります | 前のレスポンスからモデルを引き継ぐことができます |
Runtime では、previous_response_id を指定する場合でも model が必要です。
バックグラウンドモードはストリーミングとは別の機能で、非同期の 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 は保証されません。
実際に適用される保持モードが none の Responses API リクエストでは、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 の料金と該当するモデルカードを参照してください。
次のステップ
ChatGPT Work と Codex でのセットアップについては、 Amazon Bedrock で ChatGPT Work と Codex を使用するを参照してください。