SAP-C02-137 · セクション 15 / タスク 3.4
Reliability問題から改善戦略を選択する
Single Point of Failure / Replication / Self-Healing / Scaling / Disaster Recovery / Service Quotas / Improvement Selection
既存アーキテクチャの評価が終わると、1つのワークロードから複数の信頼性上の不足が同時に見つかることがあります。
例えば、
認証系に単一障害点がある
障害リソースの置き換えが手動
スケール要求は出るが
サービスクォータで止まるという3つの問題が同時に存在する場合です。
このとき必要なのは、それぞれの技術をもう一度比較することではありません。
確認済みのギャップ
↓
各ギャップに必要な改善軸を割り当てる
↓
重複・不足・過剰な変更を除く
↓
必要十分な改善セットを決定することです。
ゴール
このページでは、既に確認済みの信頼性上の不足から、
単一障害点の除去
自己修復
スケーリング
データレプリケーション
災害復旧
サービスクォータへの対応のうち、どれを組み合わせる必要があるかを判断します。
重要なのは、
使えそうな改善策を全部選ぶことではありません。
確認されたすべてのギャップを解消できる
かつ
根拠のない改善策を追加しないことです。
1. 入力は「確認済みのギャップ」
このページでは、障害原因を一から調査しません。
入力となるのは、前段までで確認された事実です。
例えば、
| 評価結果 | 状態 |
|---|---|
| 認証サービス | 1つ失うと業務全体停止 |
| アプリケーション | 複数台で処理継続可能 |
| 障害インスタンス | 置き換えは手動 |
| ピーク処理能力 | 現在は十分 |
| データ状態 | RPO達成 |
| DR | RTO達成 |
| サービスクォータ | 十分な余裕あり |
ここから選ぶべき改善は、
認証サービスの単一障害点除去
障害インスタンスの自己修復です。
ピーク性能、データ、DR、クォータについては、現在の証拠から改善理由がありません。
2. まず「ギャップ一覧」と「改善候補」を分離する
改善策を先に考えると、
Multi-AZにする
Auto Scalingを追加する
マルチリージョンにするといった構成案に引っ張られます。
先に、
ギャップA
何が不足している?
ギャップB
何が不足している?
ギャップC
何が不足している?を固定します。
その後で、
ギャップA → 改善軸1
ギャップB → 改善軸2
ギャップC → 改善軸3と対応付けます。
3. 1つのワークロードに複数の改善軸が必要なことがある
例えば、次の評価結果が得られたとします。
認証サービス
→ 単一障害点
アプリケーション障害
→ 処理継続できるが
置き換えは手動
スケール要求
→ サービスクォータで停止この場合、
単一障害点除去
+
自己修復
+
サービスクォータへの対応が必要です。
どれか1つだけ実施しても、残りのギャップは残ります。
4. 逆に「関係する技術を全部変更する」必要はない
同じ環境で、
ピーク時の処理能力
→ 十分
データ状態
→ RPO達成
リージョン障害からの復旧
→ RTO達成まで確認できているなら、
スケーリング方式変更
データレプリケーション変更
DR方式変更を追加する根拠はありません。
このページでは、
改善できそうではなく、
確認されたギャップを解消するために必要かどうかで選びます。
5. 改善セットは「すべてのギャップを覆う」必要がある
例えば、
ギャップA
単一障害点
ギャップB
自己修復不足
ギャップC
サービスクォータ不足に対して、
単一障害点除去
+
自己修復だけを選ぶと、ギャップCが残ります。
したがって改善セットは、
確認されたギャップ
↓
すべてに対応先があるかを確認します。
1つでも対応していないギャップがあれば、改善セットは不十分です。
6. 改善セットは「根拠のない変更を含まない」必要もある
反対に、
ギャップA
単一障害点
ギャップB
自己修復不足しか確認されていないのに、
単一障害点除去
+
自己修復
+
マルチリージョンDR
+
データレプリケーション変更まで選ぶのも適切ではありません。
選択した改善策
↓
どの確認済みギャップを
解消するためなのかを説明できる必要があります。
7. 「不足している能力」と「実行を妨げる制約」を区別する
複数の問題が同時に見える場合、すべてが独立した改善対象とは限りません。
例えば、
Auto Scaling
↓
必要な追加リソースを要求
しかし
サービスクォータ到達
↓
追加できない場合、
スケール要求が出ていないわけではありません。
すでに必要なスケーリング機能が存在しているなら、現在確認された直接の制約は、
サービスクォータです。
この状態で、
Auto Scalingをもう1つ追加するという改善は、確認されたギャップへの直接回答になりません。
8. 同じ考え方をデータとDRにも使う
例えば、
復旧先データ
→ RPO未達
復旧手順
→ RTOも未達なら、
データレプリケーション
+
DRの両方に改善理由があります。
一方、
復旧先データ
→ RPO達成
復旧手順
→ RTO未達なら、現在確認された不足はDR側です。
別リージョンだから
レプリケーションも必ず変更とは判断しません。
9. 1つの改善で別のギャップまで解消できるとは限らない
例えば、
単一障害点を除去しても、
障害後の置き換えが手動という自己修復不足まで自動的に解消されるとは限りません。
同様に、
サービスクォータを引き上げるだけでは、需要に追従するスケーリング機能そのものが無い環境を改善できません。
したがって、
1つ変更した
↓
関連問題も全部解決とは考えず、各ギャップが実際に解消されるかを確認します。
10. 改善戦略の対応表は「最終確認」に使う
| 確認済みの不足 | 対応する改善軸 |
|---|---|
| 1つの障害が業務全体を停止させる | 単一障害点の除去 |
| 障害後の正常キャパシティ復元が手動 | 自己修復 |
| 正常リソースの総処理能力が需要へ追従しない | スケーリング |
| 障害後に利用できるデータ状態が要件未達 | データレプリケーション |
| ワークロード全体の復旧能力が要件未達 | 災害復旧 |
| 必要なリソース取得がサービスクォータで停止 | サービスクォータへの対応 |
この表は各技術を再学習するためではありません。
確認済みギャップ
↓
選択した改善軸の対応漏れを最終確認するために使います。
11. 最小十分な改善セットを作る
このページで目指すのは、
最小
=
根拠のない改善を含めない
十分
=
確認されたギャップをすべて覆う改善セットです。
例えば、
確認済みギャップ
1. 認証サービスが単一障害点
2. 障害インスタンス置き換えが手動
3. サービスクォータ到達で追加不能なら、
単一障害点除去
+
自己修復
+
サービスクォータへの対応が必要十分なセットです。
12. 改善セットを決める流れ
確認済みの信頼性ギャップを列挙
↓
各ギャップに必要な改善軸を割り当てる
↓
同じギャップへ不要な改善を重ねていないか確認
↓
すべてのギャップが覆われているか確認
↓
根拠のない改善策を除外
↓
必要十分な改善セットを確定13. SAP-C02での判断フロー
既存アーキテクチャの
信頼性ギャップは特定済み
↓
ギャップを1つずつ確認
↓
何の能力が不足?
├─ 単一障害への耐性
├─ 障害後の自動復元
├─ 需要追従
├─ データ状態
├─ ワークロード全体の復旧
└─ AWS側の上限制約
↓
それぞれ対応する改善軸を割り当てる
↓
すべてのギャップを覆った?
│
├─ いいえ
│ ↓
│ 改善不足
│
└─ はい
↓
根拠のない改善が含まれる?
│
├─ はい
│ ↓
│ 過剰な改善を除外
│
└─ いいえ
↓
必要十分な改善セット14. 混同ポイント
| 誤った判断 | このページでの判断 |
|---|---|
| 最も強力な構成へ変更すればよい | 確認済みギャップだけを解消する |
| 1つ改善すれば関連問題も全部解決 | 各ギャップが本当に解消されるか確認する |
| 複数問題があっても1つの改善策だけ選ぶ | 未対応ギャップが残っていないか確認する |
| 関係しそうな改善策を全部採用する | 根拠のない改善策を除外する |
| Auto Scaling失敗ならスケーリングを追加 | 実行を妨げるサービスクォータが原因か確認する |
| 別リージョン問題ならレプリケーションとDRを必ず両方変更 | RPOとRTOのどちらにギャップがあるか証拠で選ぶ |
| AWSサービス名から変更を決める | 確認済みの信頼性ギャップから改善軸を選ぶ |
15. このページで扱わないこと
ここでは、
既存アーキテクチャの
信頼性ギャップを発見する方法
単一障害点の具体的な除去方法
自己修復の具体的実装
スケーリング設計
同期 / 非同期レプリケーション
RTO / RPOの設計
DR方式の比較
サービスクォータの監視・引き上げ方法
コスト最適化は扱いません。
このページで完成させるのは、
確認済みの信頼性ギャップ
↓
必要な改善軸を割り当て
↓
不足と過剰を除外
↓
必要十分な改善セットを選択することです。
まとめ
信頼性問題の改善では、
改善策を1つ選ぶこと自体が目的ではありません。
1つのワークロードに複数のギャップがあれば、複数の改善軸が必要になります。
一方で、
念のため全部強化する必要もありません。
判断基準は、
確認されたすべてのギャップを覆っているか
選択したすべての改善策に
確認済みの根拠があるかです。
対応漏れなし
+
根拠のない改善なし
=
必要十分な信頼性改善セットとして判断します。
主要AWS公式資料
- AWS Certified Solutions Architect - Professional(SAP-C02)試験ガイド — タスク 3.4
- AWS Well-Architected Framework — Reliability
- AWS Well-Architected Framework — Design principles
- AWS Well-Architected Framework — Automatically recover from failure
- AWS Well-Architected Framework — Scale horizontally
- AWS Well-Architected Framework — Stop guessing capacity
理解確認
このページの内容を3問で確認します。
理解確認3問へ →