2025-01-01から1年間の記事一覧

Apple Silicon 対応のAWS CLIがリリースされていた

今回もAWS CLIネタ。AWS CLI、2.30.0でApple Silicon対応が謳われていたものの2.30.2まではインストーラーでRosettaが要求されていました。 miyohide.hatenablog.com その後、2.30.3にてようやく正式対応されました。 ChangeLogにも以下の記載があります。 e…

AWS CLIのApple Silicon対応版の状況

先日、AWS CLIのApple Silicon 対応版の状況ってどうなっているんだっけと思ってみてみたら、クローズされていました。 github.com 上記は2022年9月にオープンされたIssue。待つこと3年、Apple Siliconに対応したAWS CLIが公開されました。Blogにも書かれて…

Default Host Management Configurationを使用したときに他の権限だけを付与した場合の挙動確認

先日、Default Host Management Configurationを使ってデフォルトでSSMを有効にすることをやりました。 miyohide.hatenablog.com これでIAMインスタンスプロフィールを設定しなくてもSSMが有効になることを確認しました。 さて、ここで一つの疑問が。例えば…

Amazon Novaを使ったBedrock AgentsでのDependency resourceエラーメッセージの解決策

概要 先日、Amazon Bedrock Agentsを使ってエージェントを開発していたとき、以下のエラーメッセージが出力されかなり悩みました。 Dependency resource: received model timeout/error exception from Bedrock. Try the request again. 本記事では、私の環…

デフォルト設定でSSMを有効にする手順(Default Host Management Configurationの活用)

検証用のためにEC2インスタンスを立ち上げることがあるのですが、その度にSystems Manager用にIAMロールを設定することを忘れます。コンソール上では「高度な詳細」のところに設定項目があるので、毎回スルーしてしまいます。 そこで、デフォルトでSSMを有効…

AWS ALBの制約を回避するLambda関数の活用

AWSにて、ALBは固定レスポンスを返すことができます。 docs.aws.amazon.com メンテナンス画面の実装をするには便利なのですが、1024文字しか設定できないと言う制約があります。マネジメントコンソールでも1024文字までと言う記述があります。 このため、ち…

CloudFormationにおけるAmazon Linuxの最新版を指定する方法

小ネタ。 CloudFormationにてAmazon Linux 2023を指定する際、イメージIDを指定せずとも定数を指定することができます。詳細は以下の公式ドキュメントを参照してください。 docs.aws.amazon.com 要はSystems Managerのパブリックパラメータとして/aws/servic…

実践的知識獲得:AWSのGitHubサンプルリポジトリから学ぶRAG改善実装解説

生成AIの活用シーンの一つとしてRetrieval-Augmented Generation(RAG)があります。このRAGについて一歩進んだ知識と実装を身につけるにはと考えていたところ、以下のGitHubリポジトリを紹介していただきました。 github.com AWSの研修の一つで利用されてい…

AWS CLIとCloudShellを活用したDynamoDBのローカル版実行

今日は小ネタ。 CloudShellにてDynamoDBのローカル版が動くようになったというニュースを目にしました。 aws.amazon.com DynamoDBのローカル版はこれまでDocker版とJava版があったのですが、そこにCloudshellの記述も追加されました。 docs.aws.amazon.com …

Amazon S3 Vectors: RAG実装における優位性と利用メリット

先日、AWSの更新情報を見ていたらAmazon S3 Vectorsというサービスがプレビューリリースされたというニュースを見ました。 aws.amazon.com 最初はあまりピンと来なかったのですが、上記のブログ記事をみるとRAGの実装で使うベクトルストレージサービスとして…

EC2環境でCDKを実行する方法

はじめに CDKを使ってAWS上のデプロイをする際、CloudShell環境でやることが多かったのですが、CloudShellはディスク容量が1GBしかありません。 docs.aws.amazon.com このため作成するものが増えた場合、npm installの段階でCloudShell環境のディスクがいっ…

Amazon Novaのプロンプトキャッシュ設定

小ネタ。 Bedrockには一部の基盤モデルにおいてプロンプトキャッシュという機能があります。2025年7月5日時点では、ClaudeとAmazon Novaのいくつかが対象となっています。 docs.aws.amazon.com 何でもかんでもキャッシュされるわけではなく、プロンプトのト…

AWS Summit 2025で知ったServerless dbless RAG

先日開催されたAWS Summit 2025に参加してきました。 aws.amazon.com そこで知ったものとして、Serverless dbless RAGがあります。 github.com 早速動かそうとしていたのですが、cdk deploy時に以下のエラーが出て動きませんでした。 5:23:28 AM | CREATE_FA…

Spring AIとAmazon Bedrockの連携(Tool Useの実装方法)

引き続きSpring AIとAmazon Bedrockの実装を進めます。 Bedrockの機能の一つにTool Useという機能があります。 docs.aws.amazon.com Function callingとも呼ばれている機能なのですが、平たくいうと事前に定義している関数を生成AIが任意に呼び出すことがで…

トラブルの事象:SQSトリガーのLambdaにおけるメッセージ消失とその対処

はじめに AWS上でSQSをLambdaのトリガーにして何らかの処理をさせることは定番の構成かと思います。私が目にするシステムでもSQSとLambdaを組み合わせた例は多く見るのですが、先日この構成にてトラブルの話があったのでここにその例を記します。 事象:SQS…

