Amazon Drive US 版に登録してみた

自宅に設置してある NAS のディザスタリカバリ的なバックアップ用途や、消えても構わないが捨てるのも気が引けるデータ(ほとんどが録画したけど見てないアニメだな…) などなど、それらを置いておけるクラウドストレージを探しておりました。

Amazon Drive の US 版が容量・速度・価格の面で良さそうだったので、試しに登録してみました。.co.jp じゃなくて .com のほうです。

https://www.amazon.com/clouddrive/home

Mac や Linux の環境で、スクリプトからファイルアップロードを行うことを想定して、 rclone を使って簡単にアップロード速度の面などを観察してみました。

Amazon Drive 無制限ストレージ

年間 59.99 ドル、一ヶ月あたり 5,6 百円で容量無制限のストレージが手に入るのは素晴らしいのではないでしょうか。 容量に関しては、ネットで調べて出て来る情報では、実際は上限 100TB だという情報もあるようですが、個人的には恐らくそこまで使い込むことは無いでしょう。十分すぎる容量です。

なぜ US 版?

Amazon.co.jp でも容量無制限のストレージを提供していますが、年間の利用料が 1万3800円 となぜか US 版より高いという。🤔 地理的な面で .co.jp のほうが速いのではないかとも思ったのですが、どうやら US 版と場所は同じらしい情報もあり。 完全に値段で選んでしまいましたw 3ヶ月間の無料体験期間があるので気軽に登録。

ブラウザでの表示は US 版であるにもかかわらず自動的に日本語で表示され、操作の面でも不自由は特にありません。 注意するのは Amazon.com のアカウントを新たに取得する必要があるくらいでしょうか。既に AWS なんかで .com アカウントを使っていれば、そのアカウントで良いと思います。

rclone から使ってみる

rclone は各種クラウドストレージをコマンドラインから操作できるツールです。rsync のクラウドストレージ特化版といったところでしょうか。AmazonDrive だけでなく、S3 や Google Drive など様々なサービスに対応しているようです。

http://rclone.org/

まずは設定

rclone config コマンドで設定を行います。今回は AmazonCloudDriveUS という名前で config を作成してみました。 (設定方法の詳細はここでは割愛 🙏)

% rclone config
2016/10/09 17:39:28 Failed to load config file "/Users/user/.rclone.conf" - using defaults: open /Users/user/.rclone.conf: no such file or directory
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> AmazonDrive.com
Can't use "AmazonDrive.com" as it has invalid characters in it []
name> AmazonCloudDriveUS
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
   \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
   \ "s3"
 3 / Backblaze B2
   \ "b2"
 4 / Dropbox
   \ "dropbox"
 5 / Encrypt/Decrypt a remote
   \ "crypt"
 6 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
 7 / Google Drive
   \ "drive"
 8 / Hubic
   \ "hubic"
 9 / Local Disk
   \ "local"
10 / Microsoft OneDrive
   \ "onedrive"
11 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
12 / Yandex Disk
   \ "yandex"
Storage> 1
Amazon Application Client Id - leave blank normally.
client_id>
Amazon Application Client Secret - leave blank normally.
client_secret>
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> y
If your browser doesn't open automatically go to the following link: http://127.0.0.1:53682/auth
Log in and authorize rclone for access
Waiting for code...
Got code
--------------------
[AmazonCloudDriveUS]
client_id =
client_secret =
token = {"access_token":"XXXXXXXXXXXXXXXXXXXXX","expiry":"2016-10-09T18:40:44.386065327+09:00"}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y
Current remotes:

Name                 Type
====                 ====
AmazonCloudDriveUS   amazon cloud drive

e) Edit existing remote
n) New remote
d) Delete remote
s) Set configuration password
q) Quit config
e/n/d/s/q> q

ディレクトリ一覧の取得/作成をしてみる

ディレクトリを一覧で取得するには lsd サブコマンドを使うようで、ls で何も出てこなくて最初ハマりました。 まだ Cloud Drive に対して何も操作を行っていないので、Amazon Drive にデフォルトで存在するディレクトリだけが一覧に出てきていますね。

% rclone lsd AmazonCloudDriveUS:
          -1 2016-10-09 08:31:14        -1 Pictures
          -1 2016-10-09 08:31:14        -1 Documents
          -1 2016-10-09 08:31:14        -1 Videos
2016/10/09 17:50:04
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        1.7s

試しにディレクトリを作ってみる。lsd で確認すると一覧に現れ、mkdir できているのが確認できました。

% rclone mkdir AmazonCloudDriveUS:testdir
2016/10/09 17:50:44
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        2.5s
% rclone lsd AmazonCloudDriveUS:
          -1 2016-10-09 08:31:14        -1 Pictures
          -1 2016-10-09 08:31:14        -1 Documents
          -1 2016-10-09 08:31:14        -1 Videos
          -1 2016-10-09 08:50:44        -1 testdir
2016/10/09 17:50:47
Transferred:      0 Bytes (0 Bytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:        1.6s

1GB のファイルを転送してみる

dd で 1GB のファイルを作成して、copy コマンドで Cloud Drive にアップロードしてみた。 copy や sync コマンドでの転送中は、1分おきにログが出力されるようです。

% dd if=/dev/zero of=1gfile bs=1024k count=1000
1000+0 records in
1000+0 records out
1048576000 bytes transferred in 2.733136 secs (383653039 bytes/sec)

% rclone copy 1gfile AmazonCloudDriveUS:/
2016/10/09 17:57:47 amazon drive root '': Waiting for checks to finish
2016/10/09 17:57:47 amazon drive root '': Waiting for transfers to finish
2016/10/09 17:58:47
Transferred:   235.719 MBytes (3.826 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:      1m1.6s
Transferring:
 *               1gfile: 23% done. avg: 4089.1, cur: 5097.7 kByte/s. ETA: 2m33s

2016/10/09 17:59:47
Transferred:   552.812 MBytes (4.546 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:      2m1.6s
Transferring:
 *               1gfile: 55% done. avg: 4755.8, cur: 5409.0 kByte/s. ETA: 1m24s

2016/10/09 18:00:47
Transferred:   870.219 MBytes (4.792 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:            0
Elapsed time:      3m1.6s
Transferring:
 *               1gfile: 87% done. avg: 4977.4, cur: 5428.3 kByte/s. ETA: 24s

2016/10/09 18:01:17
Transferred:   1000 MBytes (4.720 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:            1
Elapsed time:     3m31.8s

1ファイルあたり 5MB/s 前後の速度でアップロード出来ているようです。 rclone は複数ファイルの入ったディレクトリを sync する際に複数ファイルを並列同時でアップロード可能で、デフォルトでは 4 並列でアップロードが行われます。 4つのファイルそれぞれが 5MB/s でアップロードされ、Transferred の項目にはトータルで 20MB/s という値が出てきました。なかなかの速度ではないでしょうか。

まとめ

今のところ、転送の失敗などの不具合はなく、rclone sync を使った差分同期でバックアップスクリプトが動かせています。 ということで、Amazon Drive US 版に登録し、 rclone をクライアントにして使ってみたという話でした。この2つの組み合わせオススメです!

参考にしたサイト

設定方法など大変参考になりました。ありがとうございました m(__)m

https://blog.yuhisa.com/archives/4900

2017.01.15 追記

先日3ヶ月の試用期間が終わり、年間の利用料の請求が行われました。税込みで $64.79 でした。


comments powered by Disqus