あきれるぐらいにAmazon Cloud Driveの記事を書き続けていますが、今回も。
Amazon Cloud Driveからプロバイダの間の転送速度があまりにも遅いのです。
日本国内の回線からアメリカの東海岸へ直接取りに行くのは辛すぎます。
というわけで、nginxでアメリカ西海岸にリバースプロキシを立てて高速化を企ててみます。
nginxのインストールと設定
まずはnginxのインストールから、epelリポジトリを先に入れておきます。
# yum install epel-release
# yum --enablerepo=epel install nginx
設定ファイルを作成します。
ファイルの名前と場所は/etc/nginx/conf.d/acd-na.example.com.confとしました。
server {
server_name acd-na.example.com;
proxy_set_header Host $http_host;
proxy_redirect off;
location / {
proxy_pass https://content-na.drive.amazonaws.com;
}
}
nginxを起動します。
# systemctl start nginx
クライアント側のhostファイルを編集
クライアントのhostファイルをこんな感じ編集してリバースプロキシにつながるようにします。
リバースプロキシのIPアドレス acd-na.example.com
ダウンロードリンクの書き換え
ダウンロードで発行されるリンクのホスト名を「content-na.drive.amazonaws.com」から
「acd-na.example.com」へと書き換えます。
※書き換えるのが面倒な場合は、hostファイルでcontent-na.drive.amazonaws.comを
リバースプロキシのIPアドレスに向くように設定しておき、nginxの設定をcatch_allにすれば
接続がリバースプロキシ経由になりますが、ほかの部分で不具合が出るかもしれません。
結果
リバースプロキシ経由前:340KB/s(2.72Mbps)
リバースプロキシ経由後(北米・西海岸経由):580KB/s(4.64Mbps)
劇的な改善……とはいかなかったものの、割と実用的な速度に向上しました。
国内(ConoHa)に立てた場合…
リバースプロキシ経由前:340KB/s(2.72Mbps)
リバースプロキシ経由後(北米・西海岸経由):580KB/s(4.64Mbps)
リバースプロキシ経由後(国内・ConoHa東京経由):620KB/s(4.96Mbps)
西海岸との差はほぼ同じか少し良い程度って感じでしょうか
経由前とConoHa経由後ではConoHa経由後のほうが速度が向上しています。
やっぱり、Amazon Cloud Driveのダウンロードスピードが遅いうえに
プロバイダとの接続性が悪いみたいです……。
快適に使えている人のプロバイダをこっそり教えてほしいものです。