Bedrockアプリにログイン画面を追加したい

0

Amazon Bedrock エージェントを作成、Cloud9でチャット画面(Pythonコード)を作成、streamlit run XXXXX.py --server.port 8080 実行後、ブラウザ画面で動作確認が出来ました。このアプリにログイン画面を追加して社内の人限定で公開する方法を教えてください。初心者ですので、具体的な手順を教えてくださいますと助かります。

1回答
0
承認された回答

社内の人限定公開であればログイン画面ではなくCloud9のEC2のセキュリティグループで会社のパブリックIPのみ許可するようにしてみてはいかがでしょうか?
セキュリティグループへのルール追加は以下のドキュメントの手順で行えます。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/working-with-security-groups.html#adding-security-group-rule

どうしてもログイン画面が必要であればCognitoを導入する方法もあります。
ALBを導入している場合は簡単にログイン画面を用意することができます。
https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pools-hosted-ui-user-experience.html
https://dev.classmethod.jp/articles/alb-ec2-cognito-hosted-ui-2023/

少し調べてみたのですが、streamlitをご利用されているようなので以下のブログで紹介されているようにstreamlit-authenticatorを使用した方法も可能だと思います。(とりあえずお試しのログイン画面であればこちらでもよさそうな気がしています)
https://qiita.com/bassan/items/ed6d821e5ef680a20872

profile picture
エキスパート
回答済み 3ヶ月前
  • ありがとうございます。もう少し詳しく教えてください。Cloud9のEC2のセキュリティグループを確認しますと、インバウンドルールには、「表示するルールがありません」、アウトバウンドルールには、セキュリティーグループルールIDの表示と、ポート範囲/プロトコルが「すべて」、送信先が「0.0.0.0/0」、セキュリティーグループ表示となっています。会社のパブリックIPのみ許可する手順を教えてください。

  • 質問を質問で返すのですが、アプリケーションはパブリックに公開されているものでしょうか? 以下のような形でブラウザでアクセス可能でしょうか? セキュリティグループのインバウンドルールで何も設定されていない場合はそもそもパブリックアクセスができていない状態だと思います。

    http://Cloud9 EC2のパブリックIP:8080
    

    セキュリティグループの設定はインバウンドルールに追加が必要です。 対象のセキュリティグループを選択して「インバウンドのルールを編集」をクリックして必要なポート番号 (今回はTCPの8080) を追加してみてください。 ソースに追加するIPアドレスは会社のパブリックIPにしてください。 追加するときは以下のような形になります。(172.16.0.1/32を会社のパブリックIPアドレスに変更してください) a

  • ありがとうございます。社内の人限定で作成したアプリを公開したいのですが、会社で使用するパブリックIPアドレスの情報は使用できないとのことでした。また、①VPCの作成 ②サブネットの作成 ③インターネットゲートウェイの作成 ④ルートテーブルの作成 ⑤インターネットゲートウェイの作成を行いましたが、EC2アプリサーバーの構築方法(cmdにて、ssh -i ./XXXXX.pem ec2-user@XXXXX 接続確認するところまでは出来ましたが)とEC2でStreamlitを起動し、URLでアクセスする流れになるのかと思いますが、方法が分からず困っております。手順やヒントなど教えていただけないでしょうか。よろしくお願いします。

  • 以下のブログの手順で「streamlit run」を実行するとアプリケーションが起動できます。 その際にURLが表示されるはずなのでそこにアクセスできるようにセキュリティグループでポート番号を許可してください。 https://qiita.com/papasim824/items/1804bc1bd8d4c195d8a8
    また、EC2から抜けた後も動かし続けられるように以下のブログを参考にアプリケーションのサービスを動かしてみるのはいかがでしょうか? https://qiita.com/Ayumu-y/items/bf80c8c483b009f2b818

  • ありがとうございます。streamlit run XXXXX.py 実行後、http://XX.XXX.XXX.X:8501/ でアクセス出来ることを確認しました。しかし、チャット(テキスト送信)しますと、ClientError: An error occurred (UnrecognizedClientException) when calling the InvokeAgent operation: The security token included in the request is invalid. というエラーが発生しています。Cloud9では問題なく動作します。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