Skip to content

負荷分散とゲートウェイ

🎯 核心問題

1台のサーバーで負荷に耐えられなくなった時、どのようにトラフィックを「賢く」複数のサーバーインスタンスに分散させるか? 負荷分散は現代の分散システムにおける「交通整理係」です。本記事では、実際の事例(タピオカ店のレジ、宅配便の仕分け、交通整理)を通じて、負荷分散の設計思想とエンジニアリング実践を深く理解します。


1. なぜ「負荷分散」が必要なのか?

1.1 ある実例から考える:某Webサイトのアーキテクチャ進化

某スタートアップ企業は、ユーザー数が急増する中で深刻なパフォーマンス問題に直面しました:

シナリオ再現:

フェーズ1:シングルサーバー
ユーザー → サーバー (1コア2GB)

    DAU 1000 → ピーク時:1000人が同時アクセス

問題:CPU 100%、応答遅延、頻繁なダウン

⚠️ シングルサーバーの致命的な問題

  • パフォーマンスのボトルネック: CPU 100%、応答時間 > 5秒
  • 単一障害点: サーバーがダウンすると、サイト全体が利用不可に
  • スケールアップの困難さ: 垂直スケーリング(CPU・メモリ増設)しかできず、高コストで限界がある

改善後のアーキテクチャ(負荷分散の導入):

フェーズ2:複数サーバー + 負荷分散
ユーザー → ロードバランサー (Nginx)

     ├→ サーバー1 (1コア2GB)
     ├→ サーバー2 (1コア2GB)
     └→ サーバー3 (1コア2GB)

✨ 改善後の効果

  • パフォーマンス向上: 3台のサーバーで並列処理、応答時間 < 1秒
  • 高可用性: 1台のサーバーがダウンしても、他のサーバーがサービスを継続
  • 水平スケーリング: より多くの性能が必要?サーバーを追加するだけ

1.2 負荷分散を日常に例えると

タピオカ店のレジ

あなたが人気タピオカ店を開いたと想像してください:

  • レジ1台: お客様が列を作り、後ろの人は待ちきれず、悪評が広がる
  • レジ3台: スタッフがお客様を各レジに振り分け、効率が3倍に向上

ロードバランサーは「レジの振り分け係」

  • ユーザー(お客様) → サービスをリクエスト
  • ロードバランサー(振り分け係) → リクエストを各サーバーに分配
  • サーバー(レジ) → リクエストを処理
负载均衡器类型
从四层到七层,从硬件到软件的演进
传统架构单点
🖥️
Web Server
负载: 95% 🔥
负载均衡架构分布式
⚖️L4 Load Balancer
🖥️
S1
🖥️
S2
🖥️
S3
📦四层负载均衡 (L4)
工作原理

基于传输层信息(IP地址+端口)进行流量分发。不关心应用层内容,只做"快递分拣",因此性能极高。

典型产品
LVS (Linux Virtual Server)HAProxy (TCP模式)AWS NLBAzure Load Balancer
适用场景
  • 需要极高吞吐量的场景
  • TCP/UDP流量分发
  • 不需要内容识别的场景
  • 微服务间通信
性能对比一览
类型
处理层
性能
灵活性
成本
硬件负载均衡
L4/L7
$$$$$
四层负载均衡
L4 (传输层)
$$
七层负载均衡
L7 (应用层)
$$$
软件负载均衡
L4/L7
$

2. 負荷分散とは?

2.1 L4負荷分散(L4):宛先だけを見る

トランスポート層(TCP/UDP)で動作し、宅配業者があなたの住所(IPアドレス + ポート番号)だけを見て、中身が何かは気にしないのと同じです。

特徴:

  • 超高速: シンプルなアドレス転送のみで、パケットの中身を解析しない
  • 適用シーン: データベース接続、Redisキャッシュ、常時接続ゲームサーバー
  • 代表製品: LVS(Linux Virtual Server)、AWS NLB、Azure Load Balancer
動作原理
クライアントリクエスト → L4ロードバランサー → バックエンドサーバー

        IP + Portのみ確認

        高速転送(中身は解析しない)

2.2 L7負荷分散(L7):荷物の中身を確認する

アプリケーション層(HTTP/HTTPS)で動作し、宅配業者が住所だけでなく、荷物を開けて中身を確認し、中身に応じて配送方法を決めるようなものです。