Spring AIにおけるログの取得方法

今日は小ネタ。引き続きSpring AI。 先日の記事の中でBedrockの設定を使ってログの取得というのをやりました。 同様のことがSpring AIでもできます。 実装はChatClientを作る際にdefaultAdvisorsの引数にSimpleLoggerAdvisorのインスタンスを指定してあげる…

Bedrockのアプリ開発におけるChat Memoryの活用

はじめに 先日、GAになったばかりのSpring AIを使ってBedrockを対象としたアプリを実装した記事を記しました。 miyohide.hatenablog.com 今回は、上の記事の考察に記したChat Memoryを実装してみました。 Chat Memoryを使わない場合 Chat Memoryを使わない場…

Amazon BedrockでSpring AIを試す

はじめに 先日、Spring AIが1.0となりGAしたというニュースを目にしました。 spring.io 早速、Amazon Bedrockを対象に実装してみることにしました。 前提 今回は以下の環境で試しました。 us-east-1リージョン EC2インスタンス上にSpring AIアプリを動かす …

CDKを使用したAWS Lambdaテストイベントの作成

はじめに AWS Lambdaにおいてコンソール上でテストを実施する際、テストイベントを利用します。 docs.aws.amazon.com このテストイベントをコンソール上で作成するのはちょっと面倒くさいのでなんとかできないかなと思っていたのですがCDKで実装できることを…

cdk-nagを使ったCDKを使ったAWS環境の自動検証

はじめに CDKでAWSのリソースを作成することをよくやっているのですが、最近ベストプラクティスに沿っているかどうかを機械的にチェックできないかという話を受けました。調べたところ、cdk-nagというものを見つけました。 github.com 少し古いですがAWSのブ…

AWS Lambdaの新機能:Application SignalsによるJavaのAPM追加

はじめに 少し前の更新情報なのですが、AWS LambdaがApplication SignalsによるJavaのAPMを追加したという更新がありました。 aws.amazon.com 環境構築が面倒くさいなと思っていたのですが、実際やってみると思いのほか簡単にできたので、実装例を紹介します…

AWS SDKを用いたDynamoDBの実装で気をつけるポイント#ローカル版との違い

先日、DynamoDBのローカル版を試すという記事を書きました。 miyohide.hatenablog.com これを元にDynamoDBの操作を学習し、AWS SDKを使ったプログラムを実装していたのですが、ローカル版とAWS環境とではまったポイントがあったので紹介しておきます。 発生…

AWSの特徴的なサービス: DynamoDBのローカル版を試してみる

AWSの特徴的なサービスの一つにDynamoDBがあります。いわゆるNoSQLサービスなのですが、個人的にはちょっと触る機会がありませんでした。一念発起して触ることにしたのですが、いきなりAWS上に作るのも気が引けたので何か良い方法がないかなと思っていたとこ…

日本語対応のAmazon Q Developerの使い方

以前、Amazon Q Developerを検証した記事を以下に公開しました。 miyohide.hatenablog.com この記事を書いた時点ではプロンプトは英語だけだったのですが、先日日本語にも対応したということが公開されました。 aws.amazon.com 実際にやってみました。 Chat…

Lambda関数のタイムアウトをCloudWatch Logsにて確認する

Lambda関数を動かしていたとき、なにか挙動がおかしいなと思っていたらタイムアウトが発生していたということが最近ありました。処理中に明確な例外があればCloudWatch Logsに吐いているログにてエラーログが出ますが、タイムアウトの場合はタイムアウトのメ…

AWS CDKを活用したRDS IAM認証設定とメンテナンス用EC2作成の自動化

はじめに 先日、RDSに対してIAM認証の設定をしたのですが、手作業で作業をやったこともあり思いのほか手こずったので、CDKをつかって実装してみることにしました。 今回実装したのは、IAM認証を有効にしたRDS(PostgreSQL)とそれをメンテナンスするプライベ…

AWS Certified Solutions Architect - Professionalに合格した(3年ぶり2度目)

先日、AWS 認定ソリューションアーキテクト – プロフェッショナル(SAP-C02)を受験し、無事合格しました。 約3年前にSAP-C01を受験して合格していたので今回で再認定となります。 miyohide.hatenablog.com 試験勉強 SAP-C01に合格していたので、差分だけち…

AWS CloudShellでAmazon Q CLIを活用する

AWS CloudShellで操作をしていたら、Amazon Q CLIが使えるようになっていました。調べてみると去年10月には使えるようになっていたみたいです。 aws.amazon.com 実際に叩いてみるとこんな感じ。 Amazon Q CLIの活用事例として、AWSブログに以下の記事が公開…

ECS Fargate上で動かしたRails 8アプリのデータベースにEFSにおいたSQLiteを指定する

先日、以下のブログ記事を拝読しました。 note.com 昔、ちょっと試した時には遅くて開発環境しか使えないなという印象を持っていたのですが、Rails 8になってだいぶ変わったようです。 そこで、ECS FargateにてRails 8アプリを動かし、データベースとしてEFS…

AWSの料金確認ツールCost Explorerの使い方

多くのクラウドは従量課金制な料金体系であることが多いので、定期的にどれぐらい料金がかかっているかを確認することは重要です。ちょっと困るのは、リアルタイムで「このサービスを使っているからXXX円かかっています」というような情報を得る手段はなく、…