モデルIDはどのように使用する?
生成AIを組み込んだサービスを開発する際、どのモデルを使用するか指定する際に「モデルID」が必要になります
API経由
Python | boto3 で invoke_model() | modelId |
JavaScript / Node.js | AWS SDK や fetch で | modelId |
curl | REST API でリクエスト投げるとき | URL or bodyに含める |
AWS CLI や SDK 全般でのモデル指定
aws bedrock-runtime invoke-model \
--model-id anthropic.claude-3-haiku-20240307-v1:0 \
--content-type application/json \
--body file://prompt.json
モデルIDの確認方法
Amazon Bedrock で Claude 3.7 Sonnet モデルアクセスリクエストのトラブルシューティング(AWS Marketplaceとの関係)
Claude 3.7 Sonnet とは
2025年2月25日に Amazon Bedrock で利用可能になった Claude 3.7 Sonnet は、Anthropic 社の最新モデルです。このモデルには以下のような特徴があります:
- ハイブリッド推論モデル: 標準思考モードと拡張思考モードを提供
- 大幅に拡張された出力トークン数: 最大128Kトークン(拡張思考モードのベータ版)
- 推論予算の制御: 使用するトークン数を調整可能
- 現実世界の問題解決にフォーカス: ビジネスユースケースに最適化
リージョン依存のモデル提供とアクセス権限の問題
Claude 3.7 Sonnet を利用しようとする際、「aws-marketplace:ViewSubscriptions へのアクセスが拒否されました」というエラーが発生することがあります。これは主にリージョンに関連する問題です。
発生したエラーと原因
Claude 3.7 Sonnet へのアクセスをリクエストする際に、以下のエラーが発生しました:
aws-marketplace:ViewSubscriptions へのアクセスが拒否されました
- 米国バージニア北部リージョンでモデルアクセスをリクエストした際にエラーが発生
- アジア東京リージョンに切り替えると、Claude 3.7 Sonnet が表示されなかったが、Claude 3.5 Sonnet v2のアクセス許可は問題なく取得できた
エラーの正確な原因
このエラーの原因は、IAM権限の不足です。バージニア北部リージョンで Claude 3.7 Sonnet のモデルアクセスをリクエストしようとした際、使用していたIAMユーザーまたはロールに aws-marketplace:ViewSubscriptions
権限が付与されていなかったため、アクセスが拒否されました。
これは「モデルがそのリージョンで提供されていない」というエラーではなく、モデルへのサブスクリプションをリクエストするための権限がないというエラーです。
リージョンによる違い
Claude 3.7 Sonnet のリージョン可用性については以下の通りです:
- 提供されているリージョン:
- バージニア北部 (us-east-1)
- オハイオ (us-east-2)
- オレゴン (us-west-2)
- 提供されていないリージョン:
- 東京 (ap-northeast-1) など、その他のリージョン
重要なのは、東京リージョンでモデルが表示されないのは、そもそもそのリージョンでClaude 3.7 Sonnetが提供されていないためです。これはエラーではなく、正常な挙動です。
一方、バージニア北部リージョンでのエラーは、モデルは提供されているものの、サブスクリプションをリクエストする権限がなかったことが原因です。
解決方法
Claude 3.7 Sonnet にアクセスするための解決方法は以下の通りです:
- 適切なリージョンを選択する
- Claude 3.7 Sonnet を利用するには、米国バージニア北部(us-east-1)、オハイオ(us-east-2)、オレゴン(us-west-2)リージョンを選択します
- 東京リージョンなど他のリージョンでは利用できません
- IAM権限を確認・修正する
- IAMユーザーまたはロールに「aws-marketplace:ViewSubscriptions」権限が付与されているか確認します
- 必要に応じて、AWS管理者に権限の追加を依頼します
AWS Marketplace と Amazon Bedrock モデルアクセスの関係
Amazon BedrockのモデルアクセスはAWS Marketplaceのサブスクリプション機能を使用しており、そのためMarketplace関連の権限が必要になります。バージニア北部リージョンでエラーが発生したのは、このMarketplace権限が不足していたためです。
- 代替案を検討する
- 東京リージョンでは Claude 3.5 Sonnet v2 を利用することで、ほぼ同等の機能を利用できます
- リージョン間のレイテンシや料金を考慮して、最適なリージョンとモデルを選択します