特徴:

  • インテリジェントルーティング: URLパス、HTTPヘッダー、Cookieなどに基づくきめ細かなルーティング
  • 高度な機能: SSL終端、コンテンツキャッシュ、圧縮、WAFセキュリティ
  • 適用シーン: Webアプリケーション、APIゲートウェイ、マイクロサービスアーキテクチャ
  • 代表製品: Nginx、HAProxy、AWS ALB、Envoy
動作原理
クライアントリクエスト → L7ロードバランサー → HTTPコンテンツを解析

        URL、Header、Cookieを確認

        特定のサーバーへインテリジェントルーティング

2.3 L4 vs L7 比較一覧

観点L4負荷分散(L4)L7負荷分散(L7)
動作階層トランスポート層(TCP/UDP)アプリケーション層(HTTP/HTTPS)
判断基準IPアドレス + ポート番号URL、Header、Cookie、Body
処理速度極めて高速(カーネル空間処理)高速(ユーザー空間での解析)
機能の豊富さ基本的な転送SSL終端、キャッシュ、圧縮、WAF
典型的な用途DB、ゲーム、持続的接続Webアプリ、APIゲートウェイ、マイクロサービス
代表製品LVS、AWS NLBNginx、HAProxy、AWS ALB

3. 核心問題①:「故障した」サーバーにリクエストを振り続けないようにするには?

3.1 ヘルスチェック:「病気」のサーバーがシステム全体を巻き込まないように

想像してみてください。あなたのレジの1台が突然故障したのに、振り分け係がそれに気づかず、お客様をどんどんそのレジに案内し続けています。その結果、列はどんどん長くなり、お客様の不満が爆発します。

ヘルスチェック(Health Check)は、このような事態を防ぐ「見張り役」です。定期的に各サーバーを「健診」し、「病気」を発見したら直ちにキューから外し、「回復」したら再び呼び戻します。

3.2 アクティブヘルスチェック vs パッシブヘルスチェック

アクティブヘルスチェック(Active Health Check): ロードバランサーが自ら「ノック」してサーバーに「まだ生きてる?」と尋ねる

  • 定期的にプローブリクエストを送信(HTTP /health、TCP ping など)
  • 応答タイムアウトまたはエラーコードが返った場合、不健康と判断
  • メリット: 検出結果が正確で信頼性が高い
  • デメリット: 追加のプローブトラフィックが発生する

パッシブヘルスチェック(Passive Health Check): ロードバランサーが実際のビジネストラフィックの応答状況を「観察」する

  • 実際のリクエストの応答時間やエラー率を統計的に監視
  • 連続して複数回失敗した場合、不健康と判断
  • メリット: 追加トラフィックが発生しない
  • デメリット: 判定には十分なトラフィックサンプルが必要
閾値設定表
指標健康閾値不健康閾値説明
HTTPステータスコード200-399400+ またはタイムアウト4xx/5xxはすべて失敗と判断
TCP接続接続確立成功接続タイムアウトポートの到達可能性をチェック
応答時間< 500ms> 2000msタイムアウトは通常2〜5秒に設定
連続失敗回数-3回単発のブレによる誤判定を防ぐ
チェック間隔-5秒頻度が高すぎると負荷が増加

💡 ありがちな落とし穴:閾値が「敏感すぎる」場合

某チームはヘルスチェックの応答時間閾値を100msに設定しましたが、アプリケーションの平均応答時間は80〜120msの間で変動していました。その結果、サーバーが頻繁に「不健康」とマークされ、トラフィックが健康と不健康の間を行ったり来たりし、システム全体の可用性がかえって低下しました。

正しいアプローチ: 閾値はP99応答時間の2〜3倍に設定し、正常な変動に十分なバッファを持たせるべきです。


4. 核心問題②:「常連客」が毎回同じ「レジ係」に接続できるようにするには?

4.1 セッション維持:「常連客」が毎回同じ「レジ係」に接続できるように

あなたがタピオカ店の常連だと想像してください。毎回同じ店員が接客してくれます。彼女はあなたの好み(甘さ控えめ、氷抜き)を知っているので、素早く気の利いたサービスが受けられます。しかし、毎回来るたびに新人が担当すると、同じ要望を何度も繰り返さなければならず、効率が大幅に下がります。

セッション維持(Session Persistence / Sticky Session) は、この問題を解決する手法です:同じユーザーのリクエストが常に同じバックエンドサーバーにルーティングされるようにします。

