Aurora Blue/Green 実践検証 — AWS JDBC Wrapper 3.2.0 で挙動は変わるか
AWS JDBC Wrapper を 2.6.4 → 3.2.0 にアップグレードし、PostgreSQL と MySQL で Blue/Green Switchover を再検証。MySQL の接続失敗はタイミング依存(0〜1回)であることが判明。3.x 移行の判断基準をまとめる。
「jdbc」タグが付いたコンテンツ一覧
AWS JDBC Wrapper を 2.6.4 → 3.2.0 にアップグレードし、PostgreSQL と MySQL で Blue/Green Switchover を再検証。MySQL の接続失敗はタイミング依存(0〜1回)であることが判明。3.x 移行の判断基準をまとめる。
Aurora MySQL で Blue/Green Switchover を検証し、PostgreSQL との違いを比較。IN_PROGRESS フェーズが3秒と短い一方、BG プラグインでも0〜1回の接続エラーが発生する可能性がある。HikariCP の旧 Writer 接続問題はエンジン共通。Plain JDBC は復旧後も旧ホストに31秒間接続し続けた。
Blue/Green Switchover 中のダウンタイムを Plain JDBC・HikariCP リトライ・AWS JDBC Driver BG プラグインの3パターンで比較。プラグインは検証した400クエリ中0回の接続失敗。HikariCP は旧 Writer に接続し続ける落とし穴も発見した。
aws-advanced-jdbc-wrapper 2.6.4 が slf4j-api 1.7.36 を推移的依存で持ち込み、HikariCP 6.x が要求する SLF4J 2.x と競合する。exclusion で 1.7 を除外し slf4j-api 2.0 を明示的に指定する。
Blue/Green Switchover 中に全接続が切断された後、HikariCP が DNS キャッシュ経由で旧 Writer に再接続してしまう問題。書き込みワークロードでは read-only transaction エラーが発生する。PostgreSQL でも MySQL でも同じ挙動。