スポンサーリンク

【初心者向け】容量30GBのスマホ無料バックアップサーバー構築方法

スポンサーリンク

スマホのバックアップを、無料で利用できるクラウドサービスがありますが、保存容量が少なかったり、怪しいサイトでないか不安ですよね。

今回の記事では、Google Cloud Platform(GCP)を使って、最大30GBの無料バックアップサーバーを構築する方法を、紹介します。

自分専用サーバーなので、安心して利用できます。

初子

こんにちは!初子です。

この記事では、ときどき、わたしが、優しく解説しますので、初心者にもわかりやすくしています。

よろしくお願いします。

スポンサーリンク

無料バックアップサーバー構築の概要

Google Cloud Platform(GCP)と、Syncthingというオープンソース(OSS)ソフトウェアを利用して、自分専用のバックアップサーバーを構築します。

GCPは、米国企業であるGoogle社が提供するサービスで、一定の利用範囲においては、無料で利用できる無料枠というものがあります。

Syncthingは、無料で利用できるOSSソフトウェアです。

主な解説内容は、下記となります。

  • GCPを使った無料サーバーの構築
  • GCPサーバーへSyncthingをインストール・設定する
  • スマートフォンへSyncthingをインストール・設定する

なお、Debian系のLinuxサーバーである、Debian,Ubuntuを利用している方を前提にしています

スポンサーリンク

GCPを使った無料サーバーの構築

まず、GCPを使って、無料の仮想サーバーを構築しましょう。

構築手順は、下記を参考にしてください。

ディスク容量を拡張する

GCPは、30GBまでのHDDが永久無料枠です。前述の手順では、OS領域+データ領域として10GBを利用しているため、残り20GBまで、無料枠となります。

容量を拡張する方法は、2つあります。

  • 既存の容量(10GB)を、30GBに拡張する
  • 既存の容量(10GB)と別に、専用のデータ格納領域として20GBを追加する

前者の方が、ギリギリまでデータ容量を使う事ができますが、OS領域として最低5GB程度必要となるため、実質的にデータ格納領域として利用できるのは25GBとなります。

初子

OS領域とデータ領域を、一緒にしてしまう場合(前者の30GBにする場合)は、万が一、データ領域が溢れてしまい100%の使用率になると、OSが起動・動作する為に必要な最低限の空き容量まで奪ってしまうため、最悪、リモート接続やOSが再起動できなくなります。もちろん、不要なファイルを削除して再起動する様に修復はできますが、初心者の方は難しい作業になるため、後者の専用のデータ格納領域を追加する方法が良いでしょう。

スポンサーリンク

GCPサーバーへSyncthingをインストール・設定する

Syncthingは、Windows、Linux、macOSなどの他、Android上でも動作します。

Syncthingユーザーの追加

Syncthingが動作する実行ユーザーを追加します。

$ sudo useradd syncthing --create-home -G sudo
$ sudo passwd syncthing
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

任意のパスワードを設定してください。

Syncthingのインストール

Syncthingをインストールします。

$ curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
$ echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
$ sudo apt-get update
$ sudo apt-get install -y syncthing
初子

apt-get update で、下記の様なエラーが発生する場合には、

E: The method driver /usr/lib/apt/methods/https could not be found.
N: Is the package apt-transport-https installed?

apt-transport-httpsというソフトウェアが不足していますので、まず、下記のコマンドを実行したあと、再度、apt-get updateコマンドからやりなおしてください。

sudo apt-get install apt-transport-https

Syncthingの初期設定

syncthingを仮実行します。

syncthingユーザに切り替えて、syncthingを実行します。

$ su - syncthing
Password: 
$ syncthing &
[monitor] 01:48:11 INFO: Default folder created and/or linked to new config
   :
[7XZ7Q] 01:48:12 INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
[7XZ7Q] 01:48:12 INFO: My name is "backup"
[7XZ7Q] 01:48:12 INFO: Completed initial scan of sendreceive folder "Default Folder" (default)

エラーが発生しない事を確認します。

初子

