🌐 Route 53 Application Recovery Controller

初心者でも分かる!災害時のアプリケーション復旧管理

これって何?

Route 53 Application Recovery Controller(ARC)は、複数のAWSリージョンにまたがって運用しているアプリケーションの 可用性 災害復旧 を管理するサービスです。

たとえ話:全国チェーンのカフェ店長

あなたが全国にカフェチェーンを展開していると想像してください。東京店と大阪店があり、通常は東京店がメインで営業していますが、東京店に何か問題が起きた時に、お客さんを大阪店に案内する必要があります。ARCは、この「どちらの店舗にお客さんを案内するか」を自動で判断・切り替えてくれる優秀な交通整理係のような役割です。

仕組みを図で理解しよう

🚦 通常時の運用

🏢

東京リージョン

メイン店舗
(アクティブ)

Application Recovery Controller

交通整理係

ルーティングコントロール
🏪

大阪リージョン

待機店舗
(スタンバイ)

⬇️

🚨 障害発生時の自動切り替え

💥

東京リージョン

障害発生
(停止中)

自動切り替え実行中

お客さんを大阪店へ案内

フェイルオーバー実行
🏢

大阪リージョン

新メイン店舗
(アクティブ)

主な機能

🎯

ルーティングコントロール

どのリージョンにトラフィックを送るかを制御。まるで交通整理のように、お客さんの流れを適切な場所に案内します。

🏥

リーダーネスチェック

各リージョンのアプリケーションが正常に動作しているかを常時監視。店舗の営業状況を24時間チェックする監視員のような役割。

自動フェイルオーバー

問題を検知したら自動的に健全なリージョンにトラフィックを切り替え。店長が不在でも、副店長が自動で営業を引き継ぐイメージ。

セーフティルール

間違った操作を防ぐための安全装置。例えば「全ての店舗を同時に閉店してしまう」ような危険な操作を自動的にブロックします。安全第一の賢い番人のような機能です。

こんな時に使います

🌪️ 自然災害対応

地震や台風で一部リージョンが使えなくなった時の緊急時対応

🔧 計画メンテナンス

システム更新時に事前にトラフィックを別リージョンに移行

🎯 負荷分散

特定リージョンに負荷が集中した時の分散処理

🚀 新機能テスト

一部のトラフィックだけを新しいバージョンに流してテスト

導入のメリット

サービス継続性の向上: 一つのリージョンで問題が起きても、他のリージョンでサービス継続可能
運用負荷の軽減: 手動でのフェイルオーバー作業が不要になり、24時間365日の安心運用
ユーザー体験の維持: 障害が起きてもユーザーは継続してサービスを利用可能
運用コストの最適化: 必要な時だけリソースを切り替えることで、効率的なコスト管理

ルーティングコントロール vs リーダーネスチェック

🎯 ルーティングコントロール

目的: トラフィックの実際の切り替え制御
動作: シンプルなON/OFFスイッチとして機能
連携: Route 53 DNSレコードと直接統合

🏥 リーダーネスチェック

目的: 復旧準備状況の継続監視
動作: 1分間隔でリソース状況を監査
監視: 容量、クォータ、設定の整合性

たとえ話:警備システムの違い

ルーティングコントロール は「緊急時にお客さんの流れを変える交通整理の指示棒」のようなもの。実際にお客さんの行き先を変更する実行機能です。

リーダーネスチェック は「各店舗の営業準備状況を常時チェックする監視カメラ」のようなもの。店舗の準備ができているかを確認しますが、実際にお客さんを誘導するわけではありません。

ルーティングコントロールの詳細設定

⚙️ Route 53との統合設定

プライマリレコード

Name: myapp.domain.com
Type: CNAME
Failover: Primary
Value: tokyo.domain.com
ヘルスチェックID: xxx-xxx

ARCルーティングコントロール

東京: ON
大阪: OFF

スイッチ切り替えでDNS解決を制御

セカンダリレコード

Name: myapp.domain.com
Type: CNAME
Failover: Secondary
Value: osaka.domain.com
ヘルスチェックID: yyy-yyy

🔧 設定コンポーネント

🏢

クラスター

5つの冗長リージョナルエンドポイント

📋

コントロールパネル

関連するルーティングコントロールをグループ化

🎛️

ルーティングコントロール

ON/OFFスイッチでトラフィック制御

🩺

ヘルスチェック

Route 53 DNSレコードとの統合

セーフティルールの重要性

🛡️ 安全装置の役割

フラッピング防止

短時間での繰り返し切り替えを防ぎ、システムの安定性を保持

全停止防止

全てのリージョンが同時に停止することを防ぐルール

準備不足防止

準備が整っていないレプリカへのフェイルオーバーをブロック

たとえ話:賢い安全装置

セーフティルールは、全国チェーン店の「賢い本部システム」のようなものです。店長が慌てて「全店舗を同時に閉店する」ような危険な判断をしようとした時に、「ちょっと待って!それは危険です」と自動的に止めてくれる安全装置。お客さんが路頭に迷わないよう、常に最低1店舗は営業を続けるよう管理します。

リーダーネスチェックの監視項目

📊 キャパシティ監視

  • ✓ EC2インスタンス数
  • ✓ Auroraキャパシティユニット
  • ✓ EBSボリュームサイズ
  • ✓ Auto Scalingグループ設定

⚙️ 設定監視

  • ✓ サービスクォータ
  • ✓ スロットル制限
  • ✓ ネットワークルーティングポリシー
  • ✓ バージョン整合性

🔍 監視頻度

1分間隔 で継続監視
変更検出時に 自動通知
重要な注意点: リーダーネスチェックは復旧準備状況の確認が目的で、実際のフェイルオーバーのトリガーとしては使用しません

3つの改善ポイント

🎯

アプリケーション全体のフェイルオーバー

従来の個別リソース監視から、アプリケーション全体のメトリクスに基づく統合的なフェイルオーバーが可能

🔧

安全な手動オーバーライド

メンテナンス時や自動監視では検出できない問題発生時に、安全に手動でトラフィックを切り替え可能

🛡️

セーフティルール

準備不十分なレプリカへのフェイルオーバーやフラッピング問題を自動的に防止する安全機能

🎉 まとめ

Route 53 Application Recovery Controllerは、 ルーティングコントロール による実際のトラフィック制御と、 リーダーネスチェック による復旧準備監視の両方を提供し、複数リージョンでのアプリケーション運用を 安全 確実 に管理してくれる頼れるパートナーです。全国チェーン店の優秀な店長のように、常にお客さん(ユーザー)に最高のサービスを提供し続けます!

Created by SSuzuki1063

AWS SAP Learning Resources