standalone_migrations gemを使ったLambda関数を使ったマイグレーション実装

先日よりLambda関数にてデータベースのマイグレーションを実装することを実装しています。これまではTypeScriptで実装したのですが、個人的な趣味で今回はRubyで実装したいと思います。 Rubyの場合、standalone_migrations gemを使うのが一番早いかなと思い…

Lambda関数(TypeScript)でのPostgreSQL証明書設定改善

先日、RDS上のPostgreSQLに対するデータベースマイグレーションをLambda関数(TypeScript)で実装したことを記しました。 miyohide.hatenablog.com そこでの課題として、接続先の設定にssl: { rejectUnauthorized: false },を指定してPostgreSQLサーバーの証…

RDS上のPostgreSQLに対するデータベースマイグレーションをLambda関数で実装した

はじめに 先日、RDS上で構築したPostgreSQLに対して、データベースマイグレーションをやりたいと言う相談を受けました。最初はEC2なんかを立ててFlywayなんかを動かせばいいんじゃないと思っていたのですが、EC2を立ててメンテナンスするのも大変と言う要望…

CDKを使ったSession Managerログ取得

AWS Systems Manager Session Managerの操作ログを監査などの目的で取りたいことがあります。 Amazon CloudWatch LogsやS3に取得することができます。 これまでこの設定はマネジメントコンソール上でしかできないと思い込んでいたのですが、先日、Kiroを使っ…

AWS Lambda関数のテスト方法とRubyコンテナイメージの活用

ローカル環境でAWS Lambda関数のテストを行うには、RubyのAWSベースイメージを使用したコンテナイメージを使うのが一番簡単です。Rubyの場合は以下の公式ドキュメントに記述があります。 docs.aws.amazon.com 最低限、Dockerfileと実行するRubyファイルを用…

AWS最新情報をAIエージェントが日本語で要約する仕組みをStrands Agentsを使って実装した(2)

先日、以下のブログを書きました。 miyohide.hatenablog.com 今日はその続きです。 モデルを変えてみる 前回の課題として、「更新された記事がない時も同じ情報を要約してしまう」というのを書きました。モデルを変えたらうまくいくかもと考え、Amazon Nova …

AWS最新情報をAIエージェントが日本語で要約する仕組みをStrands Agentsを使って実装した

はじめに 個人的な日課の一つにAWSの最新情報を確認するというのがあります。日本語の情報を確認することもやるのですが、第一報は英語で行われるため英語の情報を確認することも併せてやっています。たとえば、What's New with AWSなどを日々確認します。 a…

AWSリージョン別機能の簡単確認方法

今日は小ネタ。 AWSの各サービスが東京リージョンで使えるかどうかを確認したいことがままあります。これまではAWSのドキュメントを探したりしていたのですが、Builder Center内にある「リージョン別のAWS機能」を使うとサクッと確認できることを最近知りま…

AWS CDKを活用したAPI Gatewayストリーム応答設定

はじめに 先日、Amazon API Gatewayがストリーム応答をサポートするということについて検証記事を書きました。 miyohide.hatenablog.com 上記の記事ではAPI Gatewayを手作業で作成しましたが、CDKで簡単に作成できるようになったので、その内容を記します。 …

Amazon API Gatewayのストリーム応答を使ったBedrockの滑らかな応答の実装例

はじめに Amazon API Gatewayがストリーム応答をサポートするというアナウンスがありました。 aws.amazon.com 上記のアナウンス文にも書かれていますが、ユースケースとしてわかりやすいのがBedrockを使ったエージェントアプリケーションです。一気に応答が…

AWS Lambda専用のデプロイツールlambrollの備忘録

はじめに Lambda専用のデプロイツールとしてlambroll(ラムロール)というものがあることを最近知りました。 github.com 備忘を兼ねて、使い方などを記しておきます。 インストール macOSの場合はbrewを使うのが一番楽かと思います。 $ brew install fujiwar…

最近AWS CDKでハマったもの集(2025年11月)

はじめに AWS CDKを色々と書いて試しているのですが、最近試した中でちょっとハマったものをいくつか記してみます。 ValidationError: All arguments to Vpc.fromLookup() must be concrete (no Tokens)への対応 AWS CDKにて既存VPCを参照したいことがままあ…

AWS Bedrockプロンプト管理機能のRuby SDKにおける使い方と注意点

AWS Bedrockにはプロンプト管理という機能があります。 docs.aws.amazon.com ざっくりいうと、プロンプトをテンプレート化してバージョン管理できる機能です。プロンプトの一部を{{変数名}}のように二重中括弧で囲んで変数化することができます。 コンソール…

生成AIアプリの実装におけるRubyLLMの可能性(Amazon Bedrockでの使用)

はじめに 生成AI関係のアプリを実装しようとすると、PythonやTypeScriptが第一選択となるのですが、RubyでもRubyLLMというgemで生成AIアプリを容易に実装することが可能です。 rubyllm.com Amazon Bedrockにも対応しているので、少し試用してみます。 なお、…

CDKを利用したRDSオプショングループの管理手順

CDKを使ってRDSを作る際、オプショングループを使用することがあります。 docs.aws.amazon.com 簡単な実装としては以下のような感じ。 import * as cdk from 'aws-cdk-lib'; import * as rds from 'aws-cdk-lib/aws-rds'; import * as ec2 from 'aws-cdk-lib…

Amazon Q developerにおけるプロジェクトルールの実装例その2

先日書いたプロジェクトルールの実装例の続きです。 miyohide.hatenablog.com 前回書いたプロジェクトルールを数日間試してみたのですが、あまりよい流れとならなかったので再度練り直しました。結果として、以下のような形になりました。 # 基本 - 日本語で…

Amazon Q developerにおけるプロジェクトルールの実装例

はじめに Visual Studio CodeなどのIDEでAmazon Qを使ってなんらかの処理をさせたい時、プロジェクトルールやコーディング規約など生成させるコードなどになんらかのルールを強制させたいことがあります。これを実現する機能が以下の公式ドキュメントで書か…

Amazon Q Developerを使ったSpring Boot + Spring Securityアプリのバージョンアップ

はじめに Amazon Q Developerには.NETやJavaのコードをアップグレードする機能があります。 docs.aws.amazon.com Javaにおいては、Javaのバージョンアップのほか、ライブラリやフレームワークのバージョンアップにも対応しています。全量は以下の公式ページ…

AWS Certified DevOps Engineer - Professional(DOP-C02)に合格した

先日、AWS認定DevOpsエンジニア - プロフェッショナル(DOP-C02)を受験し、合格しました。 今回の受験は3年前に合格した認定の更新のために受験したものです。その時のブログは以下を参照してください。 miyohide.hatenablog.com 3年も経つとクラウド関連の…

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環境のディスクがいっ…