モデル/バージョンが増えた場合でも CloudWatch の検索式、動的ラベルでダッシュボードを自動更新してみた

モデル/バージョンが増えた場合でも CloudWatch の検索式、動的ラベルでダッシュボードを自動更新してみた

Clock Icon2025.01.28

こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。

はじめに

Amazon Bedrock を利用していると、アカウント内でどのモデルが多く利用されているのか気になるのではないでしょうか。

CloudWatch では Amazon Bedrock の自動ダッシュボードが用意されており、非常に便利です。

2025-01-28 at 15.18.32-CloudWatch  us-east-1.png

ただし、自動ダッシュボードはあくまで AWS 側で用意されているダッシュボードのため、自身でカスタマイズするには以下のように、自動ダッシュボードのデータを、カスタムダッシューボードに取り込む必要があります。

2025-01-28 at 15.19.45-CloudWatch  us-east-1.png

ここで課題となるのが、取り込んだメトリクスはモデル ID が静的に組み込まれてしまうことです。

2025-01-28 at 16.26.57-CloudWatch  us-east-1.png

新しいモデル/モデルバージョンが増えた場合に、都度ダッシュボードを更新する運用は骨が折れてしまいます。

そこで今回は、モデル ID を動的に識別し、ダッシュボードに取り込んでみようと思います。

検索式の利用

CloudWatch の検索式(Search Expressions)は、事前に検索クエリを定義しクエリに引っかかったメトリクスを、動的にグラフへ反映する機能です。

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/using-search-expressions.html

https://dev.classmethod.jp/articles/amazon-cloudwatch-launches-search-expressions/

今回は AWS/BedrockInvocations メトリクスを ModelId 別に検索し動的にダッシュボードを更新します。以下の検索式を定義します。

SEARCH('{AWS/Bedrock,ModelId} MetricName="Invocations"', 'SampleCount', 60)

動的ラベル

動的ラベルは、選択したメトリクスにラベルを動的に付与する機能です。

今回の場合だと、検索式で取得した各モデルのメトリクスに対して、モデル ID を名前として動的に付与する意図で設定します。

${PROP('Dim.ModelId')}

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/graph-dynamic-labels.html

作成されたダッシュボードは以下になります。現時点だと us.anthropic.claude-3-5-sonnet-20241022-v2:0 のみ、動的にラベリングされダッシュボードに表示されています。

2025-01-28 at 16.12.07-ダッシュボード  bedrock-dashboard  CloudWatch  us-east-1.png

メトリクスが発行されていなかった amazon.nova-pro-v1:0 をプレイグランドで実行してみました。かなり細かいのですが、新たにラベル付けされたデータが、ダッシュボードに反映されていますね。

2025-01-28 at 16.17.30-ダッシュボード  bedrock-dashboard  CloudWatch  us-east-1.png

まとめ

以上、「モデル/バージョンが増えた場合でも CloudWatch の検索式、動的ラベルでダッシュボードを自動更新してみた」でした。

自動的にダッシュボードを更新できないかなと調べてみたら、意外とあっさりできたため改めて CloudWatch すごいなぁと思いました。

今回のダッシュボードは Terraform のコードで作成できます。非常にシンプルな状態なので、カスタマイズしちゃってください。

https://github.com/takakuni-classmethod/genai-blog/tree/main/bedrock_cw_board

このブログがどなたかの参考になれば幸いです。

クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.