RDS Blue/Green Deployments機能の切り替えダウンタイムが5秒未満になりました

メディア統括本部 サービスリライアビリティグループ(SRG)の鬼海(@fat47)です。
#SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。
本記事は、RDS Blue/Green Deployments機能の切り替え時間が5秒未満になったことについてまとめている記事になります
なにかの役に立てば幸いです。
 

RDS Blue/Green Deploymentsとは


RDS Blue/Green Deploymentsとは、2022年に発表された機能で、簡単にGreenクラスタを作成できて自動でBlue環境とのレプリケーション構築をおこなってくれて、ボタンひとつで切り替えが完了できる機能になっています。
詳しくは過去のブログ記事をご参照ください。
 
B/Gの切替時には最大1分間のダウンタイムがあったものの、クラスタのメジャーバージョンアップなどにも利用できる非常に便利な機能でした。

RDS Blue/Green Deploymentsに機能アップデート


2026年1月20日に以下のアップデートがありました。
Amazon RDS ブルー/グリーンデプロイでダウンタイムが 5 秒未満に短縮
 
このアップデートによって、B/G切替時のダウンタイムが5秒未満に短縮されることになりました。
 

シェルスクリプトでB/G切り替えダウンタイム計測してみた


以下のスクリプトを実行しながら、RDS B/G切り替えを実施してダウンタイムを計測してみました。
計測スクリプト( measure_aurora_downtime.sh )
対象環境はAurora MySQL 3.04です。
必要な環境変数をセットして実行します。
 
実行中にB/G切り替えを実行します。
 
 
計測結果
 
このスクリプトでは、コマンドの都度MySQLに接続しにいくものだったので、検証環境でのダウンタイムは1.6秒でした。
ここまで早いと切替時のサービス影響はかなり少なくできそうですね。

終わりに


RDS Blue/Green Deploymentsはもともと便利な機能でしたが、このアップデートでさらに便利になりました。
ちょうどAurora MySQLを3.04 LTSから3.10 LTSにアップグレードを進めていたので、スムーズにアップグレードが進行できそうです。
 
一点注意点として、アプリケーションによってはダウンタイムが30秒ほどかかる場合があるので注意しましょう。
私が遭遇したパターンだと、JVMのDNS TTLやコネクションタイムアウトの数値がデフォルト30秒になっていた環境で、それにひっぱられる現象が発生しました。
実際のサービス環境でB/G切り替え検証をおこなって、ダウンタイムを計測するようにしましょう。
 
SRGにご興味ありましたらぜひこちらからご連絡ください。