会话保持机制
Cookie、IP哈希与粘性会话的技术对比
应用场景:
👤
用户A
👥
用户B
👨‍💼
用户C
请求
⚖️负载均衡器
🍪
Cookie 插入
通过HTTP Cookie保持会话
会话映射表
sess_abc123Server 1
sess_def456Server 2
sess_ghi789Server 1
🖥️
Server 1
10.0.1.10
选中
🖥️
Server 2
10.0.1.11
🖥️
Server 3
10.0.1.12
三种会话保持机制对比
🍪Cookie 插入
不受客户端IP变化影响
首次请求即可保持会话
客户端需支持Cookie
存在Cookie被禁用的风险
#️⃣IP Hash
无需客户端支持任何机制
无状态,LB重启不影响会话
客户端IP变化会丢失会话
难以做到真正的负载均衡
📝粘性会话
结合Cookie和IP两种方式优势
支持会话复制和故障转移
实现复杂,需要应用支持
会话复制带来性能开销

4.2 3つのセッション維持メカニズムの比較

メカニズム実装原理メリットデメリット適用シーン
Cookie挿入LBがレスポンスにCookieを挿入し、後続リクエストでそのCookieを送信IP変更の影響を受けず、初回リクエストから維持可能クライアントがCookieをサポートしている必要あり、無効化される可能性ありECショッピングカート、ログイン状態維持
IPハッシュクライアントIPをハッシュ計算し、特定のサーバーにマッピングクライアント側の対応不要、ステートレスIP変更でセッション喪失、均等分散が困難Cookie非対応環境、WebSocket
スティッキーセッションテーブルLBがセッションとサーバーのマッピングテーブルを維持セッションレプリケーションとフェイルオーバー対応LBのメモリ消費、追加の同期が必要高可用性が厳しく求められるシーン

💡 利用の推奨

  • Cookie挿入: 優先推奨、互換性が高い
  • IPハッシュ: WebSocketなどの特殊なシーンでのみ使用
  • スティッキーセッションテーブル: Cookieと組み合わせてフェイルオーバー機能を提供

5. 核心問題③:ゼロダウンタイムデプロイを実現するには?

5.1 Blue-Greenデプロイメント:「ワンクリック切替」のゼロダウンタイムリリース

核心思想: 全く同じ本番環境を2セット(Blue環境とGreen環境)同時に維持し、そのうち1セットだけが外部にサービスを提供します。

蓝绿部署
零停机发布的经典策略,两套环境瞬间切换
🔵
蓝环境
v1.0.0
100% 流量
🟢
绿环境
v1.1.0
0% 流量
用户流量
👤
👤
👤
👤
👤
⚖️
负载均衡器
当前指向: 🔵 蓝环境
🔵蓝环境v1.0.0
🖥️B1
🖥️B2
🖥️B3
🟢绿环境v1.1.0
🖥️G1
🖥️G2
🖥️G3
蓝绿部署流程
1
绿环境部署
在绿环境部署新版本,进行冒烟测试
2
切换流量
将负载均衡器指向绿环境,流量瞬间切换
3
监控观察
观察绿环境运行状态,确认无异常
4
蓝环境升级
在蓝环境部署新版本,为下次切换做准备
蓝绿部署优缺点
优点
  • 零停机时间:流量切换在毫秒级完成,用户无感知
  • 快速回滚:发现问题可立即切回原环境,风险可控
  • 完整的预发布测试:新环境可完整测试后再接管流量
  • 数据一致性:无需处理新旧版本同时运行时的兼容问题
缺点
  • 资源成本高:需要同时维护两套完整环境,服务器成本翻倍
  • 数据库兼容性挑战:如果涉及数据库Schema变更,需要特别处理兼容性
  • 预热问题:新环境启动后可能需要时间预热缓存、连接池等
  • 不适合有状态服务:对于长连接、会话保持要求高的场景处理复杂

ワークフロー:

  1. 初期状態: Blue環境でv1.0が稼働中(本番)、Green環境は待機。
  2. 新バージョンデプロイ: Green環境にv1.1をデプロイし、内部スモークテストを実施。
  3. トラフィック切替: ロードバランサーの向き先をGreen環境に切り替え、トラフィックが瞬時にv1.1へ。
  4. 監視・観察: Green環境の稼働状態を観察し、異常がないことを確認。
  5. 旧バージョン保持: Blue環境はv1.0のまま一定期間(例:24時間)保持し、迅速なロールバックの保険とする。

