RDSがハングした時に停止してはいけない

phpMyAdminで大量のデータをエクスポートしようとしたら、

RDSがハングした。。。

 

 

書き込みの多いテーブルだったからだろう。。

 

まったく誰も接続できなくなったから、

これはRDSの再起動しかない、と思ったが、

再起動で回復しなかったら停止する必要があるから、

停止しちゃおうと、焦って急いでたのもあって「停止」してしまった。

 

しかし、停止は停止完了まで何分か掛かることを忘れていた。

5分くらい経っても停止中のまま、完了しない。。

 

その間、時間があるので、ググってたら、こんな記事が。。

 

 

 

この人は11時間後に停止したって書いてある。てことは、このまま待っていれば停止してくれるのか。祈りつつ待っていると、およそ3時間後に停止してくれました。

RDS停止処理時には内部でスナップショットを自動的に取得しているらしいです。停止時にスナップショット取得必要有無を訊かれますが、万が一を備えて、内部的には必ずスナップショットが取得されているとのこと。

AWSのRDSを停止したら、stoppingのステータスで止まってしまった話 - goodbyegangsterのブログ

 

 

やば。

11時間停止が終わらなかったら、どうしよう。。

 

と思ったら、約10分で停止が完了した。

そして、起動して正常に戻った。

 

まぁ次はLBがおかしくて、そこでもちょっと障害が起こったんだけどね。

 

 

とにかく、本番RDSの停止は辞めた方がいい。

 

 

 

って知ってたはずなのに、

また停止してしまった。

 

しかも事前に調べずに停止したら、

大元の原因はAWS Tokyo リージョンの問題だったから、

下手すると復旧して来ない。

 

どうしようか。

前日のスナップショットから復元するか。

でもそうすると、そっちが正になるから、もう戻れない。

うーん。

 

と思ってたら、30分くらいで停止できた。

その後、起動で復旧できた。

障害時間6時間半。

 

起きててもどうしようもなかったから、

寝ててよかった。

 

やはり、マルチAZにすべきなんだろうか。

費用が倍になるからな。

せめて、1.3倍くらいならやるのにな。

 

 

というかコインチェックも落ちてるんだな。

コインチェック、うちよりやばい。

 

 

このことを忘れてて、また停止してしまった。

だって、再起動して復旧しないのだから、仕方がない。

 

しかもご丁寧に万が一に備えて「スナップショットを取得する」にチェックを入れてしまった。

スナップショットの取得に時間がかかるのに。

これをキャンセルしたい。

 

10分くらい経って、やっとスナップショットの取得率が1%になった。

https://ap-northeast-1.console.aws.amazon.com/rds/home?region=ap-northeast-1#snapshots-list:

 

どうしようもない。

20分で完了した。

その後、起動に約10分。

 

障害に気付くまで30分、復旧に30分で、計1時間のダウン。