パイロットランプとパイロットライト

  • AWS
  • DR
  • Architecture

この記事は、構成と文章の整理にAIを使っています。
あくまで読みやすくするための補助で、内容そのものをAIにすべて任せて書いているわけではありませんが、ところどころ相談しながら整えています。

「パイロットランプって何だっけ」とふと気になって調べたら、工業用の表示灯とDR(災害復旧)戦略の「パイロットライト」がごっちゃになってた。整理しておく。

パイロットランプとパイロットライトは別物

  • パイロットランプ: 機器の電源が入ってるかを示す表示灯。ON/OFFの状態を知らせる工業用語。
  • パイロットライト: AWSなどクラウドDRの文脈で使う戦略名。種火(pilot light)が語源で、最小限の構成だけ常時起動しておき、災害時に一気に本番規模まで立ち上げる方式。

今回整理したいのは後者の、DR戦略としてのパイロットライト。

パイロットライトDRの構成

DRサイト(セカンダリリージョン)で平時に維持しておくのはこのあたり。

  • AMI / EBS Snapshot / RDS Snapshotなどのイメージ
  • 最小限のネットワーク(VPC、Subnet、SG)
  • IaC(CDKやCloudFormation)で定義済みの構成
  • IAM構成の同期
  • S3レプリケーションやDMSなどでのデータ同期

アプリケーションサーバやコンテナ、RDS本体は平時は止めておく。災害時にIaCで一気に起動して、Route 53などでDNSを切り替える流れ。

flowchart TD
    A[平時: スナップショット保存] --> B[平時: 最小ネットワーク稼働]
    B --> C{災害発生}
    C --> D[IaCでEC2/ECSを起動]
    D --> E[RDSをスナップショットから復元]
    E --> F[DNS切り替え]
    F --> G[業務復旧]

Warm Standbyとの違いは「災害時に起動操作が要るかどうか」。パイロットライトはサーバを止めてあるので「起動」が必要、Warm Standbyは縮小版がすでに動いてるので「スケールアップ」するだけ。

RTO/RPOの目安

他のDRモデルと並べるとこうなる。

DRモデル RTO RPO
Backup & Restore 数時間〜24時間以上 数時間〜日
Pilot Light 数時間〜半日程度(目安4〜24時間) 分〜数十分
Warm Standby 数分〜15分 秒〜分
Multi-site Active/Active 秒〜分 秒

パイロットライトのRTOを「数十分」で紹介してる資料も見かけるけど、AWSのDRワークショップでは「RPOは分単位、RTOは時間単位」としか書かれていないし、具体的な試算を出してる資料だと4〜24時間(プロビジョニングとデータ復元にかかる時間次第)としてるものもある。数十分で終わるのはかなりチューニングされたケースで、実運用ベースだと数時間〜半日クラスを見込んでおく方が現実的っぽい。

RTOを縮めたいならEventBridgeでの自動化とか、AWS Elastic Disaster Recoveryを使う方法もあるらしい(実機未確認)。