✨ メリット・デメリット分析

メリットデメリット
✅ ゼロダウンタイム、切替はミリ秒単位で完了❌ リソースコストが高い、2セットの環境を同時に維持する必要あり
✅ 迅速なロールバック、問題発見時に即座に旧環境へ切戻し❌ データベーススキーマ変更時に互換性の特別な対応が必要
✅ 新環境で完全なテストを行ってからトラフィックを引き継げる❌ ステートフルなサービス(WebSocket持続的接続など)には不向き

5.2 カナリアリリース:「小さく始めて徐々に広げる」グレースフルデプロイ戦略

カナリアリリースの名前は、歴史的な「炭鉱のカナリア」に由来します——炭鉱夫はカナリアを連れて坑道に入り、カナリアに異常が現れたら有毒ガスが漏れていると判断し、すぐに避難しました。ソフトウェアリリースにおいて、カナリアリリースとは、まずごく一部のユーザーに新バージョンを試してもらい、問題がないことを確認してから徐々に範囲を拡大する手法です。

金丝雀发布
灰度发布策略,小流量先行验证新版本
流量分配比例拖动滑块调整新旧版本流量占比
稳定版 v1.0.090%
金丝雀 v1.1.010%
实时流量模拟 总请求: 0 | 稳定版: 0 | 金丝雀: 0
用户请求
负载均衡器
⚖️
Canary:10%
后端服务
稳定版 v1.0.0
📦S1
📦S2
📦S3
金丝雀 v1.1.0
🧪C1
🧪C2
金丝雀发布最佳实践
📊渐进式放量
  • 1% → 5% → 10% → 25% → 50% → 100%
  • 每个阶段观察至少15-30分钟
  • 关键指标:错误率、延迟、吞吐量
🎯精准用户选择
  • 内部员工/测试用户先行
  • 按地域:选择特定区域用户
  • 按用户属性:VIP用户或普通用户
  • 按设备类型:iOS/Android/Web
🛡️自动回滚机制
  • 错误率超过阈值自动回滚
  • P99延迟异常触发告警
  • 关键业务指标下降自动回滚
  • 一键回滚:30秒内恢复旧版本
📈监控与指标
  • 基础设施:CPU、内存、磁盘、网络
  • 应用指标:QPS、错误率、延迟分布
  • 业务指标:转化率、订单量、收入
  • 用户体验:页面加载时间、交互延迟

核心思想:

  1. 少量トラフィックから開始: まず1%のトラフィックを新バージョンサーバーに振り向ける。
  2. 指標の観察: エラー率、レイテンシ、ビジネス重要指標を継続的に監視。
  3. 段階的な拡大: すべて正常であれば、割合を5%、10%、25%、50%、100%と段階的に引き上げる。
  4. 迅速なロールバック: 異常を検知したら、即座に全トラフィックを旧バージョンに戻す。

💡 カナリアリリースの優位性

優位性説明
🎯 リスクコントロール新バージョンに重大なバグがあっても、影響はごく一部のユーザーのみ
📊 実環境での検証実際の本番環境で検証するため、テスト環境よりも信頼性が高い
🚀 高速イテレーションチームはより自信を持って頻繁に新機能をリリース可能
💰 リソース効率Blue-Greenデプロイのように2セットの完全な環境を用意する必要なし

6. 核心問題④:システム自身が「呼吸」できるようにするには?

6.1 オートスケーリング:システムをレストランのように「柔軟にシフト調整」

あなたがレストランを経営していると想像してください:

  • ランチピーク時: 10人のスタッフが必要だが、午後3時の閑散期には2人で十分
  • ずっと10人を維持すると: 人件費が爆発
  • ずっと2人だけだと: ピーク時にお客様が待ちきれず、全員離れてしまう

オートスケーリング(Auto Scaling) は、システムをレストランのように「柔軟にシフト調整」させるものです——忙しい時は自動でサーバーを追加し、暇な時は自動でサーバーを削減します。

