210113学習アウトプット AWS:高可用性の定義【アプリケーション】
◎高可用性の定義【アプリケーション】
→可用性=システムが正常に継続して動作し続ける能力≒稼働率
可用性を高める=サーバーを冗長化して、障害が起きても別のサーバーで補填する
?冗長化
→単一でなく複数で構成していること
・AWSにおける可用性向上策
→Design for Failure(障害発生を前提としたシステム構築)
:リソースを冗長化させる
→単一障害点(SPOF)をなくす。
一部のシステムで障害が起きると、全てが使用不可能になることを避ける
AWSのサービスで補填してくれる部分、設計者が考える部分でそれぞれが冗長性をもたせる設計をする
:地理的に離れた場所で冗長化する
→AZ(地理的に離れたサーバーの集まり)を利用していく
1つのAZが地震等で起動しなくなっても、別のAZで起動する
もちろんリージョン(国を跨いだ構築)でもOK。金の問題だ。
:システムを疎結合で構成する
→システムやサービスを独立させる(疎結合)
1つのサービスが故障しても、そのサービスを補修するだけでOK。
それぞれが独立しているので、拡張もしやすい