【あくてぃぶあくてぃぶ】

アクティブ-アクティブ とは?

💡 全員が「現役選手」として稼働する構成
📌 このページのポイント
Active-Active / Active-Passive 比較 Active-Active クライアント サーバA 稼働中 サーバB 稼働中 DB 両方のサーバがリクエストを処理 Active-Passive クライアント サーバA 稼働中 サーバB 待機中 DB 障害時にサーバBへ切替(フェイルオーバー) 障害時 Active-Active のメリット ・負荷分散で高パフォーマンス ・片方が落ちても継続稼働 Active-Passive のメリット ・構成がシンプル ・データ整合性を保ちやすい
Active-Active構成とActive-Passive構成の比較
ひよこ ひよこ

アクティブ-パッシブとの違いは?

ペンギン先生 ペンギン先生

アクティブ-パッシブは1台が稼働(Active)、もう1台が待機(Passive/Standby)。障害時にパッシブ側に切り替える。アクティブ-アクティブは両方が同時に稼働してリクエストを処理する。パッシブ側はリソースが遊んでいるけど、アクティブ-アクティブなら全リソースを常時活用できるよ

ひよこ ひよこ

アクティブ-アクティブの方がいいの?

ペンギン先生 ペンギン先生

必ずしもそうとは限らない。アクティブ-アクティブはデータの整合性維持が難しい。両方の拠点で同じデータを同時に更新した場合のコンフリクト(衝突)解決が必要。CRDTやLast-Writer-Winsなどの戦略が必要になる。整合性要件が厳しいシステムではアクティブ-パッシブの方がシンプルで安全だよ

ひよこ ひよこ

AWSでのアクティブ-アクティブ構成は?

ペンギン先生 ペンギン先生

マルチリージョンアクティブ-アクティブなら、Route 53のレイテンシベースルーティングで最寄りリージョンルーティングDynamoDB Global TablesやAurora Global Databaseでデータを同期する構成が代表的。API GatewayとLambdaのステートレス構成ならデータ層の同期だけ考えればいいから比較的シンプルだよ

ひよこ ひよこ

おもしろい!どんなシステムに向いている?

ペンギン先生 ペンギン先生

①グローバルサービス(世界中のユーザーに低レイテンシで提供)、②ゼロダウンタイムが求められるシステム(EC、金融)、③読み取りが圧倒的に多いシステム。逆に、強い整合性が必要な在庫管理や口座残高のようなシステムでは慎重に設計する必要があるよ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アクティブ-アクティブ」って出てきたら「複数拠点が同時稼働する冗長構成」と思えればだいたいOK!
📖 おまけ:英語の意味
「Active-Active」 = 能動-能動構成
💬 Active(稼働中)な拠点が複数ある構成。全員が戦力として動いているよ
← 用語集にもどる