年中アイス

いろいろつらつら

RDSの証明書を更新したら、Lambda(node.js)から接続できなくなった

2020/02/05までに、RDS系の証明書を2015から2019に更新するようにアナウンスが出ています。*1

そんな中、RDSの証明書更新してから、Lambda(node.js)から接続できなくなったと相談を受けました。確実にクライアント側の証明書を更新してないからと思いましたが、探しても探してもどこにも証明書ファイルがありません。

最終的に、mysql2というライブラリに入っていました。意識せずに使えると、こういう時どこにあるか全然わからないですね。特に今回全然知らないLambda(node.js)だったのでなおのこと。*2

Lambda自体のコードは、sequelizeというライブラリを使っており、ssl: truessl: 'Amazon RDS'とあるのみでした。sequelizeのgithubで検索しても出てきません。しばらく唸ったのち、前述のmysql2を呼んでいたので、検索したら該当のコミットが出てきました。

ここにあるように、IAM認証を使っていて、あまり意識せずに暗号化通信になっていたようで、証明書の更新で影響が出ることに気づけていなかったようです。

2019証明書は2024年期限だそうなので、5年経つ前に同じような更新が必要そうです。このLambdaが5年後も生きていれば・・・。

参考

*1:使ってなければ3/5まででも可能とかあるので、正確な内容はアナウンス内容をご確認ください。

*2:slack POSTの記事はnode.jsですが当時はGoなかったので、手探りで書いてました。