suコマンドは、コマンドを実行するログインユーザを切り替えるコマンドです。

スイッチユーザ(Switch User)という意味になります。

パスワードが効かれますので、先ほどsyncthingユーザを作成した際に設定したパスワードを入力しましょう。

ログインユーザの切り替えに成功した以降は、exitコマンドを入力するまで、切り替えたログインユーザでコマンドが実行されます。

この仮実行(初期起動)により、syncthingの設定ファイルが自動的に作成されます。

管理画面のアクセスポート番号を設定します。

そのままの設定の場合、サーバー内でしかアクセスが出来ないため、外部からアクセスできるように設定します。

syncthingユーザのままで、下記を実行してください。

$ cp ~/.config/syncthing/config.xml ~/.config/syncthing/config.xml_org
$ sed -i 's/127.0.0.1:8384/0.0.0.0:8384/g' ~/.config/syncthing/config.xml

自動起動するように設定します。

$ exit
$ sudo systemctl enable syncthing@syncthing.service
$ sudu shutdown -r now

ファイアウォールの設定する

ファイアウォールルールを作成します。

GCPコンソールのハンバーガーメニューの「ネットワーキング」カテゴリーから、[VPCネットワーク]-[ファイアウォールルール]を選択してください。

[ファイアウォールルール]メニューから、[ファイアウォールルールを作成]を選んでください。

Syncthingの管理者画面への接続するアクセス許可設定を行います。

名前は、[backupserver-allow-syncthingadmin]を設定してください。
ターゲットは、[syncthing]を設定してください。
ソースIPの制限は、[0.0.0.0/0]もしくは、ご自宅のIPアドレスを設定してください。
プロトコルとポートは、tcp:8384を設定してください。

[作成]ボタンをクリックして、ファイアウォールルールを作成してください。

仮想サーバーに、ファイアウォールルールを紐づけます。

GCPコンソールのハンバーガーメニューの「コンピューティング」カテゴリーから、[Compute Engine]-[VMインスタンス]を選択してください。

VMの一覧から、Syncthingをインストールする仮想サーバーを選択します。

「VMインスタンスの詳細」画面から、「編集」を選択します。

「ネットワークタグ」に、syncthingを設定してください。

「保存」をクリックしてください。


ここで設定した、[syncthing]のタグは、ファイアウォールルールで作成した、ターゲットと同じ値を設定する事で、ファイアウォールルールを、GCPサーバーへ紐づけることができます。

Syncthingの初期設定

管理者画面に、ブラウザでアクセスしてみましょう。

http://<サーバーのIPアドレス、または、ドメイン名>:8384/

初めて接続すると、パスワードを聞かれることなく、下記の警告画面が表示されます。

[設定]をクリックして、管理者画面へ接続するアカウント情報を設定してください。

[GUI]タブを選択します。

[GUI認証ユーザー名]に、任意のユーザー名を設定してください。ここでは、adminとしています。
[GUI認証パスワード]に、任意のパスワードを設定してください。
[GUIにHTTPSを使用する]は、設定してもしなくてもかまいません。


httpsとは、接続しているサーバが正しい事の証明や、通信経路を暗号化する事で、セキュリティを強化する事ができます。

独自ドメイン名の取得や、syncthingsの設定フォルダにある、https-cert.pem and https-key.pemを設定する必要があるので、初心者には少し難しい設定が必要です。

セキュリティの心配がある場合には、使用するポート番号(8384)を、独自の番号に変更したり、設定完了後に、フイアウォールの設定を無効化した方が簡単ですね。

スポンサーリンク

スマホアプリをインストール

GooglePlayサイトに、公式Androidアプリが公開されていますので、Androidスマートフォンへ、そのままインストールするだけで簡単にインストールできます。

残念ながらiPhone版は、公開されていません。

GooglePlayからアプリをインストールします。

GooglePlayから、Syncthingを選択して、インストールしてください。

初期設定を開始します。

インストールが完了したら、アプリを起動してください。

初期起動画面で、[続行]を選択してください。

バックアップする為に、記憶領域のアクセス許可を設定します。

