1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Bedrockのコスト管理を最適化する5段階の運用モデルと実践ガイド

1
Posted at

この記事でわかること

  • Amazon Bedrockのコストを「誰が・何に」使ったか特定するための属性付与の手法
  • コストの可視化と、予算超過を防ぐための3つの強制(Enforcement)レベル
  • プラットフォーム側で一括してコストを最適化するための運用アプローチ

何が発表されたか

生成AI、特に自律的に動作する「エージェント型」のワークロードにおいて、トークン消費量が増大しコスト管理が複雑化しています。エージェント型ワークロードは、ユーザー数ではなく、ワークフローの自律性の度合いやコンテキストのサイズに応じてトークン消費がスケールするため、従来のモデルよりもコスト予測が困難です。これに対し、FinOps(コスト最適化の専門手法)担当者とプラットフォームエンジニアリングチームが連携して取り組むべき、5つのステージからなる運用モデル(プレイブック)が提示されました。

このモデルは、以下の5つのステップをループとして回すことを推奨しています:

  1. 属性付与 (Attribute): コストを特定のチームやアプリケーションに紐付ける
  2. 観測 (Observe): リクエストの詳細をログに記録する
  3. 強制 (Enforce): 予算に基づき利用を制限する
  4. 最適化 (Optimize): プラットフォームのデフォルト設定を改善する
  5. 運用 (Operate): データを意思決定に活用する

何がうれしいのか

  • FinOps担当者: コストの帰属(どのチームが、どのワークロードで、いくら使ったか)を明確にでき、予算管理や異常検知が容易になります。
  • プラットフォームエンジニア: ログ管理やリクエストのメタデータ付与、ルーティングの制御を中央集権的に行えるため、個々の開発チームに注意を促す手間を減らし、組織全体の無駄を削減できます。
  • エージェント活用チーム: ユーザーとのやり取り回数ではなく、タスクの複雑さによってトークン消費が急増するエージェント型ワークロード特有の性質に対し、適切な監視と制御が可能になります。

使い始めるには

コスト管理の基盤として、まずは以下の設定を行うことが推奨されています。

1. コストの属性付与 (Stage 1)

Amazon Bedrockは、呼び出しを行ったIAM principal(AWSリソースを操作する実行主体)に対して推論コストを自動的に紐付けます。以下の4ステップで設定を進めます。

  1. CUR 2.0(AWS Cost and Usage Report)のデータエクスポートで、IAM principalデータを有効にする。
  2. IAM principalに、チーム、アプリケーション、コストセンターなどのビジネス次元のタグを付与する(フェデレーションアクセスの場合は、OIDCやSAMLクレームを通じてセッション名とタグを渡すよう設定する)。
  3. AWS Billingにて、それらのタグをコスト配分タグとして有効化する。
  4. タグを分析する(CUR 2.0では iamPrincipal/ プレフィックスが付与され、24〜48時間以内にCost Explorerで確認可能になります)。

2. リクエストの可視化 (Stage 2)

Amazon Bedrockのモデル呼び出しログ(Model invocation logging)を有効にし、CloudWatch LogsやAmazon S3へ出力するように設定します。その際、requestMetadataを使用して、アプリケーション名やワークフロー名などの情報をリクエストに含めることで、より詳細な分析が可能になります。

注意点・制約

  • 共有ロールの問題: LLMゲートウェイなどを介して単一のIAMロールでBedrockを呼び出す場合、そのままでは「誰が」使ったかの特定ができません。セッションタグなどを用いて、ユーザーごとの識別情報を引き継ぐ設計が必要です。
  • 強制レベルの選択: 予算超過を止める方法には、以下の3つのティアがあります。
    • Tier 1: モニターとアラート: AWS Budgetsによる閾値通知のみ。コストを強制停止はできませんが、導入が容易です。
    • Tier 2: IAMタグによる強制: ログデータに基づき、予算を超過したユーザーのIAMエンティティを共有の拒否ポリシー(deny bedrock:*)に追加します。
    • Tier 3: ゲートウェイによる遮断: (素材の記載に基づき、ゲートウェイ側で即座にリクエストを遮断するアプローチを指します)
      利用環境や、許容できるコストの変動速度に応じて選択する必要があります。

参考

Managing Amazon Bedrock costs end to end: A playbook for FinOps and platform teams
https://aws.amazon.com/blogs/machine-learning/managing-amazon-bedrock-costs-end-to-end-a-playbook-for-finops-and-platform-teams/


※本記事は筆者のメモ・公開情報をもとに、ローカルLLMの支援で作成しています。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?