クラウドサーバーのサムネイル

クラウドサーバー

クラウド活用してレポジトリの自動バックアップを用意する方法

アプリケーションの開発やWebページ制作に欠かせなくなったリモートレポジトリ。逆に、ダウンした時に困る状況でもあります。今回は、クラウド活用してリモートレポジトリの自動バックアップを用意する方法をご紹介します。

編集ノート:SERVERSUSでは、パートナーリンクからコミッションを得ています。コミッションが記事の意見や、サービスの評価に影響を与えることはありません。

開発にはなくてはならない存在になったリモートレポジトリ

Github、Gitlab、Bitbucketなどのリモートレポジトリサービスは、開発にはなくてはならない存在になりました。単純にGitでコードを管理するだけでなく、CI/CDと組みわせて、プロダクションにまで組み込まれているケースも多くなっています。

便利になって依存度が高くなってくると、心配になるのが「リモートレポジトリサービスがダウンしたり使えなくなったら?」というところ。

実際に、GithubやGitlabも障害は起こっており、Twitterなどで「今日の仕事終了」というコメントが大量発生する事態になっています。

リモートレポジトリのバックアップ方法

Google Source Repositoriesを使う

Google Cloudのサービスで無料で使うことが出来る「Google Source Repositories」は、Github、Bitbucketのレポジトリを監視して、自動でバックアップをする機能があります。

リポジトリをリモートとして追加する | Google Cloud

メインのレポジトリにPushがあると、自動でGit pullする仕組みなので、完全放置でバックアップが可能です。

ローカルやVPSでバックアップを取る

リモートレポジトリは「git pull」や「git clone」でデータを取得可能なため、ローカルやVPSなどのリモートサーバーにも簡単にバックアップが可能です。

例えば、自分の管理しているレポジトリのデータを同期するシェルスクリプトなど書いて、cronで実行すればローカルやリモートサーバーに毎日自動でバックアップを作成できます。

バックアップ用途であれば、AWSのEC2などをスケジュール起動させるようにすれば、コストを削減しつつバックアップを取れます。

クラウドストレージも活用してさらに保険をかけよう

ローカル、リモートでソースコードのバックアップが出来るなら、バックアップしたレポジトリファイルをZipで固めて、Dropboxなどのクラウドストレージにアップロードすれば、クラウドストレージに自動バックアップができます。

クラウドストレージは同じ名前でアップロードをすればバージョニングもしてくれるので、レポジトリのバックアップ先としても優秀です。

もし、クラウドストレージもリスクヘッジしたいなら、NextCloudなどのOSSのクラウドストレージを自前で運用するのもアリです。


ここまでで、

  1. Google Source Repositoriesに自動同期(正)
  2. ローカルやVPSで自動同期(副)
  3. クラウドストレージで世代バックアップ(予備)

の3重バックアップができました。

(1)がGoogleのサービスなので、(2)や(3)はGoogleではないサービスをそれぞれ別サービスで選べば、大規模な障害時でもどこかしらのバックアップにアクセスが出来るようになるため安心です。

この3つのバックアップ(正確には、Github、Gitlabなどのメインレポジトリも入れると4つのバックアップ)が全てダウンするような自体はレアケースなので、かなり障害に強いレポジトリのバックアップ体制が取れるかと思います。


価格は記載がある場合を除き、すべて税込みです。

関連キーワード

クラウドサーバーの新着記事