自动扩缩容
基于CPU、内存、QPS的智能弹性伸缩
扩容指标:
实时监控 实时
💻CPU使用率
45%
扩容阈值: 70%缩容阈值: 30%
🧠内存使用率
60%
扩容阈值: 75%缩容阈值: 40%
QPS
650req/s
扩容阈值: 1000/s目标: 800/s
🖥️运行实例
3个实例
最小: 2最大: 10
1
2
3
4
5
6
7
8
9
10
扩缩容历史最近 5 次操作
📈
扩容: 2 → 3 实例
CPU使用率超过70%
10:23
📉
缩容: 4 → 3 实例
CPU使用率低于30%
09:15
📈
扩容: 3 → 4 实例
QPS达到1000/s
08:42
📈
扩容: 2 → 3 实例
内存使用率超过75%
07:30
📉
缩容: 5 → 4 实例
流量下降
06:20
自动扩缩容最佳实践
⏱️
冷却时间
设置适当的冷却时间(通常3-5分钟),避免扩缩容操作过于频繁导致的震荡
📊
多指标综合
不要依赖单一指标,结合CPU、内存、QPS、连接数等多维度进行综合判断
🎯
目标利用率
设置合理的资源目标利用率(如70%),预留足够的缓冲应对突发流量
快速扩容
扩容操作应该比缩容更激进,确保系统能快速应对流量增长

6.2 スケーリング指標の選択

オートスケーリングの核心は、「いつサーバーを増やすべきか?いつサーバーを減らすべきか?」という問いに答えることです。

一般的な判断指標:

指標スケールアウト閾値スケールイン閾値適用シーン
CPU使用率> 70%< 30%コンピュート集約型アプリ
メモリ使用率> 75%< 40%メモリ集約型アプリ
QPS(秒間リクエスト数)> 1000/s< 400/sAPIゲートウェイ、Webサービス
接続数> 5000< 1000DB、メッセージキュー
カスタムビジネス指標ビジネス次第ビジネス次第特定のビジネスシナリオ

💡 スケーリング戦略の「落とし穴」と「解決策」

落とし穴1:スケールアウトの反応が遅すぎて、トラフィックの急増でシステムがダウン

某ECサイトのセール期間中、CPU > 80%でスケールアウトをトリガーする設定にしていましたが、監視データの収集に1分の遅延があり、新インスタンスの起動に3分かかりました。その結果、トラフィックが急増するスピードにスケールアウトが追いつかず、サーバーがダウンしました。

解決策:

  • 事前スケールアウト: 過去データに基づいてトラフィックピークを予測し、30分前からスケールアウトを開始
  • 多段階閾値: 60%で警告(新インスタンスのウォームアップ開始)、70%で正式スケールアウト、80%で緊急スケールアウト
  • 高速スケールアウト: コンテナ化デプロイを使用し、新インスタンスを30秒以内に起動(VMの3〜5分と比較して)

落とし穴2:スケールアウトが過激すぎて、コストが爆発

某スタートアップは過激な自動スケールアウト戦略を設定しました:CPU > 50%でスケールアウト。その結果、通常のビジネス変動でスケールアウトがトリガーされ、サーバー数が5台から30台に膨れ上がり、月末のクラウド請求書を見てCTOが泣きました。

解決策:

  • スケールアウトのクールダウン時間を設定: 1回のスケールアウト後、少なくとも5分間は次のスケールアウトを不可に
  • 最大インスタンス数を設定: max = 現在のインスタンス数 × 2、無限の膨張を防止
  • スパイクとトレンドを区別: 連続3周期すべてが閾値を超えた場合のみスケールアウト、単発スパイクによるトリガーを防止

落とし穴3:スケールインが速すぎて、スケールアウトしたばかりのサーバーがすぐに削除される

某チームはCPU < 30%でスケールインする設定にしていました。スケールアウト後、トラフィックがまだ処理中でCPUが一時的に25%に低下し、スケールインがトリガーされました。スケールインが完了した直後にCPUが80%に跳ね上がり、再びスケールアウトがトリガー——システムは「スケールアウト→スケールイン→スケールアウト」の激しい振動に陥りました。

解決策:

  • スケールインはより保守的に: スケールアウト閾値70%、スケールイン閾値25%、中間に十分なバッファゾーンを確保
  • スケールインのクールダウン時間をより長く: スケールアウト後、少なくとも10分間はスケールイン不可に
  • 段階的スケールイン: 一度に1台のみ削除し、様子を見てから継続するか判断

7. 実践:ロードバランサーをどう選ぶか?

7.1 主要ロードバランサーの比較

