AWS EC2上での可用性向上

高いSLAを謳うAmazon EC2ですが、ビジネスの肝となるアプリケーションや、
システムの核となるデータベースの可用性の確保にはどのような対策を施していますか?
クラウド環境では可用性も信頼性も担保されているから考える必要が無い!?
それはただの神話です・・・

Amazon EC2のSLA(https://aws.amazon.com/jp/ec2/sla/

AWSクイックスタートガイド『SIOS Protection Suite の AWSへの配備』

AWSクイックスタートガイド『SIOS Protection Suite の AWSへの配備』

本クイックスタートガイドは、AWS 環境における一般的な「SIOS Protection Suite (SPS)」の設定手順を詳細に解説した資料です。この手順書に従うことにより、AWS上でのサーバーインスタンスの構築から、SPSをインストールして実際にクラスタ環境を稼働させるところまで、簡単に構築することができます。

対策1

複数のAZ(Availability Zone)にインスタンスとアプリケーションを配備し、
ELB(Elastic Load Balancer)で負荷分散と障害対策を図るパターン

ELBが2つのAZに配備されたWebサーバーに対してリクエストを分散して送信します。
もし片側のWebサーバーに障害があったらELBがそれを検知し、障害系へのリクエスト送信を停止することによって、障害からの影響を食い止めます。

対策1

このパターンは、ステートを保持しないフロントエンドのサーバー(Webサーバー等)の負荷分散と障害対策としては王道であり最適解と言えるでしょう。
しかし、

  • 容易に分散を図ることができないDatabaseの部分はどうしますか?
  • Databaseの配備されたAZに障害が発生したらどうなりますか?
対策2

Amazon RDSの利用

対策1に加えて、データベースとしてAmazon RDSを利用し、
MasterとSlaveを異なるAZに配置してレプリケーションを行うことにより、AZ障害を含めて高いレベルの障害対策が可能となります。

対策2

しかしRDSを利用するには以下の課題が挙げられます。

  • 対応しているバージョンの制約
  • オンプレの作り込みへの対応?

よって、RDSを利用したくともできない場合には、DBMSを自前でEC2上で運用・構築する必要があります。
ではこの場合、データベースの可用性を、コストを抑えつつもシンプルに確保できる良い手段は無いでしょうか?

対策3

EC2の”Auto Recovery”を有効にする。

Auto Recoveryを有効にすれば、ハード障害等によって、インスタンス自体が動かなくなってしまった場合に自動的な復旧が行われます。

対策3

しかしAuto Recoveryはアプリケーションやミドルウエアの障害までをウォッチして、異常時のケアまでしてくれるわけではありません。

つまり、アプリケーションやミドルウエアのソフト障害に関しては、ユーザー自身の責任で対策を講じる必要があります。

ミドルウエアやアプリケーションの障害→ユーザー自身で対応 OSの停止・HW障害→Auto Recoveryで対応

Single Server Protectionを導入することにより、難しい作り込みは一切不要で、EC2上で稼働する以下のデータベースの監視と、異常時の自動復旧が可能です。

Oracle, DB2, MySQL, PostgreSQL, Sybase ASE

Single Server Protectionを導入することにより、難しい作り込みは一切不要で、EC2上で稼働する以下のデータベースの監視と、異常時の自動復旧が可能です。
導入は簡単

Single Server Protectionをインストールし、
GUIからいくつかのパラメーターを設定するだけ!
難しい専門知識も、熟練の技術も不要です。

導入は簡単
言うまでもなく、クラウド上でもオンプレ同様、システムの安定稼働の為にはシステムを構成する各要素の状況を細かくモニタリングし、不具合の発生をいち早くキャッチして必要なアクションを起こすことが重要です。
Zabbixはオンプレ、クラウドを問わず広く使用されている統合監視ツールですが、Zabbixサーバー自体に障害が発生してしまった場合には、速やかな監視対象の障害検知ができずに重大なトラブルへと拡大していくことが強く懸念されます。

こんな場合も、SSPを導入しておけば、ZABBIX自身の障害は速やかに回復可能!

異常を発見できずに大きなトラブルへと発展

異常を発見できずに大きなトラブルへと発展

確実な障害検知を継続

確実な障害検知を継続

さらに上の可用性を確保するならば?

Auto Recovery + SSPよりも短時間でのリカバリーを図りたい!
AZ障害にも対応したい!
リージョン障害にも対応したい!

PAGE TOP