AWS での高可用性とスケーラビリティ
リアルタイム通信のほとんどのプロバイダーは、99.9% ~ 99.999% の可用性を提供するサービスレベルに対応しています。必要な高可用性 (HA) の程度によっては、アプリケーションのライフサイクル全体にわたって、ますます高度な対策を講じる必要があります。堅牢な高可用性を実現するには、次のガイドラインに従うことをお勧めします。
-
単一障害点がないようにシステムを設計します。ステートレスコンポーネントとステートフルコンポーネントの両方に対して、自動化されたモニタリング、障害検出、フェイルオーバーのメカニズムを使用します。
-
単一障害点 (SPOF) は、通常 N+1 または 2N 冗長構成によって排除できます。N+1 はアクティブ - アクティブノード間のロードバランシングによって実現され、2N はアクティブ - スタンバイ構成のノードペアによって実現されます。
-
AWS には、スケーラブルでロードバランスされたクラスターを使用する方法や、アクティブ - スタンバイペアを想定する方法など、両方のアプローチで HA を実現する方法がいくつかあります。
-
システムの可用性を正しく計測し、テストします。
-
障害への対応、軽減、障害からの回復のための手動メカニズムの運用手順を準備します。
このセクションでは、AWS で利用できる機能を使用して単一障害点をなくす方法を取り上げます。具体的には、可用性の高いリアルタイム通信アプリケーションをプラットフォーム上に構築できる AWS のコア機能と設計パターンのサブセットについて説明します。