1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenAI on Amazon Bedrock入門 — GPT-5.5・Codex・Managed Agentsを実装する

1
Last updated at Posted at 2026-06-06

はじめに

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 → モデルアクセスから行えます。

参考リンク

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?