リバースプロキシを立ててAmazon Cloud Drive高速化を企む

あきれるぐらいに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のダウンロードスピードが遅いうえに
プロバイダとの接続性が悪いみたいです……。

快適に使えている人のプロバイダをこっそり教えてほしいものです。

You may also like...