タイトルの事象にぶつかって少し詰まったので書いておきます。
事象
QuickSightからAurora PostgreSQLに繋ごうとしたところ以下のようなネットワークエラーが出ました。
sourceErrorCode: DATA_SOURCE_TIMEOUT
sourceErrorMessage: Connection to the data source timed out before validation is complete.
原因調査
VPCネットワーク内の話であり、タイムアウトのメッセージなので、セキュリティグループやネットワーク経路を調べていたのですが、全く原因が掴めませんでした。
ただ、色々検証するとPostgreSQL 13系だと繋がり14系だと繋がらないようです。そこで更に調べて見ると、Postgres14からユーザのパスワードの保存時暗号化方式が変わったことが原因 ということがわかりました。
対応
対応としてはクラスターグループのパラメータを password_encryption=md5
に変更します。
パラメータグループから変更してみます。
適用前後で以下のSQLを打つと以下のようパスワード暗号化に使われるアルゴリズムがmd5に変更されているのが確認できます。パラメータは動的に適用されるのでDBの再起動等は不要です。
SHOW password_encryption;
-- 適用前 scram-sha-256
-- 適用後 md5
利用するDBユーザのパスワードを再度設定してあげます。この際のパスワードは変更前と同じものでも問題ありません。
ALTER USER quicksight_user WITH PASSWORD 'P@ssw0rd';
データソースの作成から再度接続検証すると、今度は接続できました。