2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

障害分離境界について

2
Posted at

FIB(Fault Isolation Boundary)とは?

久々の投稿になりますが、最近よく耳にするコントロールプレーン・データプレーンの考え方の根本思想かつ、AWSにおける重要な設計思想のひとつである FIB(Fault Isolation Boundary:障害分離境界) について紹介します。


はじめに

クラウドアーキテクチャを設計する際に、
「どこまでが同時に壊れうるのか?」を意識したことはあるでしょうか。

この問いに対して、AWSでは FIB(障害分離境界) という考え方で整理されています。

本記事では、AWSのホワイトペーパー「AWS 障害分離境界」をベースに、FIBの基本的な考え方と、その重要性について整理していきます。


FIBとは何か?

FIB(Fault Isolation Boundary)とは、

障害が発生した際に、その影響が閉じ込められる範囲

を指します。

AWSでは、サービスやインフラを設計する段階から、

  • 障害が発生しても影響が境界を越えて広がらないこと

を前提とした設計が徹底されています。

言い換えると、FIBとは
「どの単位で壊れるように設計されているか」 を示す考え方です。


AWSにおける代表的なFIB

AWSでは、複数のレイヤーでFIBが定義されています。

1. アベイラビリティゾーン(AZ)

AZは、電源・ネットワーク・データセンター単位で分離された構成要素です。

AWSは、

  • 1つのAZで発生した障害が、他のAZに波及しない

ことを前提に設計しています。

そのため、

  • マルチAZ構成
  • AZを跨いだ冗長化

といった設計は、FIBを活用した代表的なパターンと言えます。


2. リージョン

リージョンは、地理的にも論理的にも独立した単位です。

通常、

  • あるリージョンの障害が、別のリージョンに影響することはない

ように設計されています。

このため、

  • ディザスタリカバリ(DR)
  • マルチリージョン構成

においては、リージョン自体が大きなFIBとして扱われます。


3. コントロールプレーンとデータプレーン

多くのAWSサービスは、以下の2つに分離されています。

  • コントロールプレーン:リソースの作成・変更・削除(CRUD)
  • データプレーン:実際の処理や通信

ここで重要なのは、

  • コントロールプレーンに障害が発生しても、データプレーンは継続して動作する

という設計が取られている点です。

この考え方により、AWSは「静的安定性(Static Stability)」を実現しています。


なぜFIBを意識する必要があるのか?

実際のシステム障害では、

  • 想定していなかった依存関係
  • FIBをまたいだ設計ミス

によって、本来は局所的に収まるはずの障害が広がってしまうケースが少なくありません。

例えば、

  • フェイルオーバー時に、IAMやRoute 53などのコントロールプレーン操作に依存している
  • 障害時に新規リソースの作成が前提となっている

といった設計は、FIBの考え方を十分に考慮できていない典型例です。


FIBを活かす設計のポイント

AWSのホワイトペーパーでも繰り返し強調されているポイントを整理すると、次の通りです。

1. リカバリ時に「変更」を前提としない

障害時に、

  • 新しく作る
  • 設定を変更する

といった処理に依存する設計は不安定になりがちです。

事前に必要なリソースを準備しておくことで、
FIBの内部で復旧を完結させることが重要です。


2. データプレーン中心で設計する

コントロールプレーンは、

  • 障害時には利用できない可能性がある

という前提で設計すべきです。

そのため、

  • データプレーンのみでサービス継続・復旧できる構成

を目指すことが求められます。


3. FIBをまたぐ依存関係を減らす

以下のような境界をまたぐ依存は、障害の波及リスクを高めます。

  • AZ間の依存
  • リージョン間の依存
  • グローバルサービスへの依存

これらを完全に排除することは難しいですが、
影響範囲を理解したうえで設計すること が重要です。


まとめ

FIB(障害分離境界)は、

  • AWSにおける可用性設計の根幹となる考え方であり
  • 高可用・高信頼なアーキテクチャを実現するための前提知識

と言えます。

「なぜAWSは高い可用性を実現できるのか?」
その背景には、FIBを前提とした設計思想があります。

単にマルチAZ構成を採用するだけでなく、

どこまでが同時に壊れうるのか

を明確に説明できることが、
クラウドアーキテクトに求められる重要なスキルではないでしょうか。


参考資料

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?