OpenAIのGPT-6ファミリーは3つのモデルを提供しており、いずれもグローバルクロスリージョン推論で利用できます。Amazon Bedrockは、OpenAI GPT-6 SolとGPT-6 Lunaを、タイ・マレーシア・シンガポール・インドネシア・台湾にある5つのAWSリージョンすべてからグローバルクロスリージョン推論で提供し、GPT-6 Astraはアジアパシフィック(シンガポール)から提供します。単一リージョンの推論は、需要がローカルの容量を超えるとスロットリングされる場合があります。タイ・マレーシア・シンガポール・インドネシア・台湾のチームは、その容量を超えて最新のOpenAIモデルにアクセスする必要があります。

3モデルの特徴と推論の強度

GPT-6 Sol、GPT-6 Luna、GPT-6 Astraの3モデルは、いずれもテキストと画像の入力、クライアント側のツール使用、およびプロンプトキャッシュ(prompt caching)に対応しています。GPT-6 Solは、週を通じて行う複雑なタスクに、強力な推論とコーディングの能力をもたらします。GPT-6 Lunaは、焦点が絞られた繰り返し可能なタスクを、大量に処理する用途で実用的にします。GPT-6 Astraは、複雑な推論、コーディング、長い文書を扱う作業を処理します。

推論の強度(reasoning effort)について、GPT-6 SolとGPT-6 Lunaはnone、low、medium、high、xhigh、maxを受け付けます。GPT-6 Astraは、noneを除く同じレベルを受け付けます。

GPT-6 SolとGPT-6 Lunaの詳細は、Amazon Bedrockの「Bring more intelligence to everyday work with GPT-6 Sol and GPT-6 Luna on Amazon Bedrock」を参照するよう案内されています。GPT-6 Astraの詳細は、Amazon Bedrockの「Take on your most ambitious work with GPT-6 Astra on Amazon Bedrock」を参照するよう案内されています。

グローバルクロスリージョン推論の仕組み

グローバルクロスリージョン推論(global cross-Region inference)は、モデルがデプロイされているサポート対象の商用AWSリージョン全体にリクエストをルーティングし、Amazon Bedrockの容量に幅広くアクセスできるようにする機能です。この機能を呼び出すには、モデルIDの代わりにグローバルクロスリージョン推論プロファイルID(global cross-Region inference profile ID)を渡します。ソースリージョンはAPI呼び出しを行うリージョンであり、処理を行う宛先リージョンはAmazon Bedrockが選定します。課金、クォータの追跡、AWS CloudTrail、Amazon CloudWatchはすべてソースリージョンに残ります。

推論プロファイル(inference profile)の提供状況とリージョンのサポートは、AWSがリージョンとプロファイルを追加するにつれて変わります。構築を行う前に、GPT-6 Sol、GPT-6 Luna、GPT-6 Astraそれぞれのモデルカードで両方を確認してください。トークンあたりの料金については、Amazon Bedrock pricingを参照してください。

前提条件と呼び出し方法

Amazon BedrockでOpenAIモデルの3つの推論プロファイル(グローバルクロスリージョン推論プロファイル)のいずれかを呼び出すには、前提条件を満たしたうえで、Converse API、OpenAI互換API、または既存のコーディングクライアントを使います。前提条件として、推論プロファイルを呼び出す権限を持つAWSのアクセス権限を管理するIAMのアイデンティティが必要です。また、最新の AWS SDK または CLI が必要です。OpenAI互換APIの例では、OpenAI SDK と Amazon Bedrock token generator も必要で、`pip install boto3 openai aws-bedrock-token-generator` でインストールします。

前提条件として呼び出し元のソースリージョンを有効にする必要があり、シンガポール(`ap-southeast-1`)はデフォルトで有効なリージョンです。ジャカルタ(`ap-southeast-3`)、マレーシア(`ap-southeast-5`)、タイ(`ap-southeast-7`)、台北(`ap-east-2`)は、先に有効化が必要なオプトインリージョンであり、詳細は Enable or disable AWS Regions in your account を参照してください。記事のSecurity and permissionsセクションに記載されたIAMポリシーは、記事中の例が必要とする権限だけを付与します。

