Chapter 5 / Reliability

高信頼性
設計

クラウドでも障害は起きます。高信頼性設計では、止まりにくく、影響を小さくし、すばやく戻せる形を作ります。

高信頼性設計の図解
障害は起きる前提で、冗長化、リトライ、フェールオーバー、ヘルスチェックを設計します。
Resiliency

障害をゼロにするのではなく、影響を小さくする

単一障害点をなくし、障害を検知し、自動または手順で切り替えられる状態を作ります。SLA、RTO、RPOと合わせて過不足のない構成を選びます。

冗長化で単一障害点を減らす。リトライとタイムアウトを設計する。フェールオーバーを実際に試す。

止まりにくくする

  • 単一障害点を洗い出した。
  • 可用性ゾーンの利用を検討した。
  • 必要に応じてリージョン冗長を検討した。

戻しやすくする

  • RTOとRPOに合う構成を選んだ。
  • 切り替え手順を用意した。
  • 復旧手順を実際に試した。

見つけやすくする

  • ヘルスチェックを用意した。
  • 異常検知の条件を決めた。
  • 障害時の通知先を決めた。