🥹

RegionDisabledExceptionでBedrockナレッジベースが作成できない!

2024/05/14に公開

はじめに

2024年5月11日に開催されたJAWS-UG DE&Iにてワークショップに参加中、Bedrockナレッジベースが作成できないエラーに遭遇。講師、メンターの皆様や参加者の方の協力を得てトラブルが解決したので情報をまとめる。

トラブルシュートの工程を間近で見せてもらえて本当に勉強になった。全員が神様に見えた
記事の最後には持ち帰って検証したDatadogでのログ分析についても記載。

結論から

ワークショップで利用していたオレゴン(us-west-2)の**STSエンドポイントの無効化が原因。**私が検証用アカウントで無効化していた。

STS endpoint in US-West-2 is disabled

トラブルの背景

ワークショップの手順は基本的にデフォルトの設定でBedrockナレッジベースを作成する手順だった。最終ステップまで行き。ナレッジベースの作成を開始。

  1. OpenSearch Serverlessがバックグラウンドで立ち上がるので待つ。

setting up a vector database with Amazon OpenSearch Serverless.

  1. IAMが作成されいよいよナレッジベースの爆誕!

Starting the creation of a knowledge base.

  1. ワクワクしながら待つ☺️

bedrock-knowledge cannot assume role

がーーーーーーーん。なんじゃこりゃ。assume roleのエラー??bedrock-knowledgeはロールを引き受けることができない。。。自動で作られるんじゃ。。。。

自分でのトラブルシューティング

リソースができているのか確認することにした。

Amazon OpenSearch Servicの確認

Amazon OpenSearch Servic

先ほど実行した時にできている。問題ない。

IAM Roleの確認

Iam role

先ほど実行した時にできている。問題ない。

結果

リソースはできている。ナレッジだけできない。研修用のアカウントはIAM Identity Centerから払い出したかかな?とか思い立ち、IAMユーザーを払い出してみて同じことしてもてもダメ。

うーん。お手上げ😂

神々のトラブルシューティング

一人で悩んでいるとメンターの方が助けてくれ、続々と皆さんが解決に向けて助けてくれた。

神たちはまずCloudTrailを確認して。APIエラーを確認した。

CloudTrailコンソールからイベント履歴を確認

CloudTrail event history.

エラーの特定

AsuumeRoleのエラーからBedrockKnowledgebaseリソースとなっているログの詳細から、RegionDisabledExceptionエラーを特定した。
Amazon OpenSearch Servic

IAMコンソールよりSTSエンドポイントを確認

IAM Policy SimulatorにてIamの実行権限を確認後IAMコンソールよりSTSエンドポイントを確認。

Iam

オレゴンのSTSエンドポイントは。。。

STS endpoint in US-West-2 is disabled

見事に無効。これだーーーー。

解決方法

オレゴンのSTSエンドポイントを有効化する。

STS endpoint in US-West-2 is enable

おまけ DatadogでのCloudTrailの分析

私は業務でDatadogを利用おり、セキュリティ監査のためにCloud SIMEなどを導入している。CloudTrailログもDatadogで分析できるようにしている。

Datadogについて

https://www.datadoghq.com/ja/
https://www.datadoghq.com/ja/product/log-management/
https://www.datadoghq.com/ja/product/cloud-siem/

Datadogの利点

AWSコンソールではCloudTrailのログは直近しか見られなかったり、検索UIがあまりよくない。慣れていればAthenaなどで原因の特定ができるとは思うが。AWSに慣れていないメンバーがいる中ではノーコードで分析できるDatadogは重宝する。

今回のユースケースでの利用例

せっかくなので今回のユースケースで利用できるか検証してみた。

ログエクスプローラーにてログを絞り込む

下記のようなパラメーターで設定してみた。

  • CloudTrailのログ
  • エラーステータス
  • 該当するリージョン
  • 不要なセッション名の除外

Datadog log serach

大体のあたりをつけられる。5件ほどに絞れた。

エラーの特定

関連ありそうなBedrockのエラーを発見。

Datadog error result

「STSはこの地域ではアクティブ化されていません。アカウント管理者は、この地域でSTSをアクティブ化できます。IAMコンソールを使用します。」とかなり具体的な対策を表示してくれる。

クエリ不要でノーコードでトラブルシュートができるのは大きな利点。

まとめ

  • エラーの原因はリージョンの無効化だった。
  • エラーの内容はメモなど控えながらトラブルシュートする。
  • APIログでエラーの詳細を確認する。
  • ASWサービスはオレゴンは早期に新サービスを利用できたりするのでオススメ
  • Datadogはノーコードで過去のログを特定できてユーザーフレンドリー。
  • AWSに慣れていないユーザーが多いならDatadogもオススメ。

トラブルを伝える時は発生したエラーをちゃんとメモる。ログを見ることが大事ということを改めて学んだ。教訓を活かしたい。😀

Discussion