AWSで海外リージョンにVPNサーバを立ててBBCの動画配信サービスを利用したかった話
BBC iPlayerというサービスをご存じだろうか。
イギリスの国営放送局であるBBCが運営する動画配信サービスである。
このサービスを利用すると、BBCで放送された番組が無料で見られるという話を聞いて意気揚々とアクセスしてみたのだが、以下のようなエラーが表示され門前払いされてしまった。
BBC iPlayer only works in the UK. Sorry, it’s due to rights issues.
BBC iPlayerはイギリス以外ではご利用できません。
悔しい。インターネットには国境はないのではないか。
(この部分は色々な主義主張があると思うので深くは踏み込まない)
そこでどうにかしてこの国境を超える方法を考え実行に移した記録が本記事である。
1. 概要と結論
AWSサービスの一つである、「Lightsail」を利用してロンドンリージョンにVPNインスタンスを構築した。コストは月額制で$3.5/月。業者のVPNサービスを契約するよりも圧倒的に安い。しかも特に難しい設定なしでネットワークやストレージまで含めた構築がなされる手軽が魅力的である。
以下の手順で0からVPN接続までこぎつけたが、BBC iPlayerはBBCに加入している人以外の利用を禁止していることが発覚したため再生を断念した、というのが今回のオチである。尚以下の画像の通り国外接続のエラーは出なくなったので試み自体は成功している。
ちなみに海外リージョンにVPNを構築するという試みに関しては筆者が探した限り情報が見つからなかったため、類似の試みを思いついた人に向けてこの記事を残そうという意味合いもある。
2. 事前準備
準備段階で用意しておくものはクレジットカードのみである。
あと、作業の前にOpenVPNをインストールしておくと接続確認がスムーズに行える。
3. AWS初期設定
基本的に上の記事の通りに進めていけばよい。続きの記事については特に今回は関係ない。
記事と異なる設定を行った部分について記載していくと、
①IAMユーザーに付与する権限は「AdministratorAccess」ではなく「IAMFUllAccess」
②エンドポイントの無効化の際にアジアパシフィック (東京)に加えて欧州(ロンドン)を有効化のままに
③IAMユーザーアカウントでの再ログイン後、IAMアカウントに対してもMFAの有効化設定を実行
を行っている。
①については、「AdministratorAccess」で付与される権限が多すぎるため、万が一不正利用されると被害が大きくなることを嫌ったための変更である。
IAMFullAccessがあればとりあえず必要な権限を後から追加できるので十分という判断である。
ただしそもそもIAMFullAccessつけていたら不正アクセス先からどうとでもできてしまう気もしなくはないので、この部分はお好みで。
②については正直よくわかっていないが、とりあえず今回サーバを立てるリージョンは有効化しておいた方が処理速度が上がるのでは?という判断である。ここもお好みで。
③についてはrootアカウントに二段階認証を付与したのと同様のセキュリティ対策である。
あとIAMアカウントでのログイン方法を補足しておくと、途中でダウンロードしたCSVファイルにあるURLを叩き、ファイル中のUser nameとPasswordに記載されている内容を入力すればよい。
4. AWS Lightsail上でのVPNサーバ構築
IAMユーザーとしてログインし直した所で、まずはLightsail使用に必要な権限を付与する。
準備が整ったらマネコンのトップページ検索バーにて「Lightsail」と入力し、以下の記事の通りに進めていく。
この際に、インスタンスロケーションを「ロンドン」に変更すること。ここを東京のままにするとVPNサーバが国内に構築されてしまうため、注意が必要である。
また、ポートの番号を変えると接続できなくなってしまうことにも留意されたい。
5. VPNサーバへの接続
サーバ設定の最後にダウンロードする設定ファイルであるが、ダブルクリックで解凍できないタイプの圧縮ファイルのためひと手間必要となる。
ダウンロードしたファイルが存在するフォルダへの移動後、下の記事の「エクスプローラからコマンドプロンプトを起動する」にしたがってコマンドプロンプトを起動し、以下のコマンドを実行する
tar -xzvf [ダウンロードしたファイル名].tar
コマンド実行後、フォルダ内に.ovpnファイルが追加されているはずなので、右クリックして「start openvpn on this config file」を実行する。
成功すると画面下部の「Bytes in: out:」の部分の数字が変化する。
最後にfast.comなど接続元のクライアントの所在地が分かるサービスにて確認すると、確かにロンドンから接続していることになっている。
日本からイギリスへの通信となっているため、やはり遅延は大きいことが分かる。
最後にツールバーのOpenVPN GUI(鍵マークのついたモニタアイコン)を右クリックし、サーバー名のリボン→「切断」ボタンを押してVPNサーバから切断する。
これを行わないとずっとVPN経由でのインターネット接続となるため、速度が遅くなる上通信量が1TBを超えるとAWSから追加の請求がやってくるため気をつけてほしい。
尚、上でダウンロードしたovpnファイルを移動し所定のアプリで開くことでiPhoneやAndroidでもVPN接続が可能となる。
6. 終わりに
AWSの初期設定から接続確認までの所要時間は約2時間といったところであった。
元々の目的は法律という壁に阻まれてしまい達成できなかったが、知識が特になくてもVPNサーバがサクッと立てられることが分かったのは大きな収穫であった。
海外旅行前に旅行地近辺のリージョンにVPNサーバを立てておけば安心してフリーWi-Fiに接続できるだろう。ワンコインでセキュリティが買えるとは素晴らしい時代になったものだとつくづく実感する。
最後に、本記事を書くにあたって新規にAWSアカウントを取得したものの上手い使い方が思いつかないので、誰かアイデアをください。