AWS UD Cloudパッケージ

手動バックアップを自動バックアップへ

お問い合わせ

自動バックアップを実装

2019年10月30日

バックアップについてのシステム改修エピソードをご紹介

前回は、弊社の基幹システム「Infini One」の冗長化に関するエピソードをご紹介しました。今回は、バックアップについてのシステム改修エピソードをご紹介致します。

Infini Oneには、弊社社員が日々登録した案件情報や実績のデータが保存されています。このデータは、お客様とわたしたちを繋ぐ会社によって最も大切なデータです。「バックアップはしっかり取得しよう。」という役員からの指示で、現状の調査と再構築のための検証が始まりました。

現状の調査と再構築のための検証

バックアップに関する現状調査

基幹業務システムとして利用しているInfini Oneは、2018 年10月にサービスインした当初から、会計と労務の夜間バッチが処理されて現在までエラーなく日々動作しています。

しかし、OSレベルでも仮想インスタンスベースでもバックアップがスケジューリングされておらず、担当者が余裕のあるときにAMI(仮想マシンイメージ)のバックアップを手動で取得する、という気まぐれな運用になっておりました。

更に、これまで取得したAMIのバックアップは整理されることなく取得したまま蓄積され無駄なコストがかかっていました。

担当者が余裕のあるときにAMI(仮想マシンイメージ)のバックアップを手動で取得する、という気まぐれな運用

手動バックアップを自動バックアップへ

調査の結果、再構築プロジェクトのチームはバックアップに関する改善点を以下のようにまとめました。

  • 人の手で取得しているバックアップを、定期的な自動バックアップに切り替える
  • DR(ディザスタリカバリー)のため、AMI バックアップを東京リージョンから別のリージョンにコピーする
  • 5世代以前のバックアップは削除し、コスト軽減する

先にも書きました通り、基幹システムInfini Oneは弊社の社員がお客様の案件情報を登録したり、実績を入力したりして利用しています。総務や内勤の社員は日中帯に利用しますし、フィールド部隊のメンバーたちは、時として早朝や、現場から戻った夜間帯に利用することもあります。

弊社にとってInfini Oneは、深夜に他システムと連携するためのバッチ処理を行うメンテナンス時間以外は絶え間なく稼働していなければならない重要なシステムなのです。

AWS Systems Manager のメンテナンスウィンドウ利用し、バックアップを取得

AWS Systems Manager (SSM)は運用タスクを自動化し、一元管理できるマネジメントツールです。AWSマネジメントコンソールから EC2 インスタンスを再起動したり、コマンドを投入したりできます。また、エージェントをインストールしてアクティベートすればオンプレミス環境もマネジメントできる画期的なツールとなっており、AWS Summit 2019 でも大きく取り上げられていました。

再構築プロジェクトのチームでは、Systems Manager のメンテナンスウィンドウという機能を使って、AMIを自動的に取得するスケジュールを組むことにしました。

AMIを自動的に取得するスケジュールを組む

メンテナンスウィンドウはタスクを定義するためのコンソール

弊社が設定したメンテナンスウィンドウは3つです。それぞれの役割は以下の通りです。

弊社が設定したメンテナンスウィンドウ

Daily_processing_1

データベースサーバーのAMIバックアップを行うオートメーションタスク(毎朝6時に実行)

Daily_processing_2

バックアップされたAMIに名前をつけるLambda関数(毎朝7時に実行)

3rd_Sunday_of_every_month

フロントサーバーの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関数を設定しました。こちらに関しては次回詳しくご紹介致します。

ページ上部へ戻る

カテゴリー

タグ