以前の記事で、 VPSを活用するメリットについてご紹介しました。
しかしながら、そのスペックはほぼ最小限レベルといった印象で、
- 多くのEAを稼働させたい
- 複雑で処理の重いEAを稼働させたい
などの要望に対しては、スペック不足による処理の遅延が発生する恐れがあります。
せっかくネットワーク上の遅延を回避するためにXM社トレードサーバーと立地の近いロンドンリージョンにVPSを建てたのに
別要因で処理が遅延してしまうようでは、そのメリットが薄れてしまいます。
問題の解決策として、
- XM社VPSのスペックを上げる
- XM社VPSを複数台契約する
という案も検討しましたが、無料提供枠ではそれらは実現できず、
かつXM社VPSの提供ベンダであるBeeksFX社に直接申込をすると、かなり割高です。
上記背景から、今回の記事では、自分自身でロンドンリージョンにVPSを用意する手順(超概略ですみません)をご紹介します。
Contents
AWS EC2を利用する
VPSとは、いわばクラウド上に用意された自分専用のPC環境ですが、
昨今、クラウド環境のサービスの幅は非常に広く、かつ手軽に利用できる様になっていることから、自分自身でクラウド上にPC環境を用意することは意外と簡単にできるようになりましたが、
今回のようにクラウド上でインフラがほしいと思った場合に、真っ先に候補に上がるのは Amazon Web Service(AWS) です。
Amazon とは、オンラインショップでおなじみの、あの Amazon です。
Amazonは ITインフラ基盤を提供するクラウドサービス提供事業者としても全世界トップクラスの企業であり、今や多くの企業のIT基盤の土台部分としても当たり前に利用される程に広く深く浸透しています。
一方で個人用途でも気軽に使用できる簡単さを持ち合わせていますし、設定の幅も非常に柔軟です。 (このブログも、AWS上のサービスを使用して運用しています)
AWS EC2で要件を満たせるか?
機能要件
私の独断と偏見の基準になりますが、機能要件としては全てクリアできます。
- VPSのスペックを上げる
→「インスタンスタイプ」というもののグレードを変更することで、ミニマムで安いPCから高性能なPCまで数クリックで作成する事ができます - VPSを複数台持つ
→AWSの1アカウント内に、何台でも自分専用のPC環境を準備することが出来ます - 設置する国を指定する
→「リージョン」の設定により、ロンドンリージョンを選択することもできます。 - 無停止で稼働させ続ける
→自分でEC2インスタンスを停止しない限り、原則稼働し続けます
(ただしAWS上での大規模障害など、予期しない問題が起きる可能性は0ではない)
非機能要件
こちらも私の独断ですが、問題無さそうです。
- XM取引サーバーまでの通信速度
→問題ない。 後述。 - 構築手順が簡単
→比較的簡単。 日本語ナレッジも豊富。 - 運用管理の手間がない/少ない
→インフラ部分はAWS管理のため、サーバー死活監視などする必要がない。 - セキュリティ
→原則、自分が許可した以外の第三者はアクセスできないように設定できる。
初めて触る場合には多少の慣れは必要ですが、 手順を理解してしまえば10分程度でPC環境を手に入れることが出来ます。
XM社VPSも無料利用枠がありとても魅力的ですが、もしEAを幅広く運用していきたいと思われている方は
環境構築の選択肢としてAWS EC2を候補にしても良いと思います。
AWS EC2から XM取引サーバーまでの通信速度は速い?
ロンドンリージョン、 t3.mediumの EC2インスタンスを作成し、 MT5をインストールしXM取引サーバーに接続してみました。
結果は 4.34ms ( = 0.00434秒)。 XM社VPSと同等レベルで非常に高速に接続出来ていることが分かりました。
参考までに、日本の私の自宅PCから XM社取引サーバーまでは 257ms(=0.257秒)程度かかりました。
これは日本の自宅にあるPCにMT5をインストールして取引する場合と比較して50分の1程度の所要時間でサーバーに注文が発行できることになります。
AWS 費用は高い?
EC2費用
EC2は一部無料サービス枠もありますが、 基本的には有料で利用する前提になります。
有料前提で Beeks FX社に直接申込した場合の費用と比較してみます。
※AWSの方が選択できる条件が幅広いので、 BeeksFX社のスペックを基準とし、EAへの影響が大きいCPU数で対比します。 下記プラン以外でもAWSインスタンスタイプの選択肢は広く存在します
Beeks FX社プラン | AWS EC2(Windowsインスタンス、ロンドンリージョン、1$ = 110円換算) | ||||||
プラン名称 | 料金(月額) | CPU | メモリ | プラン名称 | 料金(月額) | CPU | メモリ |
ブロンズ | 4,750円 | 1 VCPU | 約 1.3GB | t3.micro | 1,718円 | 2 VCPU | 約 1GB |
シルバー | 8,550円 | 2 VCPU | 約 2.7GB | t3.medium | 5,368円 | 2 VCPU | 約 4GB |
ゴールド | 15,200円 | 4 VCPU | 約 5.1GB | t3.xlarge | 21,474円 | 4 VCPU | 約 16GB |
条件が完全一致するプランが存在しないため純粋なコスト比較ではないかもしれませんが、
Beeks社.ブロンズ > EC2.t3.micro
Beeks社.シルバー > EC2.t3.medium
Beeks社.ゴールド < EC2.t3.xlarge
Beeks社.ゴールド > EC2.t3.medium x 2
という結果になりました。
尚、 EC2は月額料金で表記していますが、年間契約(1年または3年)とすると、更に3割引以上安く調達することができます。
その他、AWS EC2の細かい料金が気になる方は、本家の料金表をご参照下さい。
EC2以外の費用
厳密には、 EC2 以外にもストレージ容量、データ転送量等、周辺で極々僅かな費用が発生する可能性がありますが、比率からするとEC2費用を意識しておけば問題ありません。
また、グローバルIP固定(Elastic IP発行)やその他周辺環境等を考慮すると、要求レベルによって構成と費用は千差万別のため、それらは考慮しないものとしました。
恐らく、それらを含めても十分安くなります。
EC2構築手順
巷のエンジニアの方々のブログ、公式ドキュメント等で多数紹介されていますので、詳細割愛致します。
大まかな流れとしては、
- AWS アカウントを発行する(持っていない場合)
- 支払用のクレジットカードを紐付ける
- ロンドンリージョンを選択
- EC2インスタンスを作成する
くらいですかね。
インスタンス作成手順は、公式ドキュメントもありますが、エンジニアの書かれたブログ等の方がわかりやすそうです。 こちら の記事等。
環境が完成したら、該当EC2インスタンスにリモートデスクトップ接続し、MT5環境を設定するだけです。
まとめ
自分自身がAWSを普段から利用していて敷居が低いことも影響しているかもしれませんが、AWS を使うのも悪くない というのが率直な感想でした。
今後、処理がどうしても重くなりがちなEAも出てきそうなので、そういった場合の選択肢としてEC2利用を検討していきたいと思います。