特性NginxHAProxyEnvoyクラウドベンダーLB
ポジショニング高性能リバースプロキシ/LBオープンソースLBクラウドネイティブプロキシマネージドLB
パフォーマンス極めて高い(C言語、イベント駆動)高い(イベント駆動)高い(C++/Rust)非常に高い
機能の豊富さ基本LB、静的ファイル、キャッシュ豊富なLBアルゴリズム高度なルーティング、可観測性機能全面
設定設定ファイル(nginx.conf)設定ファイル(haproxy.cfg)API/設定ファイルUIコンソール
拡張Cモジュール/LuaスクリプトLuaスクリプトWASM/Filterプラグイン
適用シーン静的リソース、L7負荷分散、SSL終端L7負荷分散、高可用性サービスメッシュ、マルチクラウドクイックスタート

💡 選定のアドバイス

決定木:

ロードバランサーの選択:

├─ 基本的なL4負荷分散だけで十分?
│  ├─ はい → LVS(OSS/無料)または クラウドベンダーNLB
│  └─ いいえ → 次へ

├─ サービスメッシュやマルチクラウドデプロイが必要?
│  ├─ はい → Envoy
│  └─ いいえ → 次へ

├─ 非常に複雑な設定やプラグインが必要?
│  ├─ はい → HAProxy
│  └─ いいえ → 次へ

├─ 高性能 + シンプルな設定が必要?
│  ├─ はい → Nginx(第一選択)
│  └─ 次へ

├─ マネージド運用がしたい?
│  ├─ はい → クラウドベンダーLB(AWS ALB、Alibaba SLB)
│  └─ Nginxを自前構築

8. まとめ:負荷分散の核心的思考

8.1 核心原則の振り返り

原則意味実践のポイント
階層化L4は「宅配便の仕分け」(速いがシンプル)L4はDB・ゲーム用;L7はWeb・API用
冗長化単一障害点はアーキテクチャの敵マルチインスタンス・マルチリージョンで可用性向上
段階的新バージョンリリースは「一括」でやらないBlue-Greenでゼロダウンタイム;カナリアでリスク管理
弾力性システムは生命体のように「呼吸」すべきピーク時に自動スケールアウト、アイドル時に自動スケールイン

8.2 設計チェックリスト

負荷分散を導入する前に、以下の質問を自問してください:

  • [ ] 本当に負荷分散が必要か?(単一サーバーの性能が本当に不足しているか)
  • [ ] L4かL7か?(ビジネスシナリオに応じて選択)
  • [ ] セッション維持をどう処理するか?(Cookie、IPハッシュ、セッションテーブル)
  • [ ] ヘルスチェックをどう実装するか?(アクティブ、パッシブ、閾値設定)
  • [ ] ゼロダウンタイムをどう実現するか?(Blue-Green、カナリア)
  • [ ] 弾力性をどう実現するか?(スケーリング指標、クールダウン時間、最大インスタンス数)

9. 用語早見表

用語英語説明
ロードバランサーLoad Balancerトラフィックを複数のバックエンドサーバーに分散する機器またはソフトウェア
L4負荷分散L4 Load Balancingトランスポート層(TCP/UDP)ベースの負荷分散
L7負荷分散L7 Load Balancingアプリケーション層(HTTP/HTTPS)ベースの負荷分散
ヘルスチェックHealth Checkバックエンドサーバーの健全性を定期的にチェックするメカニズム
セッション維持Session Persistence同一ユーザーのリクエストを常に同じサーバーにルーティングする仕組み
スティッキーセッションSticky SessionSession Persistenceの別称
Blue-GreenデプロイメントBlue-Green Deployment2セットの環境を切り替えるゼロダウンタイムリリース戦略
カナリアリリースCanary Release少量トラフィックから先行検証するグレースフルデプロイ戦略
オートスケーリングAuto Scaling負荷に応じてサーバー数を自動的に増減する仕組み
水平スケーリングHorizontal Scalingサーバー台数を増やして処理能力を向上させる
垂直スケーリングVertical Scaling単一サーバーのスペック(CPU・メモリ)を上げて処理能力を向上させる
マルチリージョンMulti-Region複数の地理的リージョンにサービスをデプロイ
アクティブ-アクティブActive-Active複数リージョンが同時にサービスを提供
アクティブ-スタンバイActive-Standby1つのリージョンのみがサービスを提供し、他は待機
データ同期Data Replicationリージョン間のデータ複製メカニズム
RTORecovery Time Objective (RTO)目標復旧時間、システム障害後にどのくらいの時間で復旧すべきか
RPORecovery Point Objective (RPO)目標復旧時点、システム障害後に許容できるデータ損失量