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

AWSのRDSインスタンスを停止できるようになりましたね。使っていないならお金の無駄だし、ちまちま停止処理をしていました。(ちなみにRDSインスタンスを停止していても、1週間経過すると自動的に起動してきてしまうので、この点は注意です。)

ある日、暫くDB使わないからRDS停止処理を実行したところ、"stopping"のステータスで処理が止まってしまった。たしかに、いつもそんなすぐに停止するものではなかったけれども、10分、30分、1時間たっても"stopping"のステータスのまま、停止してくれない。この時、いろいろな思いが頭を駆け巡るわけです。「やべ、RDS壊れた?」「最近スナップショット取ったのいつだったっけ」「もう元に戻せないデータ出てくるかも(大汗)」

震える指先でキーボードを叩いて、AWSのフォーラムで参考情報を探すわけですよ。それで以下の投稿を見つけました。

RDS instance stuck "stopping"

https://forums.aws.amazon.com/thread.jspa?messageID=810854

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

後日、AWSサポートの人に確認してみると、RDS停止処理時には内部でスナップショットを自動的に取得しているらしいです。停止時にスナップショット取得必要有無を訊かれますが、万が一を備えて、内部的には必ずスナップショットが取得されているとのこと。今回はそのスナップショット取得処理に時間がかかっていたらしいです。つまり、stoppingで止まってしまったのではなく、ちゃんと内部で処理が動いていたのだと。ぐぬぬ

でも、例えば本番運用しているシステムで、instance typeを変更しようとRDS停止したら11時間くらい処理がかえってこない、なんてなったら、すごい焦りますよね。発狂ものですよね。。。