ソフトウェア開発者の日常

こだわりなく書きたいことを書いていきます。

クラウドサービスだからといって、過信は禁物と改めて思う

こちらの記事を読みました。
www.gizmodo.jp

同一クラウドサービスの複数データセンターに、システムのプログラムやデータを配置して、多重化しているから安心だと思うでしょう。
まさか、複数のデータセンターが同時に火災にあうとは、予想しないです。

今回のような場合に備えて、全く別々の国に分散して配置ができるように設計し、実際に配置が必要ですね。
万が一の際の訓練として、サービスの一部を停止させて、復旧するまでの手順の確認も必要でしょう。
WEB+DB PRESS Vol.119の特集2『インフラ障害対応演習 「避難訓練」でいざに備える!』では、実際に訓練を実施された内容が記事になっていました。
gihyo.jp

サーバーメンテナンス
Photo by Sammyayot254 @ https://superadmins.co on Unsplash

僕自身の話です。
Windows ServerでWebサーバーを運用していました。
不調な様子だったので、適切と思われる作業を行い、Windows Serverを再起動しました。

再起動したので、動作確認のためにWindows Serverにログインしようとしたら、Windows Serverはシャットダウン処理を始め、再起動しました。
再起動後、数十秒したら、またシャットダウン処理を始め、再起動の繰り返しです。
原因はわかりませんが、Windows Serverが正常に動作しなくなりました。

対処として、Windows Serverがインストールしてあるディスクを、別のサーバーに接続し、Windows Server上に保存してある必要なデータを全てコピーしました。
別のサーバーに必要なアプリケーションをインストールし、コピーできる設定ファイルは全て上書きコピーを行い、コピーできない部分は手動で設定しました。
データベースも動作していましたが、ファイルをコピーしたら、バックアップより新しいデータが復元できました。
動作の確認を行って、暫定対処のサーバーとして稼働させたのは、再起動の繰り返しの発生から15時間後くらいでした。

幸いなことに、もう1台、類似の用途のWindows Serverがあったので、設定やアプリケーションのバージョンなどを参照できました。
Apacheなど、インストールしたアプリケーションのバージョンを変えず、ダウンロードできたのも幸いでした。

データベースのバックアップは定期的に行うのは当然と思っています。
インストールしたアプリケーション、構築作業の手順も、データベースのバックアップとともに残しておくべきと痛感しました。

ここ何年かは、構築作業を行うと記録は残しています。
Windows Serverを構築したころは、記録する意識がなく、僕自身が全ての構築作業を行っていなかったのもあり、どんなアプリケーションがインストールされているのかは知っていても、どのように設定をしたのかまでは、把握できていませんでした。


失ってからでは遅いので、想定外の事態が起きても、復旧できるようにしておくべきと思いました。