既存のOpenAIクライアントを移行する際は、すべてのリクエストでmodelパラメータを設定する必要があり、これには前のレスポンスを参照するリクエストも含まれます。また、modelsエンドポイントを問い合わせるのではなく、推論プロファイルIDをクライアントに直接設定します。サポートされるツールタイプは、`function`、`mcp`、`custom`、`namespace`、`tool_search`です。OpenAI Chat Completions APIを使用する場合は、OpenAI SDKをリージョンのエンドポイントに向け、同じ推論プロファイルIDを渡します。

ChatGPT デスクトップアプリと Codex CLI は `~/.codex/config.toml` を共有するため、1回の変更で両方に反映されます。組み込みの Amazon Bedrock プロバイダーは2つあり、推論プロファイルを受け付けるのは `amazon-bedrock-runtime` のみです。AWSの署名方式である SigV4 署名を使うため、ローテーションが必要なキーはありません。SigV4 署名に使う認証のプロファイル(推論プロファイルとは別のものです)がデフォルト以外の場合は `profile = "<your-profile>"` を追加します。また、クライアントは指定がないと `AWS_REGION` にフォールバックするため、`region` は明示的に設定します。モデルを変えるには、`model` に別の推論プロファイル ID を指定して置き換えます。Codex はこれらの推論プロファイルに対して 272,000 トークンのウィンドウを報告しますが、これは Codex 自身に同梱された数値でありサービスの上限ではなく、`model_context_window` で引き上げられます。この設定には Codex CLI 0.148 以降が必要です。

global.openai.gpt-6-solとglobal.openai.gpt-6-lunaのグローバルクロスリージョン推論プロファイルのソースリージョンは、アジアパシフィックのシンガポール(ap-southeast-1)、ジャカルタ(ap-southeast-3)、マレーシア(ap-southeast-5)、タイ(ap-southeast-7)、台北(ap-east-2)です。global.openai.gpt-6-solとglobal.openai.gpt-6-lunaの宛先リージョンは、モデルがデプロイされているサポート対象の商用AWSリージョンです。global.openai.gpt-6-astraのグローバルクロスリージョン推論プロファイルのソースリージョンは、アジアパシフィックのシンガポール(ap-southeast-1)のみです。global.openai.gpt-6-astraの宛先リージョンは、モデルがデプロイされているサポート対象の商用AWSリージョンです。各プロファイルのソースリージョンと宛先リージョンの全一覧は、Supported Regions and models for inference profilesに載っています。

Amazon Bedrock Runtimeのエンドポイントでは、GPT-6の各モデルについて、Amazon Bedrock Converse API、OpenAI Responses API、OpenAI Chat Completions APIの3つのアクセス経路が利用可能です。OpenAI互換APIはAWS SDKではなく`/openai/v1`パスで呼び出します。このエンドポイントは、SigV4またはAmazon Bedrock API keyのどちらかを受け付けます。いずれの経路でも、`model`にはグローバルクロスリージョン推論プロファイルIDを渡す必要があります。Converse APIの例は、アジアパシフィック(シンガポール)からGPT-6 Solを呼び出してレスポンスをログ出力します。`BEDROCK_PROFILE_ID`を`global.openai.gpt-6-luna`または`global.openai.gpt-6-astra`に設定するとモデルを切り替えられ、ストリーミングには`converse_stream`を呼び出します。アジアパシフィックの5つのソースリージョンからGPT-6 SolおよびGPT-6 Lunaを、またアジアパシフィック(シンガポール)からGPT-6 Astraを、グローバルクロスリージョン推論を用いて呼び出す`bedrock-runtime`のエンドポイントは、OpenAI互換APIも提供します。既存のOpenAI連携は、ベースURLとキーを変えるだけで移行できます。

IAMポリシー・SCPの設定とデータの取り扱い

グローバルクロスリージョン推論の推論プロファイル経由でモデルを呼び出すには、IAM ポリシーに4つのステートメントが必要です。1つ目のステートメントは、ソースリージョンにある推論プロファイルと project/default リソースへのアクセスを許可します。2つ目のステートメントは、ソースリージョンにあるファンデーションモデルへのアクセスを、推論プロファイルにスコープして許可します。3つ目のステートメントは、リージョン非依存のファンデーションモデルの、リソースを識別する名前であるARN `arn:aws:bedrock:::foundation-model/openai.gpt-6-sol` を対象とし、クロスリージョンのルーティングを許可するため `aws:RequestedRegion` を `unspecified` に設定します。4つ目のステートメントは、APIキー認証のための `bedrock:CallWithBearerToken` です。

