やっぱりAWSだな。障害検知からリカバリして復旧までマネージドサービスで提供してくれます

突然起きるシステム障害 まぁ宿命ですよね。とある平日の昼間(正午ごろ)それは突然やってきました。

監視ツールZABBIXやCloudWatchから複数のアラーム発生しました。複数のEC2やELBからのアラームで何が原因なのか?調査を開始しました。

EC2へSSHでログインしてTOPコマンドをプロセス数が異常に多い これは大量のアクセスが? いや 違う アクセスログの流れはゆっくりで普段よりも少ないぐらい そんな確認をしているとELBからEC2が切り離された。? httpのプロセス数を確認すると200を超えている ?
ELBは恐らくセッション数が増えすぎてパンクしたのか?と考えたが 原因は違っていました。
そんな確認をしている最中にRDSでは驚きの事態が、実は障害検知同タイミングでRDSの自動リカバリが走り出していた。それによりEC2からのSQL命令が滞りEC2は処理待ちのhttpプロセスで溢れELBはそんなEC2を切り離したのだ。
ただ、同時に複数のRDSが自動リカバリを実行している。なんだか大規模な障害なのかと思います。AWSサポートへ問い合わせすると、Tokyoリージョン1つのAZでEBS障害を検知しており復旧作業を行ったそうである。しばらくするとAWSの稼働状況にEBSに障害と障害復旧のお知らせがアップされた。
整理すると、EBS(ディスク)障害によりEBSを使ったサービスに同時多発的に障害が発生 EC2やRDSといったディスクをマウントしているサービスに影響が出たのだぁ
でも、自動リカバリのおかげで手を動かす事なく復旧した。
今回の教訓は、冗長構成はやっぱり必要だよねという事です。EC2もRDSも2つのAZへそれぞれ設置していたら停止時間も少なく即時に障害復旧出来た。ただ、いろいろな制約もありシングル構成としている オンプレなら怖くてシングルは組めない。でもクラウドなら別のインスタンスを新たに起動すれば復旧できるし今回の件で言えば深夜の時間帯に発生しても翌朝起きた時に気がつく程度だったのではと思う。(監視を外部に依頼しているのでTELはかなぁ)
それだけクラウドのメリットを譲受できるんだなぁ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする