Amazon Route 53 Application Recovery Controller のゾーンシフトの切替時間について
AWS re:invent 2022で発表された Amazon Route 53 Application Recovery Controller のゾーンシフトを利用してみたくDNS切替時間の確認しました。
ゾーンシフトについて
- AZ でのアプリケーション障害からの迅速な回復に役立つ
- ALB と NLB をサポート
- クロスゾーン負荷分散がオフになっている ALB、NLBで利用可
- クロスゾーン負荷分散をオフにした場合、スティキーもオフになる点に注意
- ゾーンシフトは追加料金なしで使用可
- 東京リージョンは GA
- 他リージョンについては、上記の URL を参照
検証方法
東京リージョン(ap-northeast-1a、ap-northeast-1cの2AZを利用)にクロスゾーン負荷分散をオフにしたALBを用意。
ターゲットグループの設定よりクロスゾーン負荷分散をオフにし、ターゲットステータスが Healthy である状態で検証を開始。
検証
ゾーンシフト実施前のALBのAレコードの確認結果は以下の通りです。
2AZ に分散される設定となっていることが分かります。
$ dig demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
54.65.113.167
$ dig ap-northeast-1a.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
$ dig ap-northeast-1c.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
それではゾーンシフトを実施してみます。
AWSマネジメントコンソールから該当のALBを選択し、Integration -> Start zonal shift を押します。
切り離したいAZを選択し、ゾーンシフト実施期間をプルダウンメニューから選びます。その後、Confirm を押して実行します。
ゾーンシフトの操作は以上のみです。
ゾーンシフト実施直後に、AWSマネジメントコンソールにはゾーンシフト開始時刻も表示されます。
しかし、ゾーンシフト開始直後にDNSの状態を確認したところ開始前の状態と変わりませんでした。
$ dig demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
52.197.222.49
$ dig ap-northeast-1a.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
$ dig ap-northeast-1c.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
DNSの切替については、AWSマネジメントコンソールと比較して即時反映されないようです。
TTLが60秒あるため、60秒後に再度実施しましたが、まだ変化はありませんでした。
$ dig demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
54.65.113.167
$ dig ap-northeast-1a.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
$ dig ap-northeast-1c.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
再度60秒後に実施したところ、以下の通りにAレコードが1件のみ返却されるようになりました。
$ dig demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
$ dig ap-northeast-1a.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
52.197.222.49
$ dig ap-northeast-1c.demo-183677942.ap-northeast-1.elb.amazonaws.com A +short
54.65.113.167
DNS切替については即時というよりは1分以上は処理時間がかかるようです。
次に、ゾーンシフトをキャンセルし正常な状態に戻してみます。
Cancel zonal shift を押し、Confirm を押して実施します。
こちらについてもゾーンシフトした際と同じく、AWSマネジメントコンソールは即時に反映されましたが、DNS切替については1分以上かかっていることが分かりました。
今回は3回ゾーンシフトを実施し確認しましたが、DNS切替については1分以上かかるということが分かりました。
まとめ
AWSマネジメントコンソールでは即時に切替が実施されているように感じてしまいますが、肝心のDNS切替については1分以上かかっており、ラグがある点については認識しておいた方が良さそうです。
障害発生時に、原因分析よりもまずは障害点を切り離してサービスの回復を優先させる場合において有効な手段であると思いますので、障害回復方法の一つの選択肢として検討されてみてはいかがでしょうか。
さいごに、DNS切替時間については今後のアップデートに期待したいです!
Discussion