AWS Generative AI Solution Box を使って GenU を 1-click デプロイしてみた
いわさです。
Generative AI Use Cases (GenU) は CDK ベースで作られているため、CDK デプロイ用の環境を用意してデプロイすることが多いと思います。
最近知ったのですが、AWS Generative AI Solution Box というものを使うと GenU を始めとする AWS が提供する AI ソリューションを環境の用意なしで簡単にデプロイできることを知りました。
DevelopersIO には CDK を使う標準のデプロイ方法を紹介するブログはいくつかあったのですが、AWS Generative AI Solution Box を使ってデプロイしている記事がなかったので今回試してみました。
AWS Generative AI Solution Box
AWS Generative AI Solution Box とは、オープンソースで開発されている生成 AI の活用や開発に役立つアプリケーションを 1 click デプロイする機能を提供しているリポジトリのことです。
本日時点では以下のソリューションがサポートされています。
- Generative AI Use Cases (GenU)
- 生成 AI の様々なユースケースがあらかじめ組み込まれたアプリケーション
- https://github.com/aws-samples/generative-ai-use-cases-jp
- Dify on AWS
- LLMアプリケーション開発プラットフォームで、生成AIを用いたチャットボットやワークフローをGUIで簡単に作成可能
- https://github.com/aws-samples/dify-self-hosted-on-aws
- Bedrock Chat (BrChat)
- Amazon Bedrock を活用した多言語対応の生成 AI プラットフォーム
- https://github.com/aws-samples/bedrock-chat
- Review & Assessment Powered by Intelligent Documentation (RAPID)
- 生成 AI (Amazon Bedrock) を活用した書類審査ソリューション
- https://github.com/aws-samples/review-and-assessment-powered-by-intelligent-documentation
- AI営業ロールプレイ
- 生成AIを活用した営業スキル向上のためのロールプレイングシステム
- https://github.com/aws-samples/sample-ai-sales-roleplay
- GenAI Design Studio
- Amazon Nova Canvas を活用したバーチャル試着ソリューション
- https://github.com/aws-samples/sample-genai-design-studio
- ComfyUI on AWS
- ノードベースの生成AI画像生成ツール
- https://github.com/aws-samples/cost-effective-aws-deployment-of-comfyui
- Bedrock Engineer
- Amazon Bedrock を活用した自律型ソフトウェア開発エージェントアプリケーション
- https://github.com/aws-samples/bedrock-engineer
- Remote SWE Agents
- AI による自律型のソフトウェア開発エージェントの実装例
- https://github.com/aws-samples/remote-swe-agents
- AI Agent Development Code Server
- Amazon Bedrock Agent Core を活用した AI エージェント開発のための専用開発環境
- https://github.com/aws-samples/sample-amazon-bedrock-agentcore-onboarding
ウェブサイトは以下となりまして、AWS アカウントにログインした上でウェブサイト上から上記 AWS ソリューションの中からデプロイしたいものを決めます。
リージョン選択コントロールと「Deploy」ボタンがあるので、そこからそのまま AWS マネジメントコンソール上にテンプレートが展開されてデプロイまで出来る感じです。
実体としては CDK デプロイ可能な基盤を含めてデプロイできる CloudFormation テンプレートです。
Generative AI User Cases (GenU) をデプロイする
今回は GenU のデプロイ方法を確認したかったので、AWS ソリューションの中から GenU をデプロイしてみましょう。
まず事前に AWS アカウントへのログインを済ませておきます。
続いて AWS Generative AI Solution Box ウェブサイト内の「Generative AI Use Cases」で東京リージョンを選択して「Deploy」ボタンを押します。
AWS Generative AI Solution Box より
そうすると AWS マネジメントコンソールの CloudFormation スタック作成画面に遷移すると思います。
ここでは作成する GenU 環境をカスタマイズするための以下のパラメータを指定することが出来ます。
パラメータ名 | 説明 | 本日時点のデフォルト値 |
---|---|---|
Environment | デプロイに使用する環境名 | dev |
NotificationEmailAddress | デプロイ通知を受信するメールアドレス (例: test@example.co.jp) | - |
ModelRegion | Bedrockモデルを使用するAWSリージョン | us-east-1 |
AdditionalModels | デプロイに追加するモデル (カンマ区切り) | us.anthropic.claude-opus-4-1-20250805-v1:0 |
RAGEnabled | RAG機能の選択: Amazon Bedrock Knowledge Bases、Kendra、Kendra Enterprise Edition、またはそれらの組み合わせ | None |
AgentCoreEnabled | AgentCore上で動作するAWS MCPを使用するエージェントを有効化 (us-east-1で実行) | true |
SelfSignUp | セルフサインアップ機能を有効化 (注意: パブリックアクセスを許可する場合は慎重に検討してください) | false |
AllowedSignUpEmailDomains | サインアップを許可するメールドメイン (例: example1.co.jp, example2.co.jp) | - |
AllowedIpV4AddressRanges | アクセスを許可するIPv4アドレス範囲 (例: 10.0.0.100/32, 192.168.0.0/24)。現在のパブリックIPアドレスはこちらで確認: https://checkip.amazonaws.com/ | - |
AllowedIpV6AddressRanges | アクセスを許可するIPv6アドレス範囲 | - |
今回は RAG が欲しかったので RAGEnabled オプションを指定したいと思います。
デフォルトの None 以外だと Amazon Bedrock Knowledge Bases を使うKnowledge-Bases
か、Amazon Kendra Developer Edition を使うKendra
、Amazon Kendra Enterprise Edition を使うKendra-Enterprise
、Bedrock Knowledge Bases と Kendra どちらも使うBoth
/Both-Enterprise
から選択が可能です。
今回私は Amazon Bedrock Knowledge Bases が使いたかったのでKnowledge-Bases
を選択しました。
また、モデルは Anthropic の Claude Sonnet 4.5 を東京リージョンで使ってみたいと思いますので、ModelRegion パラメータにap-northeast-1
を指定し、AdditionalModels パラメータにはanthropic.claude-sonnet-4-5-20250929-v1:0
を指定しました。(後述しますが、この AdditionalModels の指定だとデプロイに失敗しました)
さらに、本番環境で使用する場合は以下のセキュリティ対策が推奨されています。[1]
AllowedIpV4AddressRanges
とAllowedIpV6AddressRanges
を使用して、アクセス可能なIPアドレスを制限するSelfSignUp
をfalse
に設定し、管理者のみユーザーを作成できるようにするAllowedSignUpEmailDomains
で特定のドメインからのサインアップのみを許可する
作成開始すると 1 分ほどでスタックのデプロイが完了しました。が、まだ実は GenU 自体はデプロイされていません。
このスタックからは GenU をデプロイするための基盤(CodeBuild など)がデプロイされただけで、その CodeBuild プロジェクトから GenU のデプロイフローが開始されています。
この CodeBuild プロジェクトの Buildspec 上で GenU の CDK デプロイが実行されるようになっています。
しばらくすると実行されていたビルドが失敗しました。げげっ。
"Error: Unsupported Model Name: anthropic.claude-sonnet-4-5-20250929-v1:0" を修正
ビルドログを見てみると、どうやらサポートされていないモデル ID を指定してしまっていたようです。
GenU で利用するモデルが指定されたリージョンで提供されていない場合、互換性のあるモデルに自動的に変換されますと記載がされていたのですが...
少し調べていたところ、こちらの記事を発見しました。なるほど。[2]
Claude Sonnet 4.5 のような最近の基盤モデルを利用する場合、モデルIDだけを最新のもの(例 anthropic.claude-sonnet-4-5-20250929-v1:0)に変更すると、 推論プロファイル を使うよう促すエラーが表示されます。
ということで、Bedrock コンソールのクロスリージョン推論から推論プロファイルID を取得して使ってみました。
プレイグラウンドから Sonnet 4.5 の推論プロファイルjp.anthropic.claude-haiku-4-5-20251001-v1:0
は私の環境から動かせなかったので Sonnet 4.0 の APAC 推論プロファイルを使うことにします。
ということで、AdditionalModels をapac.anthropic.claude-sonnet-4-20250514-v1:0
に変更して再度デプロイです。
先程デプロイされていたスタックを選択してそこから既存のテンプレート使用で直接更新を行います。
パラメータで指定するモデルIDを先程取得した推論プロファイルのもので指定し直します。(以下は間違って Haiku 4.5 のものを使ってしまっています)
これでデプロイすると、CodeBuild プロジェクトの環境変数上のモデルIDも更新されるので、その後ビルドの再実行を行います。
18分かかりましたが、デプロイに成功しました。
デプロイ成功後
デプロイに成功すると、完了を調べるメールが届きます。
そこにウェブサイト URL も記載されています。
何らかの理由でメールが受信できなかった場合は CodeBuild プロジェクトが CKD デプロイしたことで CloudFormation スタックが追加で作成されていると思うので、GenerativeAiUseCasesStackdev
というスタックを探してみましょう。
そのスタックの出力値の中にWebUrl
がありまして、そちらからもアクセスが可能です。
GenU 環境が無事デプロイされていることを確認しました。
詳細は他の記事と同じなので割愛しますが、今回はユーザーをセルフサインアップし、チャット機能から推論プロファイルが使われていることを確認しています。
また、Knowledge Bases 上にコンテンツアップロードをしていないのでレスポンスが得られていませんが、RAG メニューも表示されていました。
さいごに
本日は AWS Generative AI Solution Box の 1 click デプロイを使って GenU をデプロイしてみました。
ローカルなどに CDK デプロイ用の開発環境を用意しなくて済むのが良いですね。
冒頭の記事では cdk.json などから様々なカスタマイズを行っていますが、そこまで本格的な開発やパラメーターカスタマイズが不要であれば良い選択肢になりそうです。
なお、デプロイしたリソースを削除するには、CloudFormationコンソールから GenerativeAiUseCasesStack と GenUDeploymentStack スタックを削除すれば良いです。