T2T2’s diary

アウトプット

210113学習アウトプット AWS:高可用性の定義【アプリケーション】

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