- 平常時はスタンバイ機の電源を切った状態(コールド=冷たい状態)で待機させておき、プライマリが障害を起こしたときに起動してサービスを引き継ぐ高可用性構成のこと
- ウォームスタンバイ(起動済みで待機)やアクティブ-アクティブ(両系統が常に稼働)と比べてコストが最も低い反面、フェイルオーバーに時間(数分〜十数分)がかかるというトレードオフがある
- 初期投資コストを抑えながら障害時のサービス継続手段を確保したい場合に選択される構成で、内部システム・非クリティカルな業務システムなどRTOの許容範囲が比較的広いシステムに適している
【深掘り】これだけ知ってればOK!
コールドスタンバイのコストメリットを理解しよう。スタンバイ機はフェイルオーバー以外のときは電源を切っているため電力消費がほぼゼロだ。またAWSのEC2などクラウドでは「停止中のインスタンス=インスタンス課金なし(ストレージ課金のみ)」という特性を活かせる。常時稼働するアクティブ-アクティブ構成と比べてインフラコストを大幅に削減できる。
コールドスタンバイの主な欠点はRTO(目標復旧時間)が長いことだ。プライマリが落ちてからスタンバイ機が完全に稼働するまでの時間(数分〜十数分)はサービス停止状態になる。そのため「10分の停止は許容できる」といった要件のシステムには適しているが、「30秒以内に復旧が必要」というシステムには不向きだ。
クラウド環境でのコールドスタンバイの実装例として、AWSの「停止済みEC2インスタンス」がある。平常時はインスタンスを停止状態に保ち、障害時にAWS CLIやLambdaで自動起動するスクリプトを用意しておくことで、コストを抑えながら半自動的なフェイルオーバーを実現できる。ただしAMI(マシンイメージ)とデータ同期(RDSのリードレプリカなど)の設計が重要だ。
よくある誤解
コールドスタンバイがあれば安心だと思っている
コールドスタンバイは「障害に備えた手段がある」という意味では有効だが、定期的なDR訓練を実施しないと「いざというときに動かない」リスクがある。スタンバイ機の設定・ソフトウェアのバージョン・データ同期の状態を定期的に確認・更新することが必要だ。
コールドスタンバイとウォームスタンバイは同じだと思っている
コールドスタンバイはスタンバイ機の電源がOFF状態で切り替えに時間がかかる。ウォームスタンバイはスタンバイ機が起動済みで待機しているため切り替えが速い。コスト・切り替え速度・複雑さの点で明確に異なる。
会話での使われ方

プライマリDBが落ちました。コールドスタンバイ機を起動してください。起動に5分程度かかるので、その間はメンテナンスページを表示しましょう。
インフラエンジニアがコールドスタンバイへの切り替え手順を指示している場面。




このシステム、RTO30分で問題ないのでコールドスタンバイで十分です。常時稼働のアクティブ-アクティブにするとコストが3倍になります。
インフラアーキテクトがコストとRTOのトレードオフを検討してコールドスタンバイを選択する理由を説明している場面。




コールドスタンバイ機の起動テスト、半年以上やっていないですね。設定が古くなっている可能性があるので今月中に実施してください。
SREエンジニアがDR訓練の重要性を指摘してコールドスタンバイ機の起動テストを指示している場面。
【まとめ】3つのポイント
- 平常時は電源OFFで待機・障害時に起動して引き継ぐ最低コストの冗長構成:スタンバイ機の稼働コストがほぼゼロのためアクティブ-アクティブ構成と比べてインフラコストを大幅に削減できるがRTOが長くなるというトレードオフがある
- コールド・ウォーム・アクティブ-アクティブはコストとRTOのトレードオフ:切り替え速度が速くなるほどコストが上がるため自社システムの許容RTOと予算を照らし合わせて適切な構成を選択することが重要だ
- 定期的なDR訓練でいざというときに動く保証を作る:長期間電源を切っていたスタンバイ機は起動してみると設定ずれや同期不整合が起きやすいため定期的な起動テストと設定更新がコールドスタンバイの実効性を維持する必須の運用作業だ
よくある質問
-
Qコールドスタンバイとウォームスタンバイの違いは何ですか?
-
A
コールドスタンバイはスタンバイ機の電源がOFF状態で切り替えに数分〜十数分かかります。ウォームスタンバイはスタンバイ機が起動済みで待機しているため切り替えが数十秒〜数分程度です。
-
Qコールドスタンバイのフェイルオーバーはどのくらいの時間がかかりますか?
-
A
環境によって異なりますが、電源ON→OSブート→アプリ起動→確認という手順で一般的に5〜15分程度かかることが多いです。自動化スクリプトを組んでも数分程度は必要です。
-
Qクラウドでコールドスタンバイを実装するにはどうすればいいですか?
-
A
AWSの場合、EC2インスタンスを停止状態で保持してRoute 53のヘルスチェックと組み合わせてLambdaで自動起動するパターンが代表的です。RDSはマルチAZがより確実ですが、コスト優先ならリードレプリカからの昇格という方法もあります。
-
Qコールドスタンバイに向いているシステムの種類はどれですか?
-
A
RTO(目標復旧時間)が30分〜1時間程度まで許容できる内部業務システム・バッチ処理システム・開発・テスト環境のバックアップなどが向いています。
【出典】参考URL
https://aws.amazon.com/jp/blogs/news/amazon-rds-disaster-recovery/ :AWS RDSのDR構成ガイド
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Stop_Start.html :AWSのEC2インスタンスの停止と起動
https://e-words.jp/w/%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%B9%E3%82%BF%E3%83%B3%E3%83%90%E3%82%A4.html :IT用語辞典「コールドスタンバイ」


コメント