99% のシナリオ - 信頼性の柱

99% のシナリオ

これらのワークロードはビジネスに役立ちますが、 利用できない場合には 不便でしかありません。このタイプのワークロードには、内部ツール、内部ナレッジ管理やプロジェクト追跡があります。または、実験的なサービスから提供され、必要に応じてサービスを非表示にできる機能トグルを備えたものであれば、実際の顧客向けワークロードでもかまいません。

このようなワークロードは、1 つのリージョンと 1 つのアベイラビリティーゾーンでデプロイできます。

リソースをモニタリングする

サービスのホームページが HTTP 200 OK ステータスを返しているかどうかを確認するには、簡単なモニタリングを行います。問題が発生した場合、当社のプレイブックは、インスタンスのログ記録を使って根本原因を特定することを提案します。

需要の変化に対する適応方法

一般的なハードウェア障害、緊急のソフトウェア更新、その他の破壊的な変更に関するプレイブックも用意されています。

変更の実装

AWS CloudFormation を使用してインフラストラクチャをコードとして定義し、特に障害発生時の再構築を高速化できるようにします。

ソフトウェアの更新は、ランブックを使用して手動で実行され、サービスのインストールと再開にはダウンタイムが発生します。デプロイの最中に問題が発生した場合、ランブックでは旧バージョンにロールバックする方法を説明しています。

問題の修正は運用チームと開発チームがログを分析することで行われ、その修正が優先されて作業が完了した後、修正プログラムがデプロイされます。

データのバックアップ方法

暗号化されたバックアップデータは、ランブックを使って、ベンダーや専用バックアップソリューションにより Amazon S3 に送信されます。そのバックアップが正常に機能するかどうかは、ランブックを使って、データの復元およびデータを使用できるかどうかの確認を定期的に行います。Amazon S3 オブジェクトのバージョニング設定を行い、バックアップデータを削除できる権限を削除します。要件に従いデータをアーカイブまたは完全に削除するため、Amazon S3 バケットのライフサイクルポリシーを利用します。

弾力性のためのアーキテクト

ワークロードは、1 つのリージョンと 1 つのアベイラビリティーゾーンでデプロイされます。アプリケーションについては、データベースも含めて単一インスタンスにデプロイします。

回復力をテストする方法

新しいソフトウェアにはデプロイパイプラインが計画されており、ユニットテストも含まれていますが、そのほとんどは組み立てられたワークロードのホワイトボックスまたはブラックボックステストです。

災害対策 (DR) を計画する

故障が発生している間は、故障状態が解消するまで待ちつつ、必要に応じてランブックを介した DNS の修正により静的ウェブサイトへリクエストをルーティングさせます。これにかかる復旧時間は、インフラストラクチャがデプロイされ、データベースが最も直近のバックアップに復元される速度によって決まります。これは、同じアベイラビリティーゾーン内にデプロイすることも、アベイラビリティーゾーンに障害が発生した場合、ランブックを使用して異なるアベイラビリティーゾーン内にデプロイすることもできます。

可用性の設計目標

問題について理解して復旧を実行する判断をするまで 30 分、全体のスタックを AWS CloudFormation にデプロイするまで 10 分、新しいアベイラビリティーゾーンにデプロイし、データベースを復元させるまで 30 分かかったとします。この場合は障害から復旧するまでに 70 分かかることになります。四半期ごとに障害が発生すると仮定すると、年間の推定影響時間は 280 分 (4 時間 40 分) になります。

つまり、可用性の上限は 99.9% です。実際の可用性は、実際の障害発生率、障害の持続期間、各障害からの実際の復旧速度によっても異なります。このアーキテクチャでは、プログラム更新と実際のイベントのためにアプリケーションをオフラインにする (一度の更新は 4 時間 x 1年に 6 回 = 年間 24 時間) 必要があります。したがって、このホワイトペーペーで前述したアプリケーションの可用性の表を参照すると、この 可用性の設計目標 は 99% であることがわかります。

要約

トピック 導入
リソースをモニタリングする サイトのヘルスチェックのみ (アラートなし)
需要の変化に対する適応方法 再デプロイによる垂直スケーリング
変更の実装 デプロイとロールバックに関するランブック
データのバックアップ方法 バックアップと復元のためのランブック
弾力性のためのアーキテクト 全面的な再構築、バックアップから復元
回復力をテストする方法 全面的な再構築、バックアップから復元
災害対策 (DR) を計画する 暗号化されたバックアップ、必要に応じて別のアベイラビリティーゾーンに復元