📝

【個人的まとめ】Bedrock + Streamlitでチャットボットアプリ作ってみる

2024/09/21に公開

はじめに

こちらのQiitaの記事を参考にBedrockでチャットボットアプリをCloudformationで作ってみました。
かなり長い内容になるので、それぞれのコンポーネントごとに記事にまとめましたので、気になる方はこちらの別記事もご覧ください。

  1. 【初心者向け】VPCエンドポイントをCloudFormationで作成してみる
  2. 【初心者向け】ALB・Cognito連携をCloudFormationで作ってみる
  3. 【初心者向け】ALB・ECS連携 をCloudFormationで作ってみる

こちらの記事では、作成したアプリのサインアップ~チャットボット利用までの流れを説明します。

対象読者

  • Amazon Bedrockを触ったことがある
  • Streamlitを触ったことがある
  • Cloudformationを触ったことがある

アーキテクチャ


アーキテクチャ

使い方

ソースコードはこちらのGitHubリポジトリに保管しているので、気になる方はフォークしてみてください。

  1. Route53でパブリックホストゾーンを作成する。
  2. ACMでSSL証明書を作成する。
  3. CloudFormationで下記の順番でスタックを作成する。
    1. template.vpc-dynamo-ecr-sg.yml
    2. cognito.yml
    3. template.ecs-alb.yml
  4. Route53のパブリックホストゾーンのドメイン名にブラウザでアクセスする。

Cognitoのサインイン画面が表示される。ユーザーを作成するためにSignupボタンをクリックする。

Cognitoのサインアップ画面が表示される。eメールアドレスとパスワードを入力してユーザーを作成する。

eメールアドレスの検証画面が表示される。受信したメールに記載されている番号を入力する。

多要素認証のためのAuthenticatorアプリを使って多要素認証を有効化する。

サインインが完了してチャットボットが利用できるようになる。

まとめ

今回初めてCloudFormationを使ってみましたが、AWSリソースの一括管理・削除ができるのが
大変素晴らしいと同時に、設定すべきパラメータ情報を探したり、ファイルが大きくなりすぎて、
クロススタックで利用しないと厳しそうだなと学びが多かったです。
今後もIaCを意識した開発を進めていきたいと思います。(特にTerraformに挑戦したい)

Discussion