[アクセス許可を付与する]を選択してください。

その後、[続行]を選択してください。


初期セットアップ時に、[バッテリー最適化]と[バックグラウンド実行]の確認ポップアップが表示されます。

どちらとも、後で設定できますが、このタイミングで設定することをおすすめします。

スポンサーリンク

自動バックアップ設定

バックアップ元(スマートフォン側)と、バックアップ先(GCPサーバー側)のSyncthingアプリのインストールが完了したので、これから、設定を行っていきます。

今回の設定は、スマートフォン側からGCPサーバー側への一方向の同期を説明しますが、Syncthingは、双方向の同期をおこなうことができます。

バックアップ元(スマートフォン側)からバックアップ先(GCPサーバー側)へ認識させる設定

バックアップ先(GCPサーバー)の識別情報を表示します。

Webブラウザで、GCPサーバーの右にあるメニューから、[IDの表示]を選択してください。

そうすると、下記のID番号と、それを示すQRコードが表示されます。

バックアップ元(スマートフォン側)からバックアップ先(GCPサーバー)を検出します。

スマートフォンアプリで、[デバイス]を選択してください。

右上のプラス記号[+]を選択してください。

デバイスIDの右にある[QRコードイメージ]部分を選択してください。

QRコード認識アプリが起動されますので、先ほどのGCPサーバー側の(Webブラウザに表示されている)IDのQRコードを読み取ります。※QRコード認識アプリがインストールされていない場合には、インストールが施されます。

名前には、認識のバックアップサーバー名を入力してください。

右上のチェック☑ボタンをおして設定を保存します。

デバイスが検出されるまで待ちます。

GCPサーバー側に、デバイス(スマートフォン側)が検出されるまでしばらく待ちます。

検出されると、Webブラウザに、下記の画面が表示されます。

表示されない場合には、スマートフォンアプリのメニューから再起動すると検出しやすくなります。

[+デバイスを追加]を、選んでください。

デバイス接続を許可します。

デバイスを追加する画面が表示されます。

デバイス名を、任意なわかりやすい名前に設定して、[保存]を選択してください。

デバイス接続が完了するまで待ちます。

デバイスが接続されると、[接続デバイス]欄に、接続デバイスのIPアドレスが表示されます。

これで、バックアップ元(スマートフォン側)が、バックアップ先(GCPサーバー側)に検出されたことになります。

バックアップフォルダーの設定

スマートフォンで撮影した、カメラ画像を、バックアップ対象にする設定をおこないましょう。

バックアップ元のフォルダーを設定します。

スマートフォンアプリで、[フォルダー]を選択してください。

右上のプラス記号[+]を選択してください。

名前には、任意のフォルダー名を入力してください。上記の場合、cameraにしています。
フォルダー名を選択してください。スマートフォンの写真保存先フォルダーを指定しましょう。

右上のチェック☑ボタンをおして設定を保存します。

バックアップ元のフォルダーが検出されるまで待ちます。

バックアップ元のフォルダーがバックアップ先(GCPサーバー側)に検出されるまでしばらく待ちます。

検出されると、Webブラウザに、下記の画面が表示されます。

表示されない場合には、スマートフォンアプリのメニューから再起動すると検出しやすくなります。

[追加]を、選んでください。

バックアップ元のフォルダーを許可します。

フォルダーを追加する画面が表示されます。

フォルダーパスを設定して、[保存]を選択してください。ここでは、/home/syncthing/cameraとしています。

バックアップ元のフォルダーの同期が開始するまで待ちます。

バックアップが開始すると、[フォルダー]欄に、「同期中」が表示されます。

スポンサーリンク

まとめ

Syncthingは、Linuxやスマホ以外にも、WindowsやmacOSなども対応しています。

インターネット上に、サーバーを要しなくても、windowsやmacOSへバックアップすることや、双方向でファイルを共有できる便利なソフトウェアです。

今回は、GCPサーバー上に構築しましたが、無料枠を超過するような方は、自宅の大容量NASへバックアップするなどもできますので、非常に経済的と思います。

コメント