はじめに
AWSのサービスで様々な業務実装をするケースも増えてきていると思います。
ただ一方で、費用感を定期的に取得したり、新たに仕組みを実装するにも費用感が知りたい…
そんなケースがあると思います。概算コストを参考資料としてまとめておくことも可能ですが、
AWSの料金変更や為替レートの変動が発生するたびに、最新の情報へ資料を更新する必要があります。料金や為替レートの変更を都度確認して資料を修正するのは手間がかかるため、維持メンテに苦労します。
そこで、今回は最新のリソース情報をもとに自動で概算コストを確認できる仕組みを検討しました。
そこで本記事では、AIポータルとAmazon Bedrockを中心に、AWSの各種サービスを組み合わせて、HULFT10 for Container ServicesのAWS概算コストをAIエージェントで試算する仕組みを構築します。
AIエージェントから構成パターンを選択すると、試算条件やAWSの料金情報、為替レートを取得し、構成に応じた月額概算コストを算出します。
本記事では、その構築手順を紹介します。
構成図
本システムの構成図を以下に示します。
目次
-
【AWS】
- Amazon Bedrock APIキー作成
- AIモデルプロバイダー作成
- AIエージェント作成
- API GatewayのAPI作成
- API Gatewayルート作成(標準試算条件テンプレート取得)
- API Gatewayルート作成(概算コスト試算)
- API Gatewayルート作成(ドル円為替レート取得)
- AIエージェントのアクション設定(標準試算条件テンプレート取得)
- AIエージェントのアクション設定(概算コスト試算)
- AIエージェントのアクション設定(ドル円為替レート取得)
- AIエージェントの一般設定
- 実行結果
【AIポータル】
【AWS】
AWSでLambda関数を作成する手順は以下の記事を参照。
HULFT10 for Container Services のコストを試算するLambda関数を作成してみた
【AIポータル】
1. Amazon Bedrock APIキー作成
Amazon Bedrockで、[APIキー]⇒[長期APIキー]⇒[長期APIキーを生成]を押下します。
[APIキーの有効期限]を設定し、[生成]を押下します。
[APIキーをダウンロード]を押下し、APIキーを保存します。
2. AIモデルプロバイダー作成
AIポータルで、[ユーザアイコン]⇒[管理者設定]⇒[グローバル設定]を押下します。
[AIモデルプロバイダー]⇒[AIモデルプロバイダーを追加]を押下します。
[AIモデルプロバイダー名]、[説明]、[リージョン]、[APIキー]を設定し、[接続テスト]を押下します。
「Amazon Bedrock への接続に成功しました。」が出力されることを確認し、[OK]を押下します。
[次へ]を押下します。
利用する[モデル]を選択し、[推奨モデル]を設定し、[確認して追加]を押下します。
モデルは複数選択可能です。
設定内容を確認し、[AIモデルプロバイダーを追加]を押下します。
3. AIエージェント作成
AIポータルで、[ユーザアイコン]⇒[管理者設定]⇒[グローバル設定]を押下します。
[AIエージェント]⇒[AIエージェントを作成]を押下します。
[AIエージェント名]と[説明]を設定し、[次へ]を押下します。
[AIモデルプロバイダー名]を選択し、[確認して作成]を押下します。
「2. AIモデルプロバイダー作成」で作成したAIモデルプロバイダーを選択します。
AIモデルプロバイダーは複数選択可能です。
設定内容を確認し、[AIエージェントを作成]を押下します。
4. API GatewayのAPI作成
API Gatewayで、[API]⇒[APIを作成]を押下します。
HTTP APIの[構築]を押下します。
[API名]を入力し、[次へ]を押下します。
[次へ]を押下します。
[次へ]を押下します。
[作成]を押下します。
5. API Gatewayルート作成(標準試算条件テンプレート取得)
[Routes]⇒[作成]を押下します。
メソッドに[GET]を選択し、[ルート名]に任意の名前を入力し、[作成]を押下します。
[統合をアタッチする]を押下します。
[統合を作成してアタッチ]を押下します。
[統合タイプ]に[Lambda関数]を設定し、[Lambda関数]に作成したLambda関数を設定し、[作成]を押下します。
6. API Gatewayルート作成(概算コスト試算)
[Routes]⇒[作成]を押下します。
メソッドに[POST]を選択し、[ルート名]に任意の名前を入力し、[作成]を押下します。
対象のルートを選択し、[統合をアタッチする]を押下します。
[統合を作成してアタッチ]を押下します。
[統合タイプ]に[Lambda関数]を設定し、[Lambda関数]に作成したLambda関数を設定し、[作成]を押下します。
7. API Gatewayルート作成(ドル円為替レート取得)
[Routes]⇒[作成]を押下します。
メソッドに[GET]を選択し、[ルート名]に任意の名前を入力し、[作成]を押下します。
対象のルートを選択し、[統合をアタッチする]を押下します。
[統合を作成してアタッチ]を押下します。
[統合タイプ]に[Lambda関数]を設定し、[Lambda関数]に作成したLambda関数を設定し、[作成]を押下します。
8. AIエージェントのアクション設定(標準試算条件テンプレート取得)
[アクション]⇒[カスタムアクションを追加]を押下します。
[アクション名]、[説明]、[操作種別]、[影響範囲]、[カテゴリ]を設定します。
[エンドポイント]を設定し、[確認して追加]を押下します。
[エンドポイント]にAPI GatewayのステージのURL+ルート(/template)を設定します。
設定内容を確認し、[カスタムアクションを追加]を押下します。
9. AIエージェントのアクション設定(概算コスト試算)
[アクション]⇒[カスタムアクションを追加]を押下します。
[アクション名]、[説明]、[操作種別]、[影響範囲]、[カテゴリ]を設定します。
[エンドポイント]、[入力スキーマ]を設定し、[確認して追加]を押下します。
[エンドポイント]にAPI GatewayのステージのURL+ルート(/estimate)を設定します。
[入力スキーマ]に標準試算条件テンプレートファイルのJSON形式の試算条件を貼り付けます。
設定内容を確認し、[カスタムアクションを追加]を押下します。
10. AIエージェントのアクション設定(ドル円為替レート取得)
[アクション]⇒[カスタムアクションを追加]を押下します。
[アクション名]、[説明]、[操作種別]、[影響範囲]、[カテゴリ]を設定します。
[エンドポイント]を設定し、[確認して追加]を押下します。
[エンドポイント]にAPI GatewayのステージのURL+ルート(/exchange-rate)を設定します。
設定内容を確認し、[カスタムアクションを追加]を押下します。
11. AIエージェントの一般設定
[一般]をクリックし、[ポリシーラベル]、[追加の指示]を設定し、[確認して保存]を押下します。
[追加の指示]の設定例を以下に示します。
# 役割
HULFT10 for Container ServicesのAWS概算コスト試算AI
# 目的
指定構成に基づきAWSリソースの月額概算コストを算出する
# 必須ルール
- コスト試算依頼時は最初に構成パターンを提示する。構成選択後は選択完了報告、中間状態表示、追加説明を表示しない
- テンプレート取得結果resourcesのみ使用する。条件値はユーザー指示時のみ変更する
- 構成パターン表の対象resourceに記載されたresourceのみ表示・試算対象とする
- 対象resourceは構成パターン表の記載順で処理する
- 対象外resourceは表示・試算しない
- Lambda連携JSONはテンプレート取得結果をそのまま使用する。ユーザー変更項目以外のresource、serviceCode、region、apiFilters、monthlyUsage、pricingParametersの値・キー・階層は変更禁止
- AWSコスト試算成功前に料金を表示しない
- 為替レートは出力形式の「為替レート」欄へ必ず表示する
- 各リソースJPYは表示USD×取得為替レートで算出し、小数点以下は四捨五入する
- 合計USDはAWSコスト試算結果total_usd_monthを使用し、再計算しない
- 合計JPYは合計USD×取得為替レートで算出し、小数点以下は四捨五入する
# 構成パターン
No|起動タイプ|ストレージ|対象resource
1|EC2|EFS|EC2、EBS、Aurora、Aurora Storage、RDS Proxy、EFS、ALB、ALB_LCU、NLB、NLB_LCU、NAT Gateway
2|EC2|S3|EC2、EBS、Aurora、Aurora Storage、RDS Proxy、S3、ALB、ALB_LCU、NLB、NLB_LCU、NAT Gateway
3|Fargate|S3|Fargate、Aurora、Aurora Storage、RDS Proxy、S3、ALB、ALB_LCU、NLB、NLB_LCU、NAT Gateway
# 試算処理
1. 構成パターンを番号付きで提示し、番号選択を受ける
2. 番号選択後は直ちに「見積条件テンプレート取得」アクションを1回だけ実行する。取得前後の説明、確認、進捗報告は表示しない。取得済みの場合は再実行しない
3. 取得結果resourcesのみを使用し、構成パターン表の対象resourceに完全一致するresourceのみ抽出する。抽出後はresource単位でserviceCode、region、apiFilters、monthlyUsage、pricingParametersを保持する。resources未取得時は抽出・試算を実行しない
4. 抽出結果を表形式で表示する
5. 表示後、試算条件変更有無を確認する。変更内容が指定された場合は反映し、「変更なし」または了承の場合は試算条件確定する
6. 試算条件確定後、「AWSコスト試算」アクションを実行する
7. AWSコスト試算成功後、「為替換算アクション」を実行する
8. 為替換算結果を使用して各リソースJPYを算出する
9. 合計USDはAWSコスト試算結果total_usd_monthを使用する
10. 合計JPYは合計USD×取得為替レートで算出し、小数点以下は四捨五入する
# 表示ルール
- 抽出対象resourcesは全項目を省略せず表形式で表示する。JSON表示は禁止
- resource、serviceCode、region、apiFilters、monthlyUsage、pricingParametersは取得結果resources内の値をそのまま展開表示する。ネスト階層内の値も表示する。存在しない項目のみ空欄とする
- 取得結果に値が存在する項目は「-」や省略表記に置換しない
- apiFiltersは料金算定条件としてキー単位で表示する。複数項目は「、」で区切る
- monthlyUsageは利用条件として数量・単位・配下条件を表示する。複数項目は「、」で区切る
- 料金算定条件の値にHTMLタグは使用しない
- 内部項目名は以下へ変換する
apiFilters → 料金算定条件
monthlyUsage → 利用条件
# 試算条件確認
|リソース|サービスコード|リージョン|料金算定条件|利用条件|
|-|-|-|-|-|
# 出力形式
## 為替レート
USD/JPY:
取得日時:
## AWS概算コスト(月額)
|リソース|利用条件|数量|USD|JPY|
|-|-|-|-|-|
## 合計
USD:
JPY:
[追加の指示]は2000文字の文字数制限があります。
設定内容を確認し、[保存]を押下します。
12. 実行結果
実行結果を以下に示します。
チャットに「HULFT10 for Container Servicesの概算コストを試算してください」と入力し、自動試算を開始します。
構成パターンを聞かれるので、番号を選択します。
見積条件を変更する場合は変更内容を入力します。
変更しない場合は「変更なし」と入力します。
指定した構成パターンのAWS概算コスト試算結果が表示されることを確認します。
最後に
本記事では、AIポータルとAmazon Bedrockを中心に、AWSの各種サービスを組み合わせて、HULFT10 for Container ServicesのAWS概算コストをAIエージェントで試算する仕組みを構築しました。
AIエージェントから構成パターンを選択すると、試算条件の取得からAWSコストの試算、為替換算までを自動で実行し、月額概算コストを確認できるようになりました。
概算コストを資料として管理する場合、AWS料金改定や為替レート変動のたびに更新が必要になりますが、本仕組みにより常に最新の料金情報と為替レートを利用した試算が可能になります。
このブログでは、今後も様々なTopics記事や接続検証等、皆さんの参考になるような記事を投稿していきたいと思います!
ここまで読んでいただきありがとうございました。それでは、また!![]()

















































