JDBC経由でAurora MySQLに接続できない
おはこんばんにちは、ビショップです。
AWS Aurora MySQLに同じくAWSのEC2上のアプリケーションからJDBC経由でMySQLに接続できなくて困る、という事案が発生しました。
環境はこんな感じ。
- AWS Aurora MySQL(5.7.mysql_aurora.2.10.2)
- AWS EC2 RHEL 8.4
- mysql-connector-java-8.0.15.jar
- java 17
普通にMySQLコマンドで接続すれば接続できるのが肝です。
結論からいうと、TLSのバージョンの問題のようです。
いつのころから、JavaのTLSのデフォルトがTLS1.3になったみたいですね。
TLS1.2でつなぎましょう。
JDBCの接続文字列に下記オプションを付けます。
enabledTLSProtocols=TLSv1.2
こんな感じになります。
jdbc:mysql://endpoint_name/dbname?enabledTLSProtocols=TLSv1.2
やったー、つながったー。