翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
レジリエンスライフサイクルフレームワーク: レジリエンス向上のための継続的なアプローチ
アマゾン ウェブ サービス (寄稿者)
2023 年 10 月 (ドキュメント履歴)
現代の組織は、特に顧客からの期待が常にオンで常に利用可能な考え方にシフトするにつれて、レジリエンス関連の課題が増え続けています。リモートチームと複雑な分散アプリケーションは、頻繁なリリースの必要性が高まっています。そのため、組織とそのアプリケーションは、これまで以上に回復力を高める必要があります。
AWS は、インフラストラクチャ、依存サービス、設定ミス、一時的なネットワーク問題に関連する障害など、中断に抵抗または回復するアプリケーションの能力として回復力を定義します。( AWS 「 Well-Architected フレームワークの信頼性の柱」ドキュメントの「回復力」と「信頼性のコンポーネント」を参照してください。) ただし、希望するレベルの耐障害性を実現するには、多くの場合、トレードオフが必要です。運用の複雑さ、エンジニアリングの複雑さ、コストは、それに応じて評価および調整する必要があります。
AWS は、顧客や社内チームとの長年の協力に基づいて、レジリエンスに関する学習とベストプラクティスをキャプチャするレジリエンスライフサイクルフレームワークを開発しました。このフレームワークは、次の図に示す 5 つの主要なステージの概要を示しています。各段階で、戦略、サービス、メカニズムを使用してレジリエンス体制を改善できます。
これらのステージについては、このガイドの以下のセクションで説明します。
用語と定義
各ステージの耐障害性の概念は、個々のコンポーネントからシステム全体まで、さまざまなレベルで適用されます。これらの概念を実装するには、いくつかの用語を明確に定義する必要があります。
-
コンポーネントは、 関数を実行する要素であり、ソフトウェアとテクノロジーのリソースで構成されます。コンポーネントの例としては、コード設定、ネットワークなどのインフラストラクチャ、サーバー、データストア、多要素認証 (MFA) デバイスなどの外部依存関係などがあります。
-
アプリケーションは、顧客向けのウェブストアフロントや機械学習モデルを改善するバックエンドプロセスなど、ビジネス価値を提供するコンポーネントのコレクションです。アプリケーションは、1 つの AWS アカウント内のコンポーネントのサブセットで構成されている場合もあれば、複数の およびリージョンにまたがる複数の AWS アカウント コンポーネントのコレクションである場合もあります。
-
システムは、特定のビジネス機能を管理するために必要なアプリケーション、人材、プロセスのコレクションです。これには、 関数の実行に必要なアプリケーション、継続的インテグレーションと継続的デリバリー (CI/CD)、オブザーバビリティ、設定管理、インシデント対応、ディザスタリカバリなどの運用プロセス、およびそのようなタスクを管理するオペレーターが含まれます。
-
中断とは、アプリケーションがビジネス機能を適切に提供できないイベントです。
-
障害は、アプリケーションが軽減されない場合に中断がアプリケーションに与える影響です。一連の中断が発生した場合、アプリケーションに障害が発生する可能性があります。
継続的なレジリエンス
レジリエンスライフサイクルは継続的なプロセスです。同じ組織内であっても、アプリケーションチームは、アプリケーションの要件に応じて、各ステージ内で異なるレベルの完全性で実行できます。ただし、各ステージが完全であればあるほど、アプリケーションの耐障害性は高くなります。
耐障害性ライフサイクルは、組織が運用できる標準プロセスと考える必要があります。 AWS は、アプリケーションを開発および運用しながら、運用プロセス全体に計画、テスト、学習を組み込むことを目的に、ソフトウェア開発ライフサイクル (SDLC) に似た耐障害性ライフサイクルを意図的にモデル化しています。多くのアジャイル開発プロセスと同様に、耐障害性ライフサイクルは開発プロセスの反復ごとに繰り返すことができます。 ライフサイクルの各ステージ内のプラクティスは、時間の経過とともに徐々に深化することをお勧めします。