Ruby の canonical なコードサーバーである git.ruby-lang.org を AWS の t2 インスタンスから c5a インスタンスに migrate しようと、一旦 stop して再起動しようとしたら、起動しなくなったので 0 から再構築していた。
経緯としては、そもそも c5a に migrate できない AMI のタイプで、しょうがないと c5 や m4 に変更してもダメで、なんなら元々の t2 に戻しても起動しない、という状態になってしまい、これはもう再構築だな、と諦めて使っていた EBS のボリュームを rescue 用に作ったインスタンスに root volume をマウントして各種ファイルをサルベージすることにした。
幸いにしてデータボリュームは分割してたので、新しく作り直す c5a な Debian 11 インスタンスにそのままアタッチして以下の手順で復旧した。
a2enmod
で ssl, cgi を有効化、旧サーバーから apache2 の設定ファイルをコピー/var/git
にマウント、HOME を設定して色々参照やコミットできるようにする細かいところは省略しているけど、git ユーザーの uid/gid がずれてしまって、後からせっせと chown で直したりしていた。ここも再構築の時に一緒にしておけばよかった。
数時間で再構築できるから、まあねって感じではあるけど、この辺も自動化で行けるところまで用意しておいた方がいいだろうなあ。頑張ろう...。どさくさに紛れて Debian を 10 から 11 にアップグレードできたし、t2 インスタンスから c5a にもできたのでよしとする。