コンテンツにスキップ

バックアップ

予期せぬ事象が発生した時に迅速にロールバックを行うためには、バックアップの取得とそれを用いたリストアをできることが重要になります。
この点についてはDevOpsに限った話ではありません。しかし、開発チームと運用チームが分業されている場合、バックアップは運用チーム任せになりがちです。 バックアップやリストアに関する部分がブラックボックス化し、有事の際のコミュニケーションや復旧作業に時間がかかってしまったのでは意味がありません。

DevOpsでは開発チームと運用チームの境目をなくし、同じ目線で共通の目的に向かうことを目指すので、バックアップやリストアの手順は誰でも理解している必要があります。

またビジネスの価値を迅速にエンドユーザーへ届けるためには、定型的なシステム作業の負荷は軽減し、サービスの改善活動により注力することが望まれます。

EponaではOperation-Lessの見地から、明示的なバックアップ取得が必要となる対象を絞り込み、 必要なものにはマネージドサービスによるバックアップ取得をサポートしています。
マネージドサービスを活用することにより、バックアップ・リストア手順の効率化を実現します。

適用pattern・How To

本アクティビティを実現するためにEponaが用意しているpatternは以下の通りです。

バックアップ取得対象を絞り込む

Eponaでは、Operation-Lessの観点からマネージドサービスを多く利用し、 極力システム運用が発生しない構成を目指しています。

たとえば、アプリケーションのデプロイ先にはAWS Fargateを使用しており、 サーバーそのものの運用を意識せずに実行環境を再現可能です。
仮にAWS Fargateクラスターを失ったとしても、サーバーに関する復元作業は不要で、単にコンテナを再度デプロイすればよいのです。
したがって、アプリケーションサーバーのバックアップ運用は不要です。

EponaがTerraformを利用し、インフラ環境をコードで表現して再現性を高めていることも、ここに活きてきます。
インフラ環境の復元が必要となった場合には、Terraformコードを再実行すればよいので、都度バックアップを取る必要はありません。

またAmazon S3に配置するデータは、S3自体の高い耐久性にデータの管理を任せることができ、利用者が明示的にバックアップを取得することは不要です。

以上のように、マネージドサービスやインフラ環境のコード化などの活用によりバックアップ運用が必要な場面は限られています。
Eponaでは明示的にバックアップが必要なものに対してサポートしています。

データストアのバックアップが取得でき、そこからデータを復元できる

アプリケーションの扱うデータを保管する場所として、データベースやインメモリデータストアなどのデータストアが必要となることはよくあります。
データストアを扱う上ではパフォーマンスや可用性構成、パッチ適用やバックアップ運用など考慮すべき点が多く、専任の管理者を置いて対応していることもあるでしょう。
しかし、これらの管理作業についてはエンドユーザーにとっての価値が見えづらく、単なるコストと映ってしまうこともしばしばあります。

EponaではOperation-Lessの見地から、エンドユーザーにとってより価値の高い活動に注力できるよう、データストアに関しては以下のマネージドサービスをサポートしてます。

database patternredis pattern にてバックアップ・リストア手順をガイドしており、簡易な手順で実施できるようサポートしています。
その他の運用観点についても同ガイドに記載していますので、あわせて参照していただき、サービス開発チームの全員がデータストアの設定を正しく理解できるよう活用してください。


※ このドキュメントはクリエイティブコモンズ(Creative Commons) 4.0 の「表示—継承」に準拠しています。

※ このドキュメントに記載されている会社名、製品名は、各社の登録商標または商標です。

© 2021 TIS Inc.