Y_Yamashitaのブログ

勉強したことのアウトプット・メモが中心。記事の内容は個人の見解であり、所属組織を代表するものではありません。

AWS

(dify-self-hosted-on-aws)閉域網のAWS環境で、Dify公開アプリにユーザー認証を導入する(Nginx+AD)

皆様は、セルフホスト版コミュニティプランのDifyを閉域網のAWS環境で利用していて、公開アプリにユーザー認証を導入したいと思ったことはありますか? あ、ないですか。。。まあそうですよね。閉域網であれば、全くの第三者にアクセスされるリスクは低いで…

【Difyセルフホスト版】Difyから確認コードがメール送信できない状況で、無理矢理ユーザーのメールアドレスを更新してみた

皆様は、Difyから確認コードをメール送信できない状況で、Difyユーザーのメールアドレスを更新したくなったことはありますか? あ、ないですか。。。まあそうですよね。Difyがメール送信できない状況であれば、そもそも登録しているメールアドレスが使われる…

送信元IPを制限したIAMユーザーでCloudformationのカスタムリソースをデプロイしたら失敗した話

タイトルが長くてすいません(挨拶) タイトル通りなのですが、送信元IPアドレスを制限したIAMユーザーで、Cloudformationカスタムリソースをデプロイしたら失敗しました。 原因と解決方法について、あまり情報が出てこなかったので、事の顛末をブログに残そ…

Amazon Bedrockのバッチ推論を使って、大量のCVEの内容を一括で解説させてみた

Amazon Inspector で脆弱性の検知をすると、意外とたくさんの脆弱性が検知されますよね(挨拶)。 CVEの情報を載せてくれてはいるものの、NVD等の脆弱性データベースの説明文は難解で、正直私は読んだだけでは理解が出来ませんでした。。 そこで、こんな時こ…

Amazon Bedrock AgentCore Policyでツール利用を制限してみた

最近、Amazon Bedrock AgentCore を勉強中です。 概要は少しずつ理解できてきたので、実際に実装して慣れていきたいと思います。 これまでにMemoryとGatewayを触ってみたので、今回は、プレビュー中のPolicyを使って、ツール利用を制限してみます。 最初にお…

re:Invent2025振り返り - 持ち物

今回は、re:Inventに参加するにあたって持参した・しなかった持ち物について、備忘のために振り返りたいと思います。 人によって状況や優先度が違うと思うので、あくまで個人的な意見の一つとご認識いただければ幸いです。 最初に謝辞 サコッシュ スーツケー…

Amazon Bedrock AgentCore Gateway を経由して、エージェントから外部ツールにアクセスしてみた

本記事は、AWS DISCOVERY CAMP/AWS BUILDERS GUILD/ゆるふわスタディ Advent Calendar 2025の23日目の記事となります。 最近、Amazon Bedrock AgentCore を勉強中です。 概要は少しずつ理解できてきたので、実際に実装して慣れていきたいと思います。 前回の…

re:invent2025体験記 - 出発~ホテルチェックイン

今年、初めてre:inventに参加する事が出来ました。 来年以降、再び行ける日が来るか分かりませんが、自分用の備忘録として、体験記を書きたいと思います。 といっても今回は出発からホテルのチェックインまでなので、re:invent要素がほとんどないのですが。…

Strands AgentsでAmazon Bedrock AgentCoreのメモリ機能を利用してみた

前々回、前回と、Strands Agentsのエージェントに少しずつ機能を追加してきました。 Strands Agents + LiteLLMでAzure OpenAIを利用してみた - Y_Yamashitaのブログ Strands Agentsでbedrock-kb-retrieval-mcp-serverを利用してみた - Y_Yamashitaのブログ …

【Node.js】プロキシでPOSTリクエストのボディからデータを取り出し、カスタムヘッダにセットしてみた

