RegionDisabledExceptionでBedrockナレッジベースが作成できない!
はじめに
2024年5月11日に開催されたJAWS-UG DE&Iにてワークショップに参加中、Bedrockナレッジベースが作成できないエラーに遭遇。講師、メンターの皆様や参加者の方の協力を得てトラブルが解決したので情報をまとめる。
トラブルシュートの工程を間近で見せてもらえて本当に勉強になった。全員が神様に見えた
記事の最後には持ち帰って検証したDatadogでのログ分析についても記載。
結論から
ワークショップで利用していたオレゴン(us-west-2)の**STSエンドポイントの無効化が原因。**私が検証用アカウントで無効化していた。
トラブルの背景
ワークショップの手順は基本的にデフォルトの設定でBedrockナレッジベースを作成する手順だった。最終ステップまで行き。ナレッジベースの作成を開始。
- OpenSearch Serverlessがバックグラウンドで立ち上がるので待つ。
- IAMが作成されいよいよナレッジベースの爆誕!
- ワクワクしながら待つ☺️
がーーーーーーーん。なんじゃこりゃ。assume roleのエラー??bedrock-knowledgeはロールを引き受けることができない。。。自動で作られるんじゃ。。。。
自分でのトラブルシューティング
リソースができているのか確認することにした。
Amazon OpenSearch Servicの確認
先ほど実行した時にできている。問題ない。
IAM Roleの確認
先ほど実行した時にできている。問題ない。
結果
リソースはできている。ナレッジだけできない。研修用のアカウントはIAM Identity Centerから払い出したかかな?とか思い立ち、IAMユーザーを払い出してみて同じことしてもてもダメ。
うーん。お手上げ😂
神々のトラブルシューティング
一人で悩んでいるとメンターの方が助けてくれ、続々と皆さんが解決に向けて助けてくれた。
神たちはまずCloudTrailを確認して。APIエラーを確認した。
CloudTrailコンソールからイベント履歴を確認
エラーの特定
AsuumeRoleのエラーからBedrockKnowledgebaseリソースとなっているログの詳細から、RegionDisabledExceptionエラーを特定した。
IAMコンソールよりSTSエンドポイントを確認
IAM Policy SimulatorにてIamの実行権限を確認後IAMコンソールよりSTSエンドポイントを確認。
オレゴンのSTSエンドポイントは。。。
見事に無効。これだーーーー。
解決方法
オレゴンのSTSエンドポイントを有効化する。
おまけ DatadogでのCloudTrailの分析
私は業務でDatadogを利用おり、セキュリティ監査のためにCloud SIMEなどを導入している。CloudTrailログもDatadogで分析できるようにしている。
Datadogについて
Datadogの利点
AWSコンソールではCloudTrailのログは直近しか見られなかったり、検索UIがあまりよくない。慣れていればAthenaなどで原因の特定ができるとは思うが。AWSに慣れていないメンバーがいる中ではノーコードで分析できるDatadogは重宝する。
今回のユースケースでの利用例
せっかくなので今回のユースケースで利用できるか検証してみた。
ログエクスプローラーにてログを絞り込む
下記のようなパラメーターで設定してみた。
- CloudTrailのログ
- エラーステータス
- 該当するリージョン
- 不要なセッション名の除外
大体のあたりをつけられる。5件ほどに絞れた。
エラーの特定
関連ありそうなBedrockのエラーを発見。
「STSはこの地域ではアクティブ化されていません。アカウント管理者は、この地域でSTSをアクティブ化できます。IAMコンソールを使用します。」とかなり具体的な対策を表示してくれる。
クエリ不要でノーコードでトラブルシュートができるのは大きな利点。
まとめ
- エラーの原因はリージョンの無効化だった。
- エラーの内容はメモなど控えながらトラブルシュートする。
- APIログでエラーの詳細を確認する。
- ASWサービスはオレゴンは早期に新サービスを利用できたりするのでオススメ
- Datadogはノーコードで過去のログを特定できてユーザーフレンドリー。
- AWSに慣れていないユーザーが多いならDatadogもオススメ。
トラブルを伝える時は発生したエラーをちゃんとメモる。ログを見ることが大事ということを改めて学んだ。教訓を活かしたい。😀
Discussion