ENGINEER BLOG ENGINEER BLOG
  • 公開日
  • 最終更新日

【Bedrock】Organizationメンバーアカウントの料金を教えてもらう

この記事を共有する

目次

はじめに

皆さんこんにちは!パーソル&サーバーワークスの小泉です。
先日公開した以下の記事にて、AWS利用料金をSlackからAmazon Bedrock エージェント(以下、Bedrock Agent)を通して確認できるようにしました。
【Bedrock】Bedrock AgentをSlackで操作する
【Bedrock】Bedrock AgentからAWS利用料金を教えてもらう

今回はさらに機能を拡張して、AWS Organization(以下、Organization)環境における各メンバーアカウントの利用料金 をSlack上で確認できるようにしたので、その構成について解説します!

完成したもの

利用料金自分.png

Slackから「@Amazon Q ask usercost <個人メンション> のXXXX年Y月からZ月の利用料金を教えて」と質問すると、メンションした人のAWS利用料金を教えてくれます!

構成図

organization.png

構成図.png

※Organization環境は概略図になります

処理の概要

  1. ユーザ(社員)がSlackで個人メンションと問い合わせたい期間を入力する
  2. Bedrock Agentが入力を理解し、Action Groupに設定したLambdaを実行する
  3. AWS Lambda(以下、Lambda)がAmazon DynamoDB(以下、DynamoDB)にSlackのユーザIDと紐づいているAWSアカウントIDを取得する
  4. LambdaがmasterアカウントのIAM RoleにAssum Roleを行い、取得したAWSアカウントIDに対してAWS Cost Explorer(以下、Cost Explorer) APIを実行する
  5. Bedrock Agentが回答をまとめる
  6. Slackに回答が返却される

作り方

具体的な手順(Lambdaの実装コードなど)は前回の記事にまとめているため、今回は作成する際のポイントを解説します!

DynamoDB

SlackユーザーとAWSアカウントIDを紐づけるためのテーブルを作成します。

キー
SlackUserId U12345678
AWSAccountId 123456789012

このようにSlackユーザIDとAWSアカウントIDを対応付けることで、Slackからのリクエストに対して適切なアカウント情報を返せるようにします。

Lambda関数

Lambdaでは主に以下の処理を実装します:

  1. Slack IDに紐づくAWSアカウントIDを取得
  2. masterアカウントのIAM RoleにAssume Roleして権限を取得
  3. 取得したAWSアカウントIDに対してCost Explorer APIを実行
  4. 結果をフォーマットしてBedrock Agentに返却

Bedrock AgentからはAction Groupの定義に従って期間の情報(開始月・終了月)が渡されます。

Bedrock Agent

Bedrockエージェントの設定では、以下のポイントに注意します:

  1. Action Groupの設定でコストの参照期間を定義
  2. Agentとしてのふるまい・役割をシステムプロンプトで設定

IAM Role設定

各アカウントの料金情報にアクセスするために以下の権限設定が必要です:

  1. sysytemアカウントからmasterアカウントへのswitch role設定
  2. masterアカウントに対してCost Explorer APIを実行する権限付与
  3. masterアカウントからOrganizationメンバーアカウントの料金情報を参照できる権限設定

Amazon Q Developer in chat applications

SlackからBedrock Agentを呼び出すには以下の設定が必要です:

  1. Amazon Q Developer in chat applicationsで接続先のSlackを設定
  2. SlackでBedrock Agentの接続設定

動作検証

実際に動作させてみると、各メンバーアカウントの料金情報を簡単に取得することができました。

利用料金自分.png

利用料金他人.png

Slack IDに紐づいているアカウントの利用料金が返されることが確認できました。

まとめ

Organization環境でのAWS利用料金管理にお悩みの方は、ぜひ参考にしてみてください。

この記事は私が書きました

小泉 和貴

記事一覧

全国を旅行することを目標に、仕事を頑張っています。

小泉 和貴

この記事を共有する

クラウドのご相談

CONTACT

クラウド導入や運用でお悩みの方は、お気軽にご相談ください。
専門家がサポートします。

サービス資料ダウンロード

DOWNLOAD

ビジネスをクラウドで加速させる準備はできていますか?
今すぐサービス資料をダウンロードして、詳細をご確認ください。