Uncategorized

オミカレにおけるAWS SQS/Lambda/CloudWatchの障害対応

2020年4月20日18:58頃に発生したSQS/Lambda/CloudWatchの障害への対応

20時12分に対応を開始。それからリリース、動作確認が取れたのが21時25分でした。

オミカレでもAWSのSQS/Lambda/CloudWatchを利用している。主にメールやPush通知を送信しており、これが止まれば 会員登録・予約 などの様々なユーザー体験が損なわれる。

なので対応を議論していたところ

天才的ひらめきですぐに移すことに取り掛かった。

結果から行くとSQSとLambdaのリージョンを移行するという手で解決できた。

移行先は近場、白羽の矢は香港か、シンガポールでした

距離で行くと香港だというはなしでしたが、香港に行くとリージョンの有効化から始めないといけないしなにかのwarningが出ているのでシンガポールにすることにした。

SQSの障害だけ察知していたのでSQSのリージョンを移行しようとしていたのだが、Lambdaのトリガーを設定するタイミングで別リージョンのSQSが設定できない。

そのためLambda も一緒に移行することにした。lambdaもgitにあるソースをzipにして上げるだけで済むので移行自体は簡単に済んだ。

SQSとLambdaのリージョンを移行している間にikkitangがansibleを更新して設定の更新行ってくれたのだが、設定がまとまっているからレビューもしやすいし、変更箇所も負いやすかった。

設定箇所はSQSで使うリージョンと新しく作ったSQSの名前くらいでその他の変更は無くすんだ。

まとめる

今回対応が迅速にできたのはSQSの設定がまとまった箇所に記載されておりansibleで管理している。

Lambdaに関してもコードの変更はgit管理で手での変更は加えない。

のような当たり前のことをやってきたからなんだろうな、と思う。

障害は起きるものだから気づいてどれだけ早く対応できるかが問題。今回は結構早く対応できたのではと思う。

オミカレ(https://party-calendar.net/)

追記

対応した時間を追記しました。