グローバルクロスリージョン推論で有効化が必要なのは、呼び出し元のリージョンだけです。宛先リージョンは有効化する必要がなく、Amazon Bedrockのマネージドキャパシティ(managed capacity)で動作します。Amazon Bedrockコンソールでは、これら3つのグローバルクロスリージョン推論プロファイルすべてが、システム定義の推論プロファイル(system-defined inference profiles)の下に表示されます。なお、これらのグローバルクロスリージョン推論プロファイルはシステム定義のため、後片付けで削除するものはありません。AWSは、`bedrock-runtime`上のグローバルクロスリージョン推論を用いて、アジアパシフィックの5つのソースリージョンからGPT-6 SolとGPT-6 Lunaを呼び出す方法、およびアジアパシフィック(シンガポール)からGPT-6 Astraを呼び出す方法を示しています。

記事の IAM ポリシー例は、`ap-southeast-1` からのグローバルクロスリージョン推論で GPT-6 Sol を呼び出す権限を付与します。AWSアカウントIDと `ap-southeast-1` は、自分のアカウントIDとソースリージョンに置き換えます。モデルを切り替えるには、`openai.gpt-6-sol` をすべて `openai.gpt-6-luna` または `openai.gpt-6-astra` に置き換えます。ストリーミング(`converse_stream` または `stream=True`)を使う場合は、IAM ポリシーの最初の3つのステートメントの Action に `bedrock:InvokeModelWithResponseStream` を追加します。Converse は `bedrock:InvokeModel` として認可されます。SigV4認証情報で Converse だけを呼び出す場合は、4つ目のステートメントを省けます。

記事のサービスコントロールポリシー(SCP)の例では、1つ目のステートメントがAmazon Bedrock推論を除くすべてのサービスにリージョン許可リストを適用し、2つ目のステートメントが許可リストのリージョン外でのAmazon Bedrock推論を、グローバルクロスリージョン推論プロファイル経由でない限り拒否します。ジオグラフィックプロファイル(geographic profile)も使う場合は、`ArnNotLike` リストにそのプレフィックス(例: `inference-profile/us.*`)を追加します。これは、ジオグラフィックのリクエストには実際のリージョン名が含まれるためです。SCPの許可リストにはソースリージョンを残し、組織が使うグローバルサービスを `NotAction` に追加します。より大まかな代替策は、既存の許可リストに `unspecified` を追加することですが、これは同じ例外が他のすべてのサービスにも開かれます。

自動オフライン不正利用検知のため、分類器にフラグを立てられたトラフィックは、AWSが最大30日間保持し、プログラムによって処理します。クロスリージョン推論(cross-Region inference)を使う場合、自動オフライン不正利用検知で分類器にフラグを立てられたトラフィックの保持は宛先リージョンで行われます。グローバルプロファイルの場合、宛先リージョンはモデルがデプロイされているサポート対象の商用AWSリージョンのいずれかです。

対象となる顧客は、AWSアカウントチームを通じて完全なゼロデータ保持を依頼できる場合があります。不正利用検知とデータ保持の詳細は、Amazon Bedrock abuse detection と Data retention のドキュメントを参照できます。

グローバルクロスリージョン推論プロファイルIDを`model`パラメータに渡し、IAM ポリシーとSCPの例外を設定します。Amazon Bedrockでは、IAM ポリシーでどのロールがどの推論プロファイルを呼び出せるかを制御し、サービスコントロールポリシーでリージョン範囲を含む組織全体の制御を適用します。

組織にデータレジデンシー(data residency)要件がある場合は、早い段階でリスク・コンプライアンス部門に相談することが勧められます。タイ、マレーシア、シンガポール、インドネシア、台湾の5か国については、AWS Financial Services Compliance Centerの国別ページを参照してください。事業に関係する要件への準拠については、各自で助言を得ることが推奨されます。

