Amazon Bedrock Runtime の Grok 4.7 を AWS CLI で試してみた
はじめに
2026年9月28日、Amazon Bedrock で Grok 4.7 が利用可能になりました。
Grok 4.7 は、SpaceXAI が2026年9月21日に発表したモデルです。
AWS CLI から Grok 4.7 を呼び出せるか、先行記事の手順に沿って確認しました。
あわせて、4.7 のモデルカードで対応と記載されている Structured outputs、reasoning effort、サービスティアも試しました。
検証内容
検証環境
| 項目 | 値 |
|---|---|
| AWS CLI | aws-cli/2.37.2 |
| OS | Linux 7.1.13-402.asahi.fc44.aarch64+16k aarch64 |
| jq | jq-1.8.1 |
Global推論プロファイル
東京リージョンで Global 推論プロファイルを取得しました。
aws bedrock get-inference-profile --region ap-northeast-1 --inference-profile-identifier global.xai.grok-4.7
{
"inferenceProfileName": "Global xAI Grok 4.7",
"description": "Routes requests to Grok 4.7 globally across all supported AWS Regions.",
"inferenceProfileArn": "arn:aws:bedrock:ap-northeast-1:<account-id>:inference-profile/global.xai.grok-4.7",
"models": [
{
"modelArn": "arn:aws:bedrock:::foundation-model/xai.grok-4.7"
},
{
"modelArn": "arn:aws:bedrock:ap-northeast-1::foundation-model/xai.grok-4.7"
}
],
"inferenceProfileId": "global.xai.grok-4.7",
"status": "ACTIVE",
"type": "SYSTEM_DEFINED"
}
この ID を --model-id に渡して converse を実行しました。認証は AWS CLI に設定済みの IAM 認証情報をそのまま使い、Bearer Token は使っていません。
aws bedrock-runtime converse \
--region ap-northeast-1 \
--model-id global.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"動作確認です。日本語で「Grok 4.7 on Amazon Bedrock は利用可能です」と一文だけ返してください。"}]}]'
{
"output": {
"message": {
"role": "assistant",
"content": [
{
"reasoningContent": {
"redactedContent": "<base64、記事には転記しない>"
}
},
{
"text": "Grok 4.7 on Amazon Bedrock は利用可能です"
}
]
}
},
"stopReason": "end_turn",
"usage": {
"inputTokens": 47,
"outputTokens": 251,
"totalTokens": 298,
"cacheReadInputTokens": 0,
"cacheWriteInputTokens": 0
},
"metrics": {
"latencyMs": 2405
}
}
text の前に reasoningContent.redactedContent が含まれていました。
US Geo推論プロファイル
us-east-1 で US Geo 推論プロファイルを取得すると、ルーティング先は us-east-1、us-east-2、us-west-2 の3リージョンでした。
aws bedrock get-inference-profile --region us-east-1 --inference-profile-identifier us.xai.grok-4.7
{
"inferenceProfileName": "US xAI Grok 4.7",
"description": "Routes requests to Grok 4.7 in us-east-1, us-east-2, us-west-2.",
"inferenceProfileArn": "arn:aws:bedrock:us-east-1:<account-id>:inference-profile/us.xai.grok-4.7",
"models": [
{
"modelArn": "arn:aws:bedrock:us-east-1::foundation-model/xai.grok-4.7"
},
{
"modelArn": "arn:aws:bedrock:us-east-2::foundation-model/xai.grok-4.7"
},
{
"modelArn": "arn:aws:bedrock:us-west-2::foundation-model/xai.grok-4.7"
}
],
"inferenceProfileId": "us.xai.grok-4.7",
"status": "ACTIVE",
"type": "SYSTEM_DEFINED"
}
Global と同じメッセージで、--region us-east-1 --model-id us.xai.grok-4.7 に変えて converse を実行しました。stopReason は end_turn、応答テキストは「Grok 4.7 on Amazon Bedrock は利用可能です」でした。トークン数は入力 47 / 出力 190、レイテンシは 1846 ms でした。
CloudTrailの記録
両方の converse を CloudTrail の lookup-events で確認しました。
aws cloudtrail lookup-events --region ap-northeast-1 --lookup-attributes AttributeKey=EventName,AttributeValue=Converse --max-results 20
us-east-1 では --region us-east-1 に変えて実行しました。
ap-northeast-1 から Global 推論プロファイルで呼び出したイベントの抜粋です。
{
"eventName": "Converse",
"awsRegion": "ap-northeast-1",
"requestParameters": {
"modelId": "global.xai.grok-4.7"
},
"additionalEventData": {
"inferenceRegion": "us-west-2",
"inputTokens": 47,
"outputTokens": 251
},
"managementEvent": true,
"eventCategory": "Management"
}
Converse は管理イベントとして記録されていました。推論プロファイル経由の呼び出しが実際にどのリージョンで処理されたかは、additionalEventData.inferenceRegion で確認できます。
Structured outputs
Grok 4.7 のモデルカードでは、bedrock-runtime の Supported に Structured outputs が記載されています。Converse の --output-config の textFormat に JSON スキーマを渡して試しました。
SCHEMA='{"type":"object","properties":{"service":{"type":"string"},"model":{"type":"string"},"regions":{"type":"array","items":{"type":"string"}}},"required":["service","model","regions"],"additionalProperties":false}'
aws bedrock-runtime converse \
--region ap-northeast-1 \
--model-id global.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"次の文から情報を抽出してください: Amazon Bedrock で Grok 4.7 が us-east-1、us-east-2、us-west-1 から利用できます。"}]}]' \
--output-config "$(jq -nc --arg s "$SCHEMA" '{textFormat:{type:"json_schema",structure:{jsonSchema:{name:"release_info",schema:$s}}}}')"
{
"output": {
"message": {
"role": "assistant",
"content": [
{
"reasoningContent": {
"redactedContent": "<base64、記事には転記しない>"
}
},
{
"text": "{\"service\":\"Amazon Bedrock\",\"model\":\"Grok 4.7\",\"regions\":[\"us-east-1\",\"us-east-2\",\"us-west-1\"]}"
}
]
}
},
"stopReason": "end_turn",
"usage": {
"inputTokens": 142,
"outputTokens": 498,
"totalTokens": 640,
"cacheReadInputTokens": 0,
"cacheWriteInputTokens": 0
},
"metrics": {
"latencyMs": 3710
}
}
text にはスキーマどおりの JSON が、文字列としてエスケープされた形で入っています。オブジェクトとして扱うにはデコードが必要です。jq なら fromjson で取り出せます。
aws bedrock-runtime converse \
--region ap-northeast-1 \
--model-id global.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"次の文から情報を抽出してください: Amazon Bedrock で Grok 4.7 が us-east-1、us-east-2、us-west-1 から利用できます。"}]}]' \
--output-config "$(jq -nc --arg s "$SCHEMA" '{textFormat:{type:"json_schema",structure:{jsonSchema:{name:"release_info",schema:$s}}}}')" \
| jq '.output.message.content[] | select(.text) | .text | fromjson'
{
"service": "Amazon Bedrock",
"model": "Grok 4.7",
"regions": [
"us-east-1",
"us-east-2",
"us-west-1"
]
}
Reasoning effort
--output-config の effort に low / medium / high / xhigh を指定し、同じ問いを実行しました。既定の effort はモデルカードによると high です。問いの正答は 53 です。
aws bedrock-runtime converse \
--region ap-northeast-1 \
--model-id global.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"1から100までの整数のうち、3でも5でも割り切れない数はいくつですか。数字だけ答えてください。"}]}]' \
--output-config '{"effort":"low"}'
medium / high / xhigh では、effort の値だけを変えて実行しました。
各値は1回の測定です。
| effort | 回答 | outputTokens | latencyMs |
|---|---|---|---|
| low | 53 | 349 | 2879 |
| medium | 53 | 858 | 5762 |
| high | 53 | 658 | 4098 |
| xhigh | 53 | 816 | 5442 |
回答はすべて正答だったため、この問題では effort による精度の差は分かりませんでしたが、出力が変化する事は確認できました。
データ保持設定
aws bedrock get-account-data-retention --region us-east-1 で確認したアカウントのデータ保持モードは aws_review でした。この状態で、US Geo 推論プロファイルの converse に data_retention_mode: none を付けて実行しました。
aws bedrock-runtime converse \
--region us-east-1 \
--model-id us.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"ゼロデータ保持モードの動作確認です。日本語で「成功」とだけ返してください。"}]}]' \
--additional-model-request-fields '{"data_retention_mode":"none"}'
呼び出しは拒否されず、stopReason は end_turn で、応答テキストは「成功」でした。
サービスティア
モデルカードでは Priority(料金は Standard の 1.75 倍)と Flex(同 0.5 倍)に対応と記載されています。しかし Global・US Geo のどちらでも、記事執筆時点ではエラーとなり利用できませんでした。
Flex / Priority 指定時の実行とエラー
aws bedrock-runtime converse \
--region ap-northeast-1 \
--model-id global.xai.grok-4.7 \
--messages '[{"role":"user","content":[{"text":"動作確認です。日本語で「Grok 4.7 on Amazon Bedrock は利用可能です」と一文だけ返してください。"}]}]' \
--service-tier type=flex
aws: [ERROR]: An error occurred (ValidationException) when calling the Converse operation: The provided service tier is not supported for this model.
--service-tier type=priority でも、us-east-1 の us.xai.grok-4.7 でも同じエラーでした。
料金
モデルカードに掲載されている Standard ティアの料金は、1M トークンあたり次のとおりです。
| Inference option | Input | Output | Cache read |
|---|---|---|---|
| Geo CRIS | $2.20 | $6.60 | $0.55 |
| Global CRIS | $2.00 | $6.00 | $0.50 |
Global は入力・出力・キャッシュ読み取りのいずれも Geo より約1割安くなっています。モデルカードによると Grok 4.7 には In-Region の提供がないため、選択肢はこの2つです。
Grok 4.6 のモデルカードに掲載されている Geo CRIS と Global CRIS の料金も同額で、4.7 でも単価は据え置きです。
まとめ
Grok 4.7 は、AWS CLI の converse に推論プロファイル ID を渡すだけで、IAM 認証のまま使えました。
Grok 4.6 を bedrock-runtime の推論プロファイルで使っているなら、converse の model-id を global.xai.grok-4.7 または us.xai.grok-4.7 へ差し替えれば動きます。
Bedrock 経由の Anthropic・OpenAI モデルは請求元が AWS Marketplace となり、AWS クレジットの適用対象外です。一方、Grok 4.6 は Nova やオープンモデルと同じく請求元が AWS で、AWS クレジットで相殺して利用できることを確認しています。
Bedrock Runtime で利用可能なモデルの一つとして、Grok もお試しください。








