はじめに
2026年4月28日、OpenAIとAmazon Web Services(AWS)はパートナーシップの大幅な拡大を発表しました。これにより、OpenAIのモデル群・Codexコーディングエージェント・マネージドエージェントサービスが、Amazon Bedrockを経由してエンタープライズ向けに提供されます。
従来、OpenAIモデルを本番運用する際には「IAM認証が使えない」「VPC内に閉じられない」「CloudTrailに記録されない」などのエンタープライズ要件を満たしにくい課題がありました。今回の統合により、これらの課題が解消されます。
この記事で学べること
- OpenAI on Amazon Bedrockの3つのコンポーネントの全体像
- 現在GAで利用可能なGPT-OSS(20B/120B)のboto3実装方法
- Converse API・OpenAI互換エンドポイントの使い分け
- GuardrailsとAWS PrivateLinkによるセキュアな実装
- 限定プレビュー中のGPT-5.5・Codex・Managed Agentsの概要
対象読者
- AWS環境でOpenAIモデルをエンタープライズ水準で使いたい方
- IAMやVPC内でGPTモデルを運用したい方
- OpenAIとAWSの統合について把握しておきたいエンジニア
前提条件
- AWSアカウント(Amazon Bedrockへのアクセスが可能)
- Python 3.9+、
boto3インストール済み(pip install boto3) - Amazon Bedrockのモデルアクセス申請済み
TL;DR
- 2026年4月28日: OpenAI + AWSがパートナーシップ拡大を発表
- 現在GA: GPT-OSS-20B・GPT-OSS-120B(boto3でそのまま利用可能)
- 限定プレビュー: GPT-5.5・GPT-5.4・Codex・Bedrock Managed Agents
- 最大のメリット: AWS IAM認証でOpenAIモデルを使用(OpenAI APIキー不要)
- 既存のboto3コードをモデルIDを変えるだけで流用可能
OpenAI on Amazon Bedrockとは
Amazon Bedrockに追加された3つの新コンポーネントの概要です(2026年4月28日発表)。
| コンポーネント | 内容 | ステータス |
|---|---|---|
| OpenAI モデル | GPT-5.5・GPT-5.4・GPT-OSSシリーズをBedrockで利用 | 一部GA、一部限定プレビュー |
| Codex on Bedrock | AIコーディングエージェントをAWS上で実行 | 限定プレビュー |
| Amazon Bedrock Managed Agents, powered by OpenAI | OpenAI-poweredエージェントをフルマネージドで構築 | 限定プレビュー |
これ以前から、オープンウェイトモデルとして GPT-OSS-20BとGPT-OSS-120B がBedrock経由でGA利用可能です(2025年8月5日リリース)。
現在GAで利用可能なモデル
AWS公式ドキュメントに基づくと、現在一般提供(GA)されているOpenAIモデルは以下の2つです。
| モデル名 | モデルID | コンテキスト長 | 特徴 |
|---|---|---|---|
| GPT-OSS-20B | openai.gpt-oss-20b-1:0 |
128,000 tokens | 低レイテンシ・コスト効率型 |
| GPT-OSS-120B | openai.gpt-oss-120b-1:0 |
128,000 tokens | 汎用・高精度・本番運用向け |
どちらも テキスト入出力のみ対応。HuggingFaceでも公開されているオープンウェイトモデルです。
実装ガイド
方法1: boto3 + InvokeModel
標準的なboto3を使った呼び出し方法です。
import boto3
import json
client = boto3.client('bedrock-runtime')
model_id = 'openai.gpt-oss-20b-1:0'
request = {
"model": model_id, # 省略可能(省略するとmodelIdヘッダから自動補完)
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "AWSのBedrock経由でOpenAIモデルを使う利点を教えて"}
],
"max_completion_tokens": 512,
"temperature": 0.7,
}
response = client.invoke_model(
modelId=model_id,
body=json.dumps(request)
)
body = json.loads(response['body'].read().decode('utf-8'))
for choice in body['choices']:
print(choice['message']['content'])
方法2: Converse API(マルチモデル対応の統一インターフェース)
BedrockのConverse APIを使うと、Claude・Llama・OpenAIなどを 共通インターフェース で呼び出せます。
import boto3
from botocore.exceptions import ClientError
client = boto3.client("bedrock-runtime")
model_id = "openai.gpt-oss-120b-1:0"
messages = [
{
"role": "user",
"content": [{"text": "Bedrock Managed Agentsの設計方針を教えて"}]
}
]
system = [{"text": "You are a helpful AWS solutions architect."}]
try:
response = client.converse(
modelId=model_id,
messages=messages,
system=system,
inferenceConfig={"maxTokens": 512, "temperature": 0.7, "topP": 0.9},
)
for content_block in response["output"]["message"]["content"]:
print(content_block["text"])
except ClientError as e:
print(f"ERROR: {e}")
Converse APIのメリットは、モデルIDを変えるだけでClaude・GPT・Llamaを切り替え できる点です。マルチモデル対応アプリケーションのプロトタイピングに適しています。
方法3: OpenAI SDK互換エンドポイント
BedrockはOpenAI Chat Completions API互換エンドポイントを提供しているため、OpenAI SDKを使ったコードをほぼそのまま流用できます。
from openai import OpenAI
# BedrockのAPIキーで認証
client = OpenAI(
base_url="https://bedrock-runtime.us-west-2.amazonaws.com/openai/v1",
api_key="$AWS_BEARER_TOKEN_BEDROCK" # AWSコンソールで生成したBedrock APIキー
)
completion = client.chat.completions.create(
model="openai.gpt-oss-20b-1:0",
messages=[
{"role": "developer", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello!"}
]
)
print(completion.choices[0].message.content)
OpenAI SDK互換エンドポイントを使う場合は、IAM認証ではなく Amazon Bedrock APIキー での認証が必要です。IAM認証を使いたい場合は方法1または方法2を選択してください。
エンタープライズ向け機能
Guardrailsの適用
BedrockのGuardrailsをOpenAIモデルにも適用できます。有害コンテンツフィルタリングやPII検出が可能です。
import boto3
import json
bedrock_runtime = boto3.client("bedrock-runtime")
model_id = "openai.gpt-oss-20b-1:0"
request = {
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "ユーザーからの入力を処理して"}
],
"max_completion_tokens": 256,
}
response = bedrock_runtime.invoke_model(
modelId=model_id,
body=json.dumps(request),
guardrailIdentifier="YOUR_GUARDRAIL_ID", # GuardrailのID
guardrailVersion="DRAFT",
trace='ENABLED',
)
print(json.loads(response['body'].read().decode('utf-8')))
GuardrailのIDはAWSコンソール(Amazon Bedrock → Guardrails)から確認できます。
セキュリティアーキテクチャの利点
| 機能 | 内容 |
|---|---|
| IAM認証 | OpenAI APIキー不要。既存のIAMロール・ポリシーで制御 |
| VPCエンドポイント | AWS PrivateLinkを使いインターネット経由なし |
| CloudTrailログ | 全APIコールが自動的に監査ログに記録 |
| Guardrails | コンテンツフィルタリング・PIIマスキングを一元適用 |
バッチ推論
大量のプロンプトを非同期処理する場合は、Bedrockのバッチ推論機能が使えます。
1. JSONL形式のリクエストファイルを作成
JSONL形式では、各レコードを 1行に収める 必要があります(以下は可読性のため整形表示)。
{"recordId": "REQ001", "modelInput": {"messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "EC2のインスタンスタイプを説明して"}], "max_completion_tokens": 1000}}
{"recordId": "REQ002", "modelInput": {"messages": [{"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "S3のストレージクラスを比較して"}], "max_completion_tokens": 1000}}
2. S3にアップロード
aws s3 cp requests.jsonl s3://your-bucket/input/requests.jsonl
3. バッチジョブを作成(CreateModelInvocationJob)
import boto3
client = boto3.client('bedrock')
response = client.create_model_invocation_job(
modelId='openai.gpt-oss-120b-1:0',
jobName='batch-inference-job-001',
inputDataConfig={
's3InputDataConfig': {
's3Uri': 's3://your-bucket/input/requests.jsonl'
}
},
outputDataConfig={
's3OutputDataConfig': {
's3Uri': 's3://your-bucket/output/'
}
},
roleArn='arn:aws:iam::123456789012:role/BedrockBatchRole'
)
print(response['jobArn'])
バッチ推論は大量のプロンプト処理のコスト最適化に有効です。詳細はAWS バッチ推論ドキュメントを参照してください。
限定プレビュー中の機能(2026年4月28日発表)
現在以下の3つが限定プレビューとして申し込みを受け付けています。
フロンティアモデル(GPT-5.5 / GPT-5.4)
OpenAIの最新フロンティアモデルをBedrock経由で利用できます。
- GPT-5.5: OpenAIの最新最高性能モデル
- GPT-5.4: コスト効率と性能のバランス型
- 認証方式: 既存のIAM認証をそのまま使用可能
- GAに向けて、AWSコンソール(Amazon Bedrock → モデルアクセス)からプレビュー申請可能
フロンティアモデルのモデルIDや料金は、GA時に公式ドキュメントで確定予定です。
Codex on Bedrock
OpenAIのAIコーディングエージェントをBedrockのインフラ上で実行できます。
- Codex CLI・デスクトップアプリ・VS Code拡張機能からBedrock経由で利用可能
- AWSの資格情報でCodexを認証(AWS Signature Version 4対応)
- VPCエンドポイント経由でプライベート実行が可能
Amazon Bedrock Managed Agents, powered by OpenAI
マルチステップのエージェントワークフローを本番環境で構築・運用するためのフルマネージドサービスです。
Amazon Bedrock Managed Agentsの主な特徴:
- Amazon Bedrock AgentCore 上で動作(コンピュート環境を自動管理)
- エージェントごとのIAMアイデンティティ: 各エージェントが独自のIAMロールで動作
- アクションのCloudTrailログ: 全ての操作が自動記録されコンプライアンス要件を満たす
- ツール実行層: コード実行・API呼び出し・長時間タスクの信頼性ある制御
- OpenAI harnessを使い、フロンティアモデルの性能を最大限に引き出す設計
まとめ
| ポイント | 内容 |
|---|---|
| 発表日 | 2026年4月28日 |
| 現在GA | GPT-OSS-20B (openai.gpt-oss-20b-1:0)・GPT-OSS-120B (openai.gpt-oss-120b-1:0) |
| 限定プレビュー | GPT-5.5・GPT-5.4・Codex・Amazon Bedrock Managed Agents, powered by OpenAI |
| 最大のメリット | IAM認証・VPC・Guardrails・CloudTrailがそのまま使える |
| API互換性 | boto3 / Converse API / OpenAI SDK互換の3通りで呼び出し可能 |
OpenAI on Amazon Bedrockにより、エンタープライズがOpenAIモデルを採用する際の最大の障壁だった「セキュリティ・ガバナンス・コンプライアンス」の課題が解消されます。AWSインフラにすでに投資している企業にとって、IAM・VPC・CloudTrailの恩恵をそのまま受けながらOpenAIの最新モデルを活用できる実用的な選択肢です。
限定プレビューの申込みはAWSコンソールのAmazon Bedrock → モデルアクセスから行えます。
参考リンク
- OpenAI on AWS 公式発表 — OpenAI公式ブログ (2026-04-28)
- Amazon Bedrock now offers OpenAI models, Codex, and Managed Agents — AWS What's New (2026-04-28)
- OpenAI モデルパラメータ — AWS公式ドキュメント
- Amazon Bedrock Managed Agents powered by OpenAI
- OpenAI frontier models on Amazon Bedrock