IaaS環境の障害対策としてよく使われる方式を4種類紹介します。それぞれ長所短所があるので、要件に合わせて適材適所で使い分けが必要です。
クラウドが提供する障害対策サービス(代表例:AWSのCloudWatch(Auto Recovery))
- AWSのCloud Watch(Auto Recovery)に代表される障害対策のサービスは、EC2インスタンスが載っている物理ホストの障害時に自動的に別の健全な物理ホスト上でEC2インスタンスを復旧するサービスです。
- クラウド側が提供する便利でよく知られたサービスですが、反面EC2インスタンス上で動いているアプリケーションの障害迄は復旧されません。
- これらの特徴から、アプリケーションの障害までは考慮が不要な要件下では有効な方式といえます。
オペレータによる手動再起動
- 監視ツールを使ってアプリケーションを監視し、障害が検知されればオペレータが手動で再起動を行う方式です。
- 初期コストを抑えられる反面、マンパワーのコストが掛かります。また、障害が検出された際に手動で対応されるため、時間がかかったり操作ミスの可能性もあります。また、広域障害の場合は同一のAZ(Availability Zone)内で再起動を試みても失敗し、復旧に長い時間を要する可能性があります。
- これらの特徴から、初期コストを重視して障害復旧の粒度はある程度割り切れる場合に有効な方式といえます。
バックアップ
- バックアップは、バックアップを取った時点に確実に戻す(リストア)ができるという、他の方式には無い特徴があります。反面、復旧時間や復旧時点の観点では大きくなってしまう特徴があります。
- このため、比較するというよりも他の方式と「一緒に使う」のが妥当な観点と言えます。
HAクラスター構成
- LifeKeeperに代表されるHAクラスター構成では、障害は自動的に検知され待機系ノードへ切り替えられます。
- このため、復旧時間・復旧時点は限りなく0に近付けられ、止められない基幹系システムの要件も満たせます。
- AZを跨いで切り替えることで、広域障害にも対応できます。
- 反面、システムをi冗長化するためそれなりにコストは掛かります。よって、コストを多少掛けて出ても止まらない仕組みが必要な基幹系システムやデータベースに有効な方式といえます。