One」の冗長化に関するエピソードをご紹介しました。今回は、バックアップについてのシステム改修エピソードをご紹介致します。Oneには、弊社社員が日々登録した案件情報や実績のデータが保存されています。このデータは、お客様とわたしたちを繋ぐ会社によって最も大切なデータです。「バックアップはしっかり取得しよう。」という役員からの指示で、現状の調査と再構築のための検証が始まりました。年10月にサービスインした当初から、会計と労務の夜間バッチが処理されて現在までエラーなく日々動作しています。OSレベルでも仮想インスタンスベースでもバックアップがスケジューリングされておらず、担当者が余裕のあるときにAMI(仮想マシンイメージ)のバックアップを手動で取得する、という気まぐれな運用になっておりました。これまで取得したAMIのバックアップは整理されることなく取得したまま蓄積され無駄なコストがかかっていました。手動バックアップを自動バックアップへ調査の結果、再構築プロジェクトのチームはバックアップに関する改善点を以下のようにまとめました。Oneは弊社の社員がお客様の案件情報を登録したり、実績を入力したりして利用しています。総務や内勤の社員は日中帯に利用しますし、フィールド部隊のメンバーたちは、時として早朝や、現場から戻った夜間帯に利用することもあります。Oneは、深夜に他システムと連携するためのバッチ処理を行うメンテナンス時間以外は絶え間なく稼働していなければならない重要なシステムなのです。(SSM)は運用タスクを自動化し、一元管理できるマネジメントツールです。インスタンスを再起動したり、コマンドを投入したりできます。大きく取り上げられていました。メンテナンスウィンドウという機能を使って、AMIを自動的に取得するスケジュールを組むことにしました。メンテナンスウィンドウはタスクを定義するためのコンソール弊社が設定したメンテナンスウィンドウは3つです。それぞれの役割は以下の通りです。Daily_processing_1データベースサーバーのAMIバックアップを行うオートメーションタスク(毎朝6時に実行)Daily_processing_2バックアップされたAMIに名前をつけるLambda関数(毎朝7時に実行)3rd_Sunday_of_every_monthフロントサーバーのAMIバックアップを行うオートメーションタスク(毎月第3日曜日の朝6時15分に実行)まず、フロントサーバーはデータを持たないため、月一度のバックアップを行えばよいという結論に至りました。Oneは月末月初の利用が多いため、月中である第3日曜日の午前6時15分に取得することにしました。設定し、オートメーションタスクのドキュメント(テンプレート)を使って手軽に自動バックアップを取得する設定を行いました。データベースサーバーは重要なデータを保持しているため、フロントサーバーのタスクとは別にDaily_processing_1を設定し、朝6時にAMIバックアップを取得する設定を行いました。Managerによって取得されたAMIイメージにNameタグをつけるLambda関数を設定しました。こちらに関しては次回詳しくご紹介致します。