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 移行の判断基準をまとめる。
「postgresql」タグが付いたコンテンツ一覧
AWS JDBC Wrapper を 2.6.4 → 3.2.0 にアップグレードし、PostgreSQL と MySQL で Blue/Green Switchover を再検証。MySQL の接続失敗はタイミング依存(0〜1回)であることが判明。3.x 移行の判断基準をまとめる。
Blue/Green Switchover 中のダウンタイムを Plain JDBC・HikariCP リトライ・AWS JDBC Driver BG プラグインの3パターンで比較。プラグインは検証した400クエリ中0回の接続失敗。HikariCP は旧 Writer に接続し続ける落とし穴も発見した。
Aurora PostgreSQL のフェイルオーバーと Blue/Green Switchover のダウンタイムを実測比較。フェイルオーバーは12回の接続失敗(2回に分離)、Blue/Green Switchover は約26秒・6回の接続失敗。DNS TTL 60秒の影響も検証した。
カスタムパラメータグループを使っている Aurora PostgreSQL クラスターでメジャーバージョンアップグレードを伴う Blue/Green デプロイメントを作成すると InvalidParameterCombination で失敗する。Green 用のパラメータグループを明示的に指定する必要がある。
デフォルトパラメータグループのまま create-blue-green-deployment を実行すると SourceClusterNotSupportedFault で失敗する。PostgreSQL は rds.logical_replication = 1、MySQL は binlog_format = ROW を設定し、全インスタンスの再起動が必要。