Google Cloud Shellでrcloneを使用する

Google Cloud Platformには様々なサービスがあり、ほとんどが有料です。
しかし、アプリの実行環境のApps Engineなど一部機能は無料で提供されています。

実は、この無料サービスの中には、ベータテスト中のサービスもあります。
その中の一つがGoogle Cloud Shellで、2016年末まで無料で使用できます。

Google Cloud Shellは、ブラウザ上で使用できるDebianベースのLinux環境です。
Gitやエディタなどの基本的なツール、Google Cloud SDKなどがプリインストールされています。
個人で使用可能なストレージも5GB用意されており、ソフトウェアの実行には十分な性能
そして、Googleの持つ高速な通信回線を利用することができます。

クラウドストレージの同期ツールrcloneはとても便利な反面
個人の回線で使用するにはダウンロード・アップロードの転送が可能な回線が必要になります。
そこで、Google Cloud Shellの登場です。

Googleとクラウドストレージ側の環境や設備に依存しますが
個人の回線より、高速で安定したファイルの転送が可能になります。

自分の環境では、Google Drive(120Mps)に比べAmazon(9Mbps)への転送は非常に遅いです。
このため、高速な転送ができるGoogle Driveの転送用フォルダに一時的に保管し
そこから各ストレージに転送するようにしています。

Google Cloud Shellの使用方法

Google Cloud ShellはGoogle Cloud Platformのサービスとして提供されているので
Google Cloud Platformのダッシュボードを開きます。

Google Cloud Platform

Google Cloud Platform

Google Cloud Platformを初めて使用する場合は、プロジェクトの作成が必要になります。
今回はプロジェクト名をMy Projectとします。
プロジェクトIDは自動的につけることもできますし、自分で選ぶこともできます。
規約に同意し、作成をクリックします。

Google Cloud Platformのプロジェクト作成画面

Google Cloud Platformのプロジェクト作成画面

プロジェクトが作成されると、ダッシュボードに自動的に戻ります。
これでGoogle Cloud Shellが使用可能な状態になりました。

メニューバーのプロジェクト名の横にあるコンソールボタンをクリックすると
Google Cloud Shellを起動することができます。

メニューにあるコンソールボタン

メニューにあるコンソールボタン

初回は環境の作成と起動までに20秒ほどかかりますが、次回以降は数秒で起動するようになります。
マシンの起動が完了すると、ログインされた状態になっています。

マシンの準備が完了すると、自動的に接続する

マシンの準備が完了すると、自動的に接続する

rcloneのインストール

基本的にはLinuxで使用する方法と同じです。

wget http://downloads.rclone.org/rclone-v1.32-linux-amd64.zip
unzip rclone-v1.32-linux-amd64.zip

ホームフォルダ名はユーザー名とは異なることがあるので、pwdコマンドで調べておきます。

pwd

コマンドがそのまま使えるように、.bashrcを編集してパスを通します。

vi ~/.bashrc

# 最下部にパスの設定を追加
PATH="$PATH":/home/(username)/rclone-v1.32-linux-amd64

あとは通常のrcloneを使用するようにコマンドから呼び出すことができます。
回線環境にもよりますが、3GB程度のバックアップをGoogleDriveからAmazonへ転送した時には
30MByte/s(240Mb/s)もの速度で転送することができました。

ただ、あまり長い転送ジョブだと、コンソールセッションが切れてしまうことがあるので
移動したつもりで終了していた、ということのないように、コピー転送がいいでしょう。

10GBほどの転送に使用しましたが、今のところ制限なく使用できています。
2016年も半分となりましたが、あと半年は無料で利用できるので活用していきたいと思います。