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