こんにちは。AWS CLIが好きな福島です。 完成イメージ プログラム 解説 セッション管理 画面描画 画像を表示する関数 モーダルを描画する関数 終わりに 前回、Streamlitでページネーションを実装する例をご紹介いたしましたが、 今回はモーダル内でページネ…
こんにちは。AWS CLIが好きな福島です。 今回はStreamlitを使って、ページネーションを実装する方法をご紹介します。 完成イメージ プログラム 実行方法 解説 セッション管理 アプリケーションロジック 3次元配列で猫の画像パスを格納 ページのインデックス…
こんにちは。AWS CLIが好きな福島です。 ※5選と言いながら、AWSサービスのアイコン4つしかないですが、Lambdaを使った構成が2つあります。 構成 構成判断フロー図 各構成にWebアプリをデプロイしてみる 構成パターン①: WAF + ALB + VPC + EC2 構成パターン②:…
こんにちは。AWS CLIが好きな福島です。 はじめに インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、先日から学んだことをアウトプットしています。 今回は以下の技術を活用し、TODO管理ができるWeb…
こんにちは。AWS CLIが好きな福島です。 今回は、AWS SDK for Python (Boto3)を使って、DynamoDBを操作してみたいと思います。 参考情報 テーブルの作成(create_table) アイテムの追加(put_item) アイテムの取得(get_item) アイテムの更新(update_item) アイ…
こんにちは。AWS CLIが好きな福島です。 インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、先日から学んだことをアウトプットしています。 先日、FlaskとBootstrap入門に関するブログを書きましたが…
こんにちは。AWS CLIが好きな福島です。 インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、先日から学んだことをアウトプットしています。 先日は、Flask入門に関するブログをまとめましたが、続い…
こんにちは。AWS CLIが好きな福島です。 今回は、インフラエンジニアのキャリアがメインの私が社内でPythonを使ったアプリ開発の学習をする機会があったため、学んだことをアウトプットしていきたいと思います。 アプリ開発では以下の技術に触れたため、いく…
こんにちは。AWS CLIが好きな福島です。 今回は、Codeシリーズを活用したECSのCI/CDパイプラインの動きを触って理解してみたいと思います。 特にBlue/Greenデプロイがどう動いているのか確認してみたいと思います。 概要図 Blue/Greenデプロイの流れ Blue/Gr…
こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 解説 手順 ①リソースのデプロイ ②Athena(Glue)のセットアップ ③DynamoDBへのサンプルデータの登録 ④DynamoDBのエクスポート ⑤動作確認 終わりに はじめに 今回は、DynamoDBのデータをAthenaで分析す…
こんにちは。AWS CLIが好きな福島です。 今回はAmaozn Bedrock & Amazon Transcribeを活用し、発音をチェックするアプリを作ってみます。 構成図 画面イメージ デプロイ手順 ①リソースのデプロイ ②Webアプリへアクセス 終わりに 構成図 画面イメージ デプロ…
こんにちは。AWS CLIが福島です。 今回は、Amazon Bedrockのマルチモーダルを利用して、画像検索アプリを作ってみます。 画像検索のイメージ 構成図 Webアプリの概要 画像追加 画像検索 データベースのカラム 手順 ①メインリソースのデプロイ ②ALBへのターゲ…
こんにちは。AWS CLIが好きな福島です。 概要 やること リポジトリアカウントで実施 パイプラインアカウントで実施 両方のアカウントで実施 ①CodeCommitリポジトリの作成(手動構築) ②リポジトリアカウントに必要なリソースの作成(CFn構築) ③パイプラインアカ…
こんにちは。AWS CLIが好きな福島です。 今回は、別のアカウントのCodeCommitを利用したCodePipeline構成を作成する方法をご紹介します。 参考 概要図 ポイント 手順 ①CodeCommitの作成(リポジトリアカウントで実施) 「リポジトリを作成」を押下 名前(sample…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考 構成 作成するリソース ポイント 手順 1. リポジトリをクローン 2. リソースのデプロイ 3. 動作確認①(SQSのメッセージをLambdaが処理することを確認) 3.1 API GatewayのURLを取得 3.2 API GatewayにPOS…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考情報 構成図 Webアプリ上でユーザー情報を取得する方法 ユーザー情報を確認できるALBのリクエストヘッダー x-amzn-oidc-accesstoken(Cognitoが発行) x-amzn-oidc-data(ALBが発行) 補足 ポイント どのサ…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考情報 不便に感じていた点 ①Cloud9の起動が手間な点 ②VSCodeから接続しているのにも関わらず、Cloud9が自動停止される点 回避策 Cloud9の起動が手間な点に対する回避策 VSCodeから接続しているのにも関わ…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考情報 構成図 構成のポイント 成功コードにおける補足 検証におけるポイント 手順 ①メインリソースのデプロイ ②ALBへのターゲット(S3のVPCエンドポイントのIP)登録 ③S3バケットへのHTMLファイルアップロ…
こんにちは。AWS CLIが好きな福島です。 はじめに 結論 AWS Lambdaでストリーミングレスポンスを扱う方法 Lambda Web Adapter FastAPI と Uvicorn 実装方法 ①GirHubからClone ②template.ymlの編集 ③requirements.txtの編集 ④app/main.pyの編集 LangChainを使…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考 RunnableParallel サンプルコード1 実行結果1 サンプルコード2 実行結果2 補足: RunnableParallelと同等の書き方① RunnablePassthrough サンプルコード1 実行結果1 解説 サンプルコード2 実行結果 解…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考 Amazon Bedrock(Claude)に質問 サンプルコード 実行結果 補足 会話履歴を踏まえた回答 サンプルコード 会話履歴をメモリに保存 サンプルコード ポイント 会話履歴をDynamoDBに保存(自己履歴管理) Dynam…
こんにちは。AWS CLIが好きな福島です。 はじめに LangChain Expression Language (LCEL)とは 具体例 解説 イメージ図 コンポーネントとは コンポーネントの種類 インターフェース 同期メソッド 非同期メソッド LCELのメリット 終わりに はじめに 今回は今更…
こんにちは。AWS CLIが好きな福島です。 はじめに 今回は、コピペでKnowledge Base for Amazon Bedrockを利用したRAGを構築する方法をご紹介します。 ベクターストアとしては、Aurora Serverless v2 for PostgreSQLを利用するかつ夜間停止することでできる限…
こんにちは。AWS CLIが好きな福島です。 はじめに 前回のブログでは、RAGシステムの必要性やアーキテクチャの要素の考慮事項について私の考えを書いてみましたが、 今回はRAGシステムを実装する上で必要な機能について、私の考えを書いてみます。 blog.serve…
こんにちは。AWS CLIが好きな福島です。 RAGとは? RAGのイメージ RAGの課題(RAGシステムの必要性) 課題 解決方法 アーキテクチャ図 アーキテクチャの各要素について ①ユーザーインターフェイス 独自のUIを構築する場合 SlackやTeamsなどのチャットに組み込…
こんにちは。AWS CLIが好きな福島です。 はじめに イメージ サンプルコード フロントエンド(frontend.py) バックエンド(backend.py) 実行方法 ポイント ストリーミング出力について 会話履歴の表示 選択したモデルに応じた動的なカラムの用意 補足 モデルを…
こんにちは。AWS CLIが好きな福島です。 現在は、LangChainを利用する際は、LCEL記法が推奨されております。 LCELについては、以下を参照ください。 python.langchain.com また別でブログを書いているため、ご興味ある方はご覧ください。 blog.serverworks.c…
こんにちは。AWS CLIが好きな福島です。 はじめに 留意事項 やること ①アプリケーションの作成 ②retrieverの設定 ③データソースの設定 ④動作確認 終わりに はじめに 今回は、Amazon Q(プレビュー)を利用し、手軽にRAGアプリを作成してみます。 Amazon QでRAG…
こんにちは。AWS CLIが好きな福島です。 はじめに Workshopの概要 感想 Amazon Q内にユーザー作成 Amazon Qを使ったRAGアプリの構築 データソースとして、File Upload,Web crawler,S3を設定 補足 RAGアプリへの質問 Amazon QとKeycloak(EC2)を利用したSAML連…
こんにちは。AWS CLIが好きな福島です。 はじめに Workshopの概要 感想 構成図 概要 Step Functionsの詳細 やったこと アプリの画面 Amazon Bedrockを使った音声データの分析(Generative AI Query) Amazon Bedrockへのプロンプトの内容を変更し、分析内容(Ge…
こんにちは。AWS CLIが好きな福島です。 はじめに 前回に引き続き、AWSを利用したチャットボットアプリの構成例をご紹介いたします。 blog.serverworks.co.jp チャットボットアプリのイメージ ※補足 KendraのWeb Crawlを使ってサーバーワークスの役員情報を…
こんにちは。AWS CLIが好きな福島です。 はじめに 今回は、Amazon KendraからSlack接続する方法をご紹介いたします。 はじめに 参考 Slackアプリの作成 Slackアプリにアクセス Create New Appを押下 From scratchを押下 アプリ名およびWorkspaceを選択し、Cr…
こんにちは。AWS CLIが好きな福島です。 はじめに チャットボットアプリのイメージ 構成 構成の説明 AWSへのプライベート接続 ECSによるアプリケーション実装 会話履歴の保存と利用 質問応答システム ログの保存と分析 RAGのセットアップ 効率的なインデック…
こんにちは。AWS CLI が好きな福島です。 はじめに スクリプト まとめ 質問内容 ① 回答 AI21 Labs(ai21.j2-ultra) Anthropic(anthropic.claude-v2) Cohere(cohere.command-text-v14) 質問内容 ② 回答 AI21 Labs(ai21.j2-ultra) Anthropic(anthropic.claude-v…
こんにちは。AWS CLI が好きな福島です。 はじめに 追記 利用可能なモデルを確認する AI21 Labs のモデルを使ってみる ai21.j2-ultra の実行 Amazon のモデルを使ってみる amazon.titan-embed-text-v1 の実行 Anthropicのモデル を使ってみる anthropic.clau…
こんにちは。AWS CLIが好きな福島です。 はじめに カスタム通知とは? カスタム通知のやり方 実際に試してみる AWS CLIで試してみる boto3で試してみる EventBridgeの入力トランスフォーマーで試してみる 終わりに はじめに 先月のアップデートでAWS ChatBot…
こんにちは。AWS CLIが好きな福島です。 はじめに 背景 それぞれの機能で出来ること 最適な実装について 注意点 その他の実装例について 終わりに はじめに 今回はマルチアカウント環境下におけるSecurity Hubの有効化方法について、ブログにまとめたいと思…
こんにちは。AWS CLIが好きな福島です。 はじめに 概要図 Transit Gateway ピアリングアタッチメントの簡単な作り方とポイント Transit Gateway間のピアリングのルーティングイメージとポイント 行き(左から右) 戻り(右から左) ポイント 終わりに はじめに …
こんにちは。AWS CLIが好きな福島です。 はじめに 結論 構成 前提 課題(制限) 課題(制限)を考慮した設計 ルーティング設計例 終わりに はじめに 前回、マルチアカウント環境におけるネットワークアーキテクチャのCICR設計について、ブログを書きましたが、 …
こんにちは。AWS CLIが好きな福島です。 はじめに 共通インフラアカウントを作る目的 共通インフラアカウント一覧 ①マネジメントアカウント(必須) マネジメントアカウントとは? マネジメントアカウントに持たせる役割例 ②監査アカウント(ほぼ必須) ③ログア…
こんにちは。AWS CLIが好きな福島です。 はじめに AWSで利用するCIDRについて AWSで利用するCIDR範囲を決める CIDRを適切に区切るとは AWSで利用するCIDRの更なる分割 リージョンごとに割り当てる 環境ごとに割り当てる VPCのCIDRについて サブネット設計に…
こんにちは。AWS CLIが好きな福島です。 利用するコマンド,サブコマンド <command> <subcommand> StackSetsの一覧 実行コマンド 実行例 各列の説明 StackSetsのインスタンス一覧 変数の設定 実行コマンド 実行例 各列の説明 StackSetsのオペレーション一覧 変数の設定 実行コマン</subcommand></command>…
こんにちは。AWS CLIが好きな福島です。 はじめに 前提 利用するコマンド 結論(スクリプトの中身) 実行結果例 主要なコマンドの実行結果 「1. 組織内のアカウントの一覧をline変数に代入」で利用しているコマンド 「4. SecurityHubで指定したstandardsのコン…
こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 概要図 AthenaとQuickSightのイメージ図 参考 ⑩QuickSightでデータの可視化(可視化アカウントで実行) 権限を付与するユーザーの確認 データソースの作成 データセットの作成 v_config_ec2…
こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 概要図 参考 ⑦可視化したい情報ごとに様々なビューの作成(可視化アカウントで実行) すべての AWS Config リソースのビューの作成 すべての EC2 インスタンスのビューを作成 すべての VPC …
こんにちは。AWS CLIが好きな福島です。 はじめに 第1弾 第2弾 第3弾 参考 可視化のイメージ 概要図 前提 ①ConfigSnapshotの出力設定(各アカウントで実行) ConfigSnapshotの確認 ConfigSnapshotの設定 設定ファイルの作成 設定ファイルを基にConfigSnapshot…
こんにちは。AWS CLIが好きな福島です。 はじめに そもそも、AWS Config Aggregatorとは? 前提 事前準備 EC2の情報取得 実行コマンド 実行結果例 コマンドの説明 VPCの情報取得 実行コマンド 実行結果 RDSの情報取得 実行コマンド 実行結果 IAM 実行コマン…
こんにちは。AWS CLIが好きな福島です。 はじめに 参考 そもそも、AWS SAMとは? AWS SAMを利用するメリット 概要図 ワークショップでやったこと ①サンプルアプリの準備(sam init) ②サンプルアプリをローカルで実行(sam local) ③サンプルアプリのビルド(sam …
こんにちは。AWS CLIが好きな福島です。 はじめに 参考 概要図 やること ①IDプロバイダーの設定 ②IDプロバイダーへのIAMロールの割り当て ③②で作成したIAMロールの信頼関係の編集 ④GitHubのSecretsにIAMロールのARNを保存 ⑤GitHub ActionsによるGitHubからS3…
こんにちは。AWS CLIが好きな福島です。 はじめに 利用するコマンド,サブコマンド <command> <subcommand> クラスタの一覧 特定のクラスタで稼働しているサービス一覧 タスク定義の一覧 最新の全タスク定義のJSON情報(ファイルに出力) 全クラスタで稼働しているサービス一覧 全ク</subcommand></command>…