us-east-1 outage : lessons learned

先週の木曜日の午後に AWS で障害が発生しました。AWS EC2 では Region と Availability Zone という概念で区画されています。障害が発生した Region は us-east-1 (米国 東海岸) でした。この us-east-1 は一番古く、顧客も多いので、数の論理と古い資産という意味で、価格が他の Region より安価で、個人的に AWS を使っている私は、ネットワーク・レイテンシーよりもお値段という事で、この Region を愛用しています。

さて、AWS からの障害通知 (AWSWatch ありがとうございます) を受けて、us-east-1 で稼動している、私の instance 達を確認したところ、問題なく元気に動いていました。instance はそれぞれ別の AZ でバラけさせて稼働させています。EBS backed instance が便利なので、EBS backed instance に移行し、新規構築する場合も EBS backed にしていました。ただし一番古い 1 つの instance のみ instance store になっていました。この blog が稼動している(た)のが、この古い instance なのです。

この instance には MySQL 用に EBS Volume を attach しています。

障害が長引くにつれて、us-east-1 の EBS に障害が発生しているという事が報告され、つまり、私は障害が影響する可能性はあったのですが、稼働状況を確認しても不具合は無く幸運に恵まれたかもと、その日は就寝しました。

翌日、起床後すぐに稼働状況を確認したところ、金曜日の午前1時ごろから munin のグラフで異常があるのを見つけました。この blog の稼動しているサーバの iowait が高くなっていました。他の instance は異常はありませんでした。

サーバに login して、EBS の中身を見ると、アクセスは可能であり、この段階で backup を取るコマンドを投入したところ失敗しました。blog の閲覧はこの時点でも問題なくできており、varnish や memcache をつかった構成であったのが幸いして、cache からコンテンツは参照できてたようです。

この段階で、EBS の snapshot を取るという作戦はあったと思います。しかし、EBS 全体の障害であるという事と長期化しているという事を考えて、下手に動くと余計に悪くなるという経験上の判断があり、個人のサイトでもあり、Amazon の Ops の活躍を待っておこうと手は付けずにいました。

金曜日の午後になって、障害が1つの AZ のみになったとの報告が出た時点で、そろそろ対策をした方がいいかなと感じ始め、また該当 instance のOSがもう EOL 寸前なので、EBS backed でカレント・バージョンのOSで環境再構築する準備を始めました。他の AZ では EBS backed instance の起動は出来ていたので、古い instance から環境を移し、あとは、障害が発生している、MySQL の DB の移行のみという所まで構築しました。

障害報告によると、該当のAZで障害があるEBSは detach するな、reboot するなとの事

その日夜までは、cache からコンテンツの参照はできていましたが深夜には MySQL に引きずられて、apache が動かなくなりました。この為、AWSの障害時のノウハウを得るために冒険に出ました。EBS の snapshot を試みるも取れない、EBS の強制 detach もダメ。instance を reboot してもダメ。AWS からの報告を見るとdetach の API を殺しているとの事。がんばれー > AWS Ops という事でその日は就寝。

土曜日になりました。まだ復帰していない。なんと長い障害でしょう。AWSで初めての事かもしれません。

朝8時頃に snapshot が取れるようになっていました。もうこうなったら楽勝。健全な AZ で EBS Volume を作成し、昨日つくっておいた EBS backed instance に attach して、設定確認して、Elastic IP すげ替えて一件落着。このあたりが素晴らしく楽で、もう絶対に昔に戻れないとしみじみ思うところですね。

さて、障害を起こしたことはきちんと postmortem をしてもらう事は当然。今回の障害のイケテナイ所は、EBS の設計ですね。一旦障害がおこったら re-mirror の嵐になる。ちょうど銀行の取り付け騒ぎと同じですね。 このイケテナイ所よりもっとイケテナイ所は、1つの AZ に閉じていなかった所です。これはイカン。

さて、私たち Ops 側としても、今回は重要な経験を得たと思います。AWS は究極のセルフサービスであると私は事あるごとに言っていましたが、このセルフサービスを使うコツ、これを意識する事が重要なのです。

さてさて、勉強勉強。

Welcome to Tokyo!

Welcome to Tokyo!

さぁこれからですよー ;)

(追記) いわゆる cloud broker 系の対応状況

Amazon’s datacenter in Tokyo may have been one of the worst-kept secrets in cloud computing and finally it’s public!

わはは ;)

JAWSUG OSAKA #1 LT : Tweak m1.small

ふぅ… 二日酔いですよ(^^;;;;;;;;;;;;;;;;

昨日、JAWSUG OSAKA 記念すべき第一回勉強会に参加してきました。

なんと、今回は Jeff Barr さんも大阪にいらっしゃいました。世界に6人しかいない AWS エバンジェリストの 33% が大阪に結集!

AWS 本気だぜ

前回の第0回勉強会も参加したのですが、今回は前にもまして、熱い熱い勉強会でしたし、前にもまして、What から How に変わってきてる事を感じました。(もちろん、怒涛のように新サービスが出ているので What な話も大事ですね ;)

居酒屋懇親会では、アルコールパワー全開なった後、素面の jeff と少しだけ英語で(^^; ブレードランナーにおける、Cloud コンピューティングてな話をしましたよー。

玉川さんと、Jeff  Barr さんが、帰京の為離脱後も、大阪のコアメンバー達と時間を忘れてしゃべってました。(超二日酔いですよ)

私は相変わらず、脳天気な LT してきました。(^^; ご笑納下さい。(Tweak m1.small – 雑多なメモ Wiki版)

(追記) もちろん、この blog が m1.small(us-east-1) 一発( CSS や 画像の一部は CloudFront)で運用しているブツです。 :)

Japan aws user group osaka study session #0 LT: DevOps

今日(というかもう昨日) AWS User Group Japan のOsaka勉強会 第0回に参加してきました。twitter上では良く知っているんだけど、小島さんや玉川さんに合うのは今回が初めてでした。小島さんのセッション「アマゾンクラウド概要紹介」は余す所なくEC2の魅力を語っておられて、流石だなと感心しました。また、玉川さんのデモも、もしEC2を全く知らずに初めて見たならまるで、魔法のように思ってしまうぐらいにインパクトのあるデモでした。関西の参加メンバー(すでに自動的に会員ですよ)から沢山の質問もあり、本当に熱い勉強会でした。(細かなコストの質問もあったのはさすが大阪)

懇親会も熱い熱い。 :) 支部代表と副代表も無事決まりました。 :)

さて、私は最近の超重要関心事項の DevOps Movement について Lightning Talk やるぞーといっていたのですが、言いたいことが多すぎて、これは LT じゃねーぞとツッコミをうけつつ、会場の時間切れまで、言いたいこと言い倒してしまいました。m(_ _)m

参加者の内、ほとんどが開発系の人だったので、運用さん視点の話は珍しかっただろうなと思っています。

この DevOps の紹介のスライドは、その道の達人たちのスライドや blog から沢山引用させていただいています。下に貼りつけたスライドの 最後 3枚にわたる appendix のリンクを見ていただいて、いろいろ思考を広げてください。

日本でのこの手の議論はまだまだ出来ていないので、先ずはご紹介ということで、これから日本でもDevOpsの種を広げていかないといけないなと思う今日この頃でした。