グローバルクロスリージョン推論のリクエストにはリージョン名が含まれません。Amazon Bedrockは `aws:RequestedRegion` を `unspecified` に設定するため、SCPのリージョン許可リストは呼び出しを拒否し、エラーにはポリシーの種類だけが示され、どのポリシーかは示されません。これは企業アカウントで最初の呼び出しが失敗するよくある原因です。Amazon Bedrockはグローバルクロスリージョン推論のリクエストを認可する際に `bedrock:InferenceProfileArn` 条件キーを設定するため、SCPでグローバルクロスリージョン推論のプロファイルを許可しつつ、それ以外にはリージョン制御を維持できます。許可リストを広げるのではなく、例外の範囲を絞ることが示されています。

`bedrock-runtime`上のGPT-6のクォータは、トークン/分(TPM)で測定され、呼び出し元のソースリージョンに対して追跡されます。このクォータは1つであり、`InvokeModel`、Converse、Responses、Chat Completionsをカバーします。クォータの確認と引き上げは、ソースリージョンからService Quotasコンソールで行うことができます。

GPT-6のクォータ計算では、入力トークンとキャッシュ書き込みトークンは1:1で数えられ、出力トークン1つはクォータ10トークンを消費します。例えば、入力2,000トークン・出力1,000トークンのリクエストは、クォータから12,000トークンを消費します。Amazon Bedrockは`max_tokens`の全量を事前に確保するため、`max_tokens`は想定する出力に近い値に設定する必要があります。

Amazon CloudWatchのメトリクス、AWS CloudTrailのイベント、モデル呼び出しログ(model invocation logs)、クォータの集計、請求は、いずれも呼び出し元のソースリージョンに残ります。料金は処理リージョンではなく、そのソースリージョンの料金が適用されます。CloudTrailは各リクエストが処理された場所(処理リージョン)を記録します。

グローバルクロスリージョン推論プロファイルの宛先について、AWSは個々のリージョンを列挙せず、商用リージョンとして記載しています。`GetInferenceProfile`が返すのは宛先リージョンの一覧ではなく、リージョン非依存のモデルARNとソースリージョンのモデルARNです。

リクエストごとの記録は、ソースリージョンのCloudTrailにある `additionalEventData.inferenceRegion` で確認できます。このエンドポイントでの推論は管理イベントであり、追加費用なしでデフォルトでログに記録されます。CloudTrail Event Historyの保持期間は90日であるため、それより長い期間が必要な場合はトレイルまたはモデル呼び出しログが必要です。

CloudTrailイベントを取得する際は、CloudTrailの配信が数分遅れるため、直前に行った呼び出しの前後に時間枠を設定してください。もし直近のイベントが失敗した呼び出しだった場合、そのイベントには`errorCode`があり、`inferenceRegion`はありません。その場合は、`--max-results`を増やして、`errorCode`のないイベントを選んでください。

メトリクスとコーディングエージェントの利用状況はCloudWatchに残ります。開発者がコーディングエージェント経由でGPT-6を利用する場合、CloudWatch Coding Agent InsightsがGenAI Observability配下にダッシュボードを用意し、トークン使用量をユーザー、チーム、コストセンター別に分解して表示します。コーディングエージェントはOpenTelemetryメトリクスをネイティブに出力します。

本番稼働の前に、`AWS/Bedrock`名前空間の`EstimatedTPMQuotaUsage`について、割り当ての70〜80パーセントでアラームを設定することが勧められます。現在の値は「How tokens are counted in Amazon Bedrock」と「Amazon Bedrock endpoints and quotas」で確認できます。本番稼働の前に、クォータの引き上げを早めに申請することが勧められます。

この記事の手順で追加するのは、IAMポリシーと、オプションでSCPステートメントおよびログの送信先です。後片付け(Clean up)の節では、これらを取り外す・削除する方法を扱います。クリーンアップでは、アタッチしたIAM ポリシーをデタッチまたは削除し、SCPのエントリを追加していた場合は元に戻します。モデル呼び出しログの保存先としてAmazon Simple Storage Service (Amazon S3)またはAmazon CloudWatch Logsに作成したものがあれば、保管料金を避けるために削除します。

tokens-per-minuteクォータは、10倍のバーンダウンレート(burndown rate)で見積もります。まずは記事で示されているIAM ポリシーをアタッチし、global.openai.gpt-6-sol経由で最初のリクエストを送ってみてください。また、呼び出しにCloudTrailの`additionalEventData.inferenceRegion`が表示されることを確認します。