回復力と高可用性

CrowdHandlerのインフラストラクチャは、継続的な可用性と稼働時間を確保できるよう設計されています。当社は、以下の耐障害性およびフォールトトレランス機構を採用しています:

AWSのアベイラビリティゾーン

各AWSリージョンにおいて複数のアベイラビリティゾーンを利用し、データセンターレベルでの冗長性を確保しています。これにより、ゾーン全体に影響を及ぼす可能性のある障害からシステムを保護しています。

データベースのマルチAZ展開

当社のMySQL RDSデータベースは、3つのアベイラビリティゾーンにまたがるマルチAZモードで展開されています。これにより、データの同期レプリケーションが行われ、データベースインスタンスに障害が発生した場合やアベイラビリティゾーンで障害が生じた場合には、自動的にフェイルオーバーが行われます。

AWSリージョン間のレプリケーション

プライマリの US-East-1 リージョンにあるすべてのインフラストラクチャとデータを、US-East-2 リージョンに複製します。これには以下が含まれます:

  • データベースのスナップショット - 本番用データベースのスナップショットを1時間ごとに取得し、それをUS-East-2にレプリケートしています。リージョンレベルの災害が発生した場合、このスナップショットから復元することが可能です。
  • S3 バケットのレプリケーション - S3 の本番用バケット内のすべてのデータは、US-East-2 のバケットに非同期でレプリケートされます。
  • AMIのバックアップ - EC2サーバー(使用されている場合)のイメージは、代替サーバーを立ち上げる必要が生じた場合に備えて、US-East-2にバックアップされています。
  • Route53のヘルスチェック - 当社は、US-East-1およびUS-East-2の両方のエンドポイントを監視するために、Route53のヘルスチェックを利用しています。必要に応じて、トラフィックをセカンダリリージョンへ迅速に迂回させることができます。

災害復旧テスト

US-East-1で大規模な障害が発生した場合に、すべてのトラフィックを迂回させ、US-East-2へ切り替えられることを確認するため、毎年災害復旧テストを実施しています。このテストでは、以下の内容を行います:

  1. US-East-1 での障害をシミュレートし、フェイルオーバーが必要となる状況を作り出す
  2. US-East-2 にあるスタンバイデータベースをプライマリデータベースとして昇格させる
  3. DNS またはアプリケーションのオリジンを更新し、すべてのトラフィックを US-East-2 にルーティングするようにする
  4. アプリケーションの可用性およびデータベースへのアクセスを検証するためのテストの実施
  5. テストが完了したら、US-East-1に戻します

CrowdHandlerの耐障害性対策は、インフラの障害、ソフトウェアの不具合、および地域的なサービス停止に対する保護策を提供します。耐障害性システム、地域間でのデータレプリケーション、そして定期的な災害復旧テストにより、大規模な障害が発生した場合でも、ダウンタイムを最小限に抑えてサービスを復旧できるという確信を持っています。当社の可用性アーキテクチャは、継続的な稼働とシームレスな顧客体験を実現するように設計されています。