久々のブログ投稿になってしまいました。 今回はタイトル通り、プロキシでPOSTリクエストのボディからデータを取り出し、カスタムヘッダーに利用してみたいと思います。具体的な流れは以下です。 Node.jsで作ったプロキシを稼働させる クライアントからプロ…

極めて個人的な、AWS Summit 2025の感想と反省

2023年、2024年に引き続き、今年もAWS Summitに一般参加者として参加してきました。 昨年、Summit参加後に個人的な反省点をブログに残していたのですが、今年も個人的な振り返りを行い、昨年と比べて改善した部分や引き続き反省が残る部分などを、自分用の備…

Amazon Q Developer CLIで将棋ゲームを作ってみた

生成AIで次々と新しいツールやソリューションが出てきて、さて何から始めれば良いやら、、と途方に暮れていたところ、面白そうなキャンペーンが発表されました。 community.aws Amazon Q Developer CLIとのチャットのみでゲームを作成すると、記念Tシャツが…

Private MarketplaceでBedrockのLLMモデルを制限する

最近(といっても1年以上前からでしょうが)、生成AIの進歩は目覚ましいものがありますね。IT業界では、常に話題の中心は生成AIという感じがします。 そこでこのビッグウェーブに乗って、私も一筆書きたいと思います。ただ、最新のソリューションの紹介や実…

AWS Client VPNとDHCPオプションセットのDNS設定はどちらが優先されるのか?

最近、AWS Client VPNのDNS設定について色々と調べていました。その際、「VPCに疑似クライアントを用意して、DNS設定を色々いじって検証してみようかな」と考えたのですが、そこでふと、「VPCではDHCPオプションセットでDNSの設定をしているから、その設定が…

AWS Client VPNの承認ルールを絞ったら、名前解決が出来なくなった話

最近、久々にAWS Client VPNを構築したのですが、その時に名前解決で少しハマったので、経緯を備忘のために残しておきます。 タイトル通りなのですが、承認ルールを絞ったところ、名前解決が出来なくなりました。 最初に結論 前提知識 AWS ClientVPNの承認ル…

AWSのクイズサイトを作ってみた(構成概要・躓いた箇所)

タイトル通りなのですが、AWSのクイズサイトを作ってみました。 aws-quiz.yuy-lab.org まだ問題数も少なく、気の利いた機能も全くないのですが、ちまちまとブラッシュアップできればと考えています。お暇があれば遊んでみてもらえれば嬉しいです。 今回のブ…

(小ネタ)Lambdaの関数URLを使用して超シンプルなAPIを公開してみた

※小ネタのくせに前置きが長いので、本題から読みたい方は以下目次の「シナリオ1」からお読みください。 前置き シナリオ1 Lambdaの実装 ReactのサンプルコードのURLを変更 curlで確認 ブラウザで確認 Reactアプリ全体のサンプルコード シナリオ2 Lambdaの…

DynamoDB StreamsとLambdaを統合したら、CloudWatch Logsの利用料が増えた話

※はじめにお断り DynamoDB StreamsとLambdaを統合したからといって、必ずCloudWatch Logsの利用料が増えるわけではありません。今回は、いくつかの設定変更が重なってこのような事態になりました。その辺りは、順を追って説明していきたいと思います。 先日…

DynamoDBのデータイベントログの確認方法を整理してみた

最近、DynamoDBを少しばかり勉強中です。 今回は、DynamoDBのデータイベントログ(テーブル内のデータ操作ログ)の確認方法について整理してみます。 どのような方法があり、それぞれどういった内容が確認可能なのか見ていきたいと思います。 前提 大きく分…

DynamoDB StreamsのログをCloudWatch Logsに記録する

今回は、DynamoDB StreamsのログをLambdaを使ってCloudWatch Logsに記録してみます。 DynamoDB Streamsとは 事前準備 DynamoDB CloudWatch Logs Lambda 環境変数 アクセス権 トリガー コード テストする 書き込み 更新 削除 DynamoDB Streamsとは DynamoDB …

【Amazon SQS】FIFOキューのフライトメッセージ上限、密かに上がっている?

