kazu22002の技術覚書

PHPer, Golang, AWS エンジニアの日々

雪が降った影響で忙しいです。

今週は忙しかったです。

理由は雪が降った影響で忙しかったです。システム屋なのですが、こういう天気に仕事が影響されるようになったのは最近なので、気にしていなかったのですが、影響はでかかったです。。。

忙しかった。。。

なにが忙しかったか

想定していなかった事態が多々発生したから忙しかったんだと思います。

日常的に想定していた範囲であればきっと準備して臨むので突発的に忙しくなる感じは少ないのですが、想定してない事態が発生するのはやっぱり気持ち的にも作業的にもつらいです。

まぁ、サービスが高負荷に耐えられず1時間ぐらい止まっちゃったんで、てんやわんやですよね。。。

自分の担当していた部分はそっちのサーバーを利用していないと思ってたのに、電話が来てから「あ、その部分だけそっちのサーバーだった」などと一部機能に障害を発生させてしまった事実は申し訳ないと痛感しています。

サービスの運用は難しいです。

で、やっぱり感じるのはAWSはすごいなぁー。と実感するわけですね。

障害時の対応

もうDBが100%で張り付いちゃったので、さぁ大変な事態になったわけですが、落ち着くのをまっていたらHTTPへのアクセスがたまり待機状態になり、負の悪循環になって身動きができなくなった。

覚悟を決めてDBサーバー再起動。

これで一気にDBサーバーの負荷がさがり、なんとかデータをさばける状態になる。

でもWEBの表示が異常に遅い。とりあえずWEBサーバーをtopコマンドで確認するとロードアベレージがかなり高い状態。

たまっていたHTTPへのアクセスがさばき切れていない状態で、また悪循環へ突入する予感が。。。

そこはAWSならではの対処方法。(クラウドならね)

一時的にスペックアップでしのぐ!!

ってことでWEBサーバーのスペックアップにてなんとか今回の障害を乗り越えた感じでした。

うーん、分散構造にしてくれないかな。あのサーバー。。。今後も台風とか雪とかあると危険な気がするので、油断ならないので、なにか対策を考える必要がある。。。

さすがともいえる事前準備をしているサービスはいた

やっぱりなれているところは今週の始めにサーバーを増強していた。

こっちは分散構造になっているので、サーバーの台数を増やしてロードバランサーで分散。

今回の雪でもサーバー自体は大丈夫だった感じで良かったです。まぁ、別件で忙しくなっていたみたいですが。。。

DBサーバーのスペックアップは気をつけるべき

今回のスペックアップでいろいろと聞いたのですが、どうやらWEB用のEC2についてはすぐスペックアップしても起動するみたいですが、RDBのようなDBサーバーだとそうはいかないみたいです。

30分ぐらいサーバーが停止することがあるとかで、いきなり対処してしまうとひどい目に合うらしいです。

DBサーバーは本当に真夜中とかにアップをするように、予約してアップしましょう。ということを学びました。

今回の教訓はAWSを知らないと障害に対処できない!!

というわけで買いました。。。

Amazon Web Services実践入門 (WEB+DB PRESS plus)

Amazon Web Services実践入門 (WEB+DB PRESS plus)

基礎的な部分から応用まで、よんでて楽しいです。よし、がんばって一人前になって見せる。などと思ってます。