本番のアプリケーションを壊してしまった。

趣味で自己満足のアプリケーションであるとはいえ、一応は本番運用しているアプリケーションが簡単に壊れてしまうのは恐ろしい。

原因はterraform destroy -targetとする際に誤ったアプリケーションを指定してしまったのが原因である。 極めて単純なオペレーションミスであるのと、同様のミスが何度か発生している。

そもそもコマンドをろくに確認せずに実行するのがよくなかったりもするのはいうまでもないが、同じコードベース上で複数のアプリケーションを管理するのがそもそもよくないのだろう。 とはいえ少し冷静に考えてみると壊したくても壊せないアプリケーションほど厄介なのでそれも困る。

壊れやすさが問題ではなく、問題なのはバックアップの仕組みが全く考慮されていないことだった。 バックアップもファイルはシングルインスタンス、データベースもsqliteで運用しているのでなおさら単純なはずだ。

普段自分が使っているPCにはバックアップが何層かに設定されているのだが、ことアプリケーションに至ってはその仕組みが機能していない。

可能であればアプリケーションの作成を単一のコマンドで行えるように、リストアも単一のコマンドでできるようにしたい。 ディスクの容量は余裕がある、というかかなり持て余しているのでこのあたりそろそろ考えていきたいと思っている。

ひとまずterraformとは別の仮想マシンを作成して、そのマシンがcron経由でrsyncを実行するくらいの単純さでよいと思う。 差分バックアップとかも不要で、データベースとファイルのみでよい。