コールドスタンバイとは?障害時に起動して切り替える低コストな高可用性構成

システム開発・テクノロジー
コールドスタンバイとは?ざっくりと3行で
  • 平常時はスタンバイ機の電源を切った状態(コールド=冷たい状態)で待機させておき、プライマリが障害を起こしたときに起動してサービスを引き継ぐ高可用性構成のこと
  • ウォームスタンバイ(起動済みで待機)やアクティブ-アクティブ(両系統が常に稼働)と比べてコストが最も低い反面、フェイルオーバーに時間(数分〜十数分)がかかるというトレードオフがある
  • 初期投資コストを抑えながら障害時のサービス継続手段を確保したい場合に選択される構成で、内部システム・非クリティカルな業務システムなどRTOの許容範囲が比較的広いシステムに適している

【深掘り】これだけ知ってればOK!

スタンバイ構成の3種類を整理しよう。コールドスタンバイ:スタンバイ機の電源OFF状態で待機。障害時に電源ON→OSブート→アプリ起動→フェイルオーバーの手順が必要で切り替えに数分〜十数分かかる。コストが最も低い。ウォームスタンバイ:スタンバイ機は起動済みで待機。切り替えが数十秒〜数分程度。アクティブ-アクティブ(ホットスタンバイ):両系統が常時稼働。切り替えほぼゼロ。コストが最も高い。

コールドスタンバイのコストメリットを理解しよう。スタンバイ機はフェイルオーバー以外のときは電源を切っているため電力消費がほぼゼロだ。またAWSのEC2などクラウドでは「停止中のインスタンス=インスタンス課金なし(ストレージ課金のみ)」という特性を活かせる。常時稼働するアクティブ-アクティブ構成と比べてインフラコストを大幅に削減できる。

コールドスタンバイの主な欠点はRTO(目標復旧時間)が長いことだ。プライマリが落ちてからスタンバイ機が完全に稼働するまでの時間(数分〜十数分)はサービス停止状態になる。そのため「10分の停止は許容できる」といった要件のシステムには適しているが、「30秒以内に復旧が必要」というシステムには不向きだ。

コールドスタンバイでよくある失敗として「いざ切り替えようとしたら動かなかった」という問題がある。長期間電源を切っていたスタンバイ機は、起動してみると設定がずれていた・ソフトウェアのバージョンが古くなっていた・データの同期が取れていないなどの問題が起きやすい。定期的なDR訓練と起動テストが欠かせない。

クラウド環境でのコールドスタンバイの実装例として、AWSの「停止済みEC2インスタンス」がある。平常時はインスタンスを停止状態に保ち、障害時にAWS CLIやLambdaで自動起動するスクリプトを用意しておくことで、コストを抑えながら半自動的なフェイルオーバーを実現できる。ただしAMI(マシンイメージ)とデータ同期(RDSのリードレプリカなど)の設計が重要だ。

よくある誤解

コールドスタンバイがあれば安心だと思っている

コールドスタンバイは「障害に備えた手段がある」という意味では有効だが、定期的なDR訓練を実施しないと「いざというときに動かない」リスクがある。スタンバイ機の設定・ソフトウェアのバージョン・データ同期の状態を定期的に確認・更新することが必要だ。

コールドスタンバイとウォームスタンバイは同じだと思っている

コールドスタンバイはスタンバイ機の電源がOFF状態で切り替えに時間がかかる。ウォームスタンバイはスタンバイ機が起動済みで待機しているため切り替えが速い。コスト・切り替え速度・複雑さの点で明確に異なる。

会話での使われ方

ITKAGYO運営者デプロイ太郎のアイコン画像

プライマリDBが落ちました。コールドスタンバイ機を起動してください。起動に5分程度かかるので、その間はメンテナンスページを表示しましょう。

インフラエンジニアがコールドスタンバイへの切り替え手順を指示している場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

このシステム、RTO30分で問題ないのでコールドスタンバイで十分です。常時稼働のアクティブ-アクティブにするとコストが3倍になります。

インフラアーキテクトがコストとRTOのトレードオフを検討してコールドスタンバイを選択する理由を説明している場面。

ITKAGYO運営者デプロイ太郎のアイコン画像

コールドスタンバイ機の起動テスト、半年以上やっていないですね。設定が古くなっている可能性があるので今月中に実施してください。

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用語辞典「コールドスタンバイ」

コメント

「IT用語、難しすぎて心が折れそう……」という方のための、ハードル低めな用語辞典です。

情報レベルは「基礎中の基礎」。会話を止めないためのエッセンスだけを抽出しています。分かりやすさを追求するあまり、時々例え話が暴走しているかもしれませんが、そこは「ほどよく」聞き流していただけると幸いです。
ほどよくIT用語辞典システム開発・テクノロジー
デプロイ太郎のSNSを見てみる!!
タイトルとURLをコピーしました