(2024年11月27日追記)本ブログを最初に執筆したのは2024年11月8日でしたが、その後AWS公式アナウンスで、メッセージ上限が120,000件まで上がったと発表されました。 aws.amazon.com 下記ブログについては、メッセージ上限の考え方と検証方法の備忘録として…

セキュリティ対策を施したはずなのに、Security Hub でFAILEDが発生し、原因解明に手間取った話

今回は、セキュリティ対策を施したはずなのに、Security Hub でFAILEDが発生し、原因解明に手間取った話を書きたいと思います。 Security Hubで、とあるコントロールがFAILEDになっていた 対策は施しているはずだった 原因は、メトリクスフィルターの記載順…

(小ネタ)S3のサーバーアクセスログ記録を有効化したら、想定していなかった量のログが記録された。

タイトル通りなのですが、以前、検証用のS3でサーバーアクセスのログ記録を有効化しました。このS3バケットにはオブジェクトはほとんどなく、普段は使われていません。 オブジェクトは少なく、普段は使用していない。 しばらくそのまま放置していたのですが…

IAMユーザーにIP制限をかけると、KMSキーで暗号化したS3のファイルアップロード・ダウンロードができない

最近KMSについて勉強中です。 タイトル通りなのですが、IAMユーザーにIP制限をかけたところ、KMSカスタマー管理キーで暗号化したS3に対し、ファイルアップロード・ダウンロードができなくなりました。順を追って内容を見ていきたいと思います。 IAMプリンシ…

KMSカスタマー管理キーでCloudWatch Logsを暗号化・復号する際に必要な権限を整理する

最近、KMS回りの権限について勉強中です。 前々回、前回と、ECR・Secrets ManagerをKMSカスタマー管理キーで暗号化・復号する時に必要な権限について確認してきました。 yuy-83.hatenablog.com yuy-83.hatenablog.com 第3弾となる今回は、CloudWatch Logs の…

KMSカスタマー管理キーで暗号化したSecrets Managerからシークレット情報を取得する時の、復号に関する権限を整理する

最近、KMS回りの権限について勉強中です。 今回は、KMSカスタマー管理キーで暗号化したSecrets Managerからシークレット情報を取得する時の、復号(Decrypt)に関する権限を整理してみたいと思います。 前回のブログ(ECRの暗号化)を踏まえた想像 実際の動…

KMSカスタマー管理キーで暗号化したECRにイメージプッシュ/プルする時の、暗号化/復号に関する権限を整理する

最近、KMS回りの権限について勉強中です。 KMSカスタマー管理キーで暗号化したECRにイメージプッシュ/プルする時の、暗号化/復号に関する権限が思ったよりも複雑で理解に時間がかかったので、備忘のために、整理した結果をブログに残しておきます。 当初の自…

(小ネタ)Session Managerのアクセス権限を真面目に絞ってみた

最近、これまでザックリと実装してきたサービスを細やかに設計する機会に恵まれ、日々勉強になっています。 今回はその一環で、Session Managerについて、アクセス権限を真面目に(?)絞って実装してみました。 これまでは、IAMロールにはマネージドポリシー…

(小ネタ)MFA Deleteを有効化したS3なのにMFA無しで削除が出来ると思ったら勘違いだった話

先日、初めてS3のMFA Deleteを有効化してみました。その時にタイトルの勘違いをしたので、備忘のためにメモを残しておきます。 お断り はじめにまとめ まとめの少し詳しい説明 (おまけ)実際に動作を確認してみる おまけの補足 お断り 本ブログではMFA Dele…

AWSアップデートをLangChain+BedRockで要約させてメール通知してみた

以前のブログで、LangChainとBedRockを利用し、AWSアップデートの要約をさせてみました。 今回は、EventBridgeとStep Functions を活用し、要約内容を定期的にメール通知する仕組みを実装してみたいと思います。 はじめにお断り(というか言い訳) 全体構成 …