AWS LambdaからRDSへの接続設定をするのは地味に面倒くさいのですが、RDSのアクションメニューから「Lambda接続のセットアップ」から簡単に設定できるようになっていたので、試してみました。振り返ると2023年8月4日の更新が該当するようです。
公式ドキュメントは以下のもの。
RDSのアクションから「Lambda接続のセットアップ」を選択して、画面の指示通りに入力したら作業は終わります。
が、私は以下の点でハマりました。
- 既存のLambda関数はRDSと同じVPCに存在する必要があります。
Lambda関数をVPCに存在させるためには、以下のドキュメントを見ながら。
- 新規にLambda関数を作成することもできるみたいですが、ランタイムはNode固定でした。
- 最初はRuby+PostgreSQLの構成で実行しようと思いましたが、実行時に
cannot load such file -- pg
が出力されて動かなかったので、諦めてJavaで書き直しました。- ちょっと検索してみると、以下のStackoverflowの記事に該当しそうなのですが、検証はできませんでした。
設定画面に以下のような図が出て、これからやる内容が理解できます。