AWSの障害

雨昼の12時59分くらいに、会社で使っているAmazon Web Servicesという、クラウドサーバーとかが作れるPaasがあるのだけど、そこで設定している監視システムから、サーバーのステータスチェックに失敗したとアラートが飛んできた。
コントロールパネルにログインして、EC2のインスタンス一覧を見たが、ステータスは全て正常になっていた。 なんだろうかと思って、該当のインスタンスにSSH接続をしようとしたが応答がない。 コントロールパネル内にある、ブラウザからSSH接続できるものを試してみても応答がない。 試しに、該当インスタンスではない、別のインスタンスに接続してみたら正常に接続できた。
サーバーは生きているけど、負荷が上がりすぎたりとかで応答を受け付けなくなってるのかもと思って、コントロールパネルからインスタンスの停止をしてみた。 だが、ずっと「Stopping」のままでいつになっても止まらない。 十数分後に再度停止をしようとした際は「既に停止中なので強制停止になります」みたいなアラートが出てきたが、とりあえず止めたいのでそれを実行。 だが、それでも「Stopping」から変化がない。
待つこと更に数十分。 そしたらステータスが「stopped」に変わって、ようやく停止できたようだ。
全然止まらないのが怖いので、サーバーのイメージでも保存しておこうと思って、AMIを作ろうと思って、停止中のサーバーからイメージの作成と進むが、エラーメッセージは忘れたが、エラーが出てイメージの作成ができない。 名前や説明に使われている文字がいけないのか?と思い、それらを調整してやってみても上手くいかない。
まさかと思うけど、サーバー停止中だとダメなのかな?と思い、サーバー起動する。 すぐにステータスが「Running」になったので、AMI作ろうと思ったがまだ出来ない。
エラーが出ている時点で検索でエラーメッセージは調べているが、解決しそうにないな…… Twitterは広告収入目的ではなく、純粋に技術者がつぶやいたりしてくれているので、そちらでも検索したが解決の糸口は見えず。 だが、Twitterを眺めていたら「AWS障害」というキーワードが目についた。 見てみると、東京リージョンの一部AZのネットワーク不良みたいなことが書かれていた。 この時点で、これが原因だったのかもと、ようやく判明した。 先程再起動したばかりのマシンにSSH接続を試みたが、やはり接続は出来なかった。

障害が発生しているとわかったらやることをやらねば。 フロントは2台構成で、ELBのターゲットをチェックすると1台がunhealthy、もう1台がhealthyになっているので、おそらく障害発生時から1台運用に自動的に切り替わっている。 ステータス見て、元に戻ったら勝手に振り分けてくれるので、ここは放置。 一通り表示の確認をしたが問題はなかった。
13時37分くらいに会社の人に連絡して、今の状況を伝えた。 今の時点でできることは何もなく、ただ待つしかない。

色々情報を見ていたら、「apne1-az4」というゾーンがダメになったらしい。
フロントはapne1-az1とapne1-az4を使っていて、ELBも同様。 RDSはマルチAZにしていて、apne1-az1とapne1-az4。 RDSはapne1-az1がマスターなので、特に今回は障害の影響を受けてないと思うのだけど、逆だったら、自動的に切り替わっていたのかな?
会社のサイトは全て閲覧できる状態だったので良かった。

一方TwitterではAWSというより、主にAWSを利用しているソーシャルゲームのユーザーの発言で大炎上していた。 「いつになったらメンテ終わるのか?」とゲーム会社にクレーム入れてる人とかいたけど、「AWSが直り次第」という回答しかできないだろうな。 ユーザーからしたら、ゲーム会社がどのサーバー使ってるのかなんて関係ないので、クレーム言いたくなる気持ちはわかるが。
もちろんゲーム会社にも責任はあって、企画の段階でAWSを選択した事実がある。 他にも同様のPaaSはあるので、他を選択する余地もあったが、上の人から結果論で「なんでAWS選んだの」と言われても困るだろうけど。
車買う時、トヨタか日産で悩んで、色々考えた挙げ句日産を選んだ人が、ゴーン会長が逮捕されて周りの人から「なんでゴーンのいる日産なんて選んだの?」と言われているようなイメージだろうか。

いくらクラウドで簡単にサーバー作れたり設定できたりするとはいえ、AWS落ちましたからすぐに他のPaaSに移ります、なんてのは出来ないし、やろうとしたら数週間~数ヶ月単位の作業になるのではないだろうか。
障害自体は16時位に一部解消され、22時くらいに完全復旧したらしい。

今回の騒動でAmazonって通販だけじゃなかった、と知った人が大勢いただろう。


で、タイミングが非常に悪いことに、この騒動のさなか、友達から「Wordpressが改ざんされフィッシング詐欺サイトになっちゃったのだけど助けて」と……
見てあげたかったが、AWSの方に注力しないといけなかったので、あまり見てあげられず、結果的に友達が自力で改ざんされたファイルを探し出して元に戻して、とりあえずは解決した。
が、どこ経由で改ざんされたのかを調べないと、またやられるだろうな。 古いバージョンのWordpressを使っていたので、本体かプラグインの脆弱性とかだろうけど。 FTPのIDPW漏れも可能性はあるが、FTPログを調べたらその可能性は無くなった。
改ざんの糸口を見つけるために、最後に大丈夫だった時と、改ざんに気づいた時までの間のアクセスログは保存しておいたが、この日記を書いている今でも、まだチェックできていない。

さらに同時間帯に社長から電話があり、来月出張に来てほしいと。 それはいいのだけど、ホテルや飛行機を手配して教えて、と。 なのでAWSを見ながら、Wordpressを見ながら、ANAとJALとホテルをチェックしつつ安い手段を探していた。 ANAもJALも飛行機往復で48,000円もする。 ホテルが1泊1万くらいなので、68,000円くらいもするのだな。 だけど、ANAの旅作という飛行機+ホテルのプランだったら、会社からはちょっと離れるけど、朝ごはん付きのプランで55,000円で予約することができた。 まぁ会社のお金なので浮いた13,000円を自分がもらえるわけではないけど。

今回、社長の知り合いが凝ったWEBサイトを作りたいらしく、その打ち合わせに社長と一緒に参加してほしいと。 打ち合わせはいいのだけど、お酒飲みながら打ち合わせでもいいか?と聞かれて、自分は別にいいのだけど、そんな感じで打ち合わせしてしまって大丈夫なのだろうか。 お酒飲みながらじゃメモとかも取りにくいし、困ったなぁ。 音声録音させてもらおうかな。 ただ、お酒飲む店だとうるさくて音がよく拾えなさそう。


今日は雨なので、トレーニングはお休みにした。

コメントを残す

メールアドレスが公開されることはありません。