仮想マシンを更新し、監視し、復旧する
仮想マシンを作った後に必要な更新、監視、バックアップ、復旧、廃棄を一つの運用として考えます。
このレッスンのメニュー
仮想マシンを作ってWebサイトが表示されても、作業はそこで終わりません。 時間がたつとOSの更新が届き、ログやデータでディスクが埋まり、機器やソフトウェアの故障も起こります。
仮想マシンを使い続けるために、状態を確かめ、更新し、故障時に復旧し、不要になったら関連する資源も片づけます。 これらの継続した作業を運用と呼びます。
このページを終えると、仮想マシンの内側と外側で見る項目を分け、日常点検、更新、復旧、削除に必要な作業を挙げられます。
同じ手順で作れるようにする
管理画面で毎回異なる設定を選ぶと、仮想マシンごとの差が増えます。 利用するイメージ、vCPU、メモリ、ディスク、ネットワーク、初期設定をコードやテンプレートに残せば、同じ構成を作り直せます。
OSを手作業で長く変更し続ける方法では、「その仮想マシンにしかない設定」が増えます。 変更内容をイメージや初期設定へ戻し、新しい仮想マシンで動作を確認してから入れ替える方法もあります。
OSとアプリを更新する
OSやパッケージには不具合や脆弱性の修正が届きます。 更新前に影響を確認し、検証環境で試し、失敗時の戻し方を決めてから本番へ反映します。 再起動しなければ反映されない更新もあります。
古い仮想マシンを残し続けると、更新されないOS、使われないアカウント、期限切れの証明書が増えます。 作成日、担当、用途、更新期限を追えるようにします。
仮想マシンの外側と内側を監視する
クラウド側からは、仮想マシンの稼働状態、CPU使用率、通信量、ディスク装置の状態などを確認できます。 ゲストOSの中では、利用可能なメモリ、ファイルシステムの空き、プロセス、ログ、アプリの応答を確認します。
Linuxとアプリの状態は、ゲストOS内の情報と、利用者と同じ経路からサービスを確認する監視で調べます。
同じ原因で複数の仮想マシンが止まらないようにする
一つの物理サーバーに同じ役割の仮想マシンを集めると、その物理サーバーの障害で同時に停止します。 複数の物理サーバーや拠点へ分ける場合も、共有ストレージ、ネットワーク、電源など共通の依存先を確認します。
復旧手順は文書があるだけでは足りません。 新しい仮想マシンを作り、バックアップからデータを戻し、サービスを確認するところまで定期的に試します。
仮想マシン内の簡易ヘルスチェックを作る
Linux Labで次を実行します。
uptime
systemctl --failed --no-legend --no-pager
free -h
df -h /
journalctl -p warning -b --no-pager | tail -n 20
この五つから、起動時間と負荷、失敗中のサービス、利用可能なメモリ、ディスク空き容量、現在の起動で記録された警告を確認できます。 異常がなければ出力が空になるコマンドもあります。
同じ確認を毎回同じ順番で実行できれば、前回との差を見つけやすくなります。 ただし、これは仮想マシン内の点検だけです。 クラウド側の稼働状態、バックアップの成否、外部からの接続確認は別に必要です。
削除は関連資源まで確認する
仮想マシンを削除するときは、仮想ディスク、スナップショット、バックアップ、IPアドレス、DNSレコード、監視設定が残るかを別々に確認します。 残った資源には費用や情報漏えいの危険があり、先に消すと復旧できなくなるものもあります。
仮想マシンの運用手順には、少なくとも次を含めます。
- 同じ構成を作る方法
- OSとアプリを更新する方法
- 異常を見つける方法
- データとサービスを復旧する方法
- 仮想マシンと関連資源を安全に削除する方法
このレッスンは完了
このページで扱った流れを確認したら、次の内容へ進みます。