MT5 Administrator資格範囲その12 - Access Serverの設定

MT5 Administrator資格範囲その12 - Access Serverの設定

今回は、Access Serverの個別設定を取り上げます。

Access Serverは、ユーザとTrade Serverの間に立って通信の橋渡しを行うServerであり、これまで見てきたTrade ServerやHistory Serverのセキュリティにも深く関わる存在です。接続の可否や優先度、DoS攻撃等に対する防御設定など、プラットフォームの安定稼働を支えるための要となる設定が数多く含まれています。*1

*1このシリーズでは、「Server」はソフトウェアを構成する各要素の呼称を表す際に、「サーバ」はハードウェアとしてのサーバを指す際に用いています。

Access Serverの概要

Access Serverは、ユーザ(クライアント端末)とTrade Serverの間の中継ポイントのような役割を担い、Trade ServerやHistory Serverともやり取りを行っています。

MetaTrader 5プラットフォームにおけるAccess Server MetaTrader 5プラットフォームにおけるAccess Server

Access Serverは具体的には以下のような役割を担います。

  • ・ ユーザからログイン等のリクエストを受け取り、Trade Serverに中継
  • ・ 接続状況を監視し、不正アクセスや過負荷の兆候を検出して遮断
  • ・ プライスデータやニュースをキャッシュし、History Serverの負荷を軽減
  • ・ クライアント端末へLiveUpdateを提供

こうした役割から、Access Serverは「ネットワークの入り口」として、セキュリティと安定性の要であるともいえます。1台のみの場合、万一の障害時にシステム全体が止まってしまうリスクや負荷が集中するリスクがあるため、複数台を用意することが基本とされています。

それでは以降では、Access Serverの個別設定をそれぞれ見ていきます。

「アクセス」タブ

「アクセス」タブでは、どの接続を通すか、どこまで許容するかといった接続ルールを定義します。

ここが疎かですと、過剰接続や不正アクセスからTrade Serverを守れなかったり、接続の振り分け(ロードバランス)が上手くいかなかったりするため、Access Serverの個別設定の中で特に注意したい部分です。

アクセスタブ アクセスタブ
番号 説明
1 Access Serverの接続優先度を0〜15で設定します。 数値が小さいほど優先的に接続されます。*1*2
2 特定のIPアドレスから過剰な接続や操作があった際、一時ブロックする機能です。*3
下の「3」と「4」の設定によって動作します。
3 一定時間内に1つのIPアドレスから許可される接続の上限を設定します。
4 一定回数以上の接続エラーが発生した場合、そのIPアドレスを一時的にブロックするための最大エラー数です。
5 Access Serverに保存するニュースメッセージの最大数です。
6 Backup ServerがメインServerの状態を監視し、必要に応じて自動で切り替える設定です。

*1実際の接続の優先度は、ここで定める優先度と接続品質に基づいて計算され変動します。

*2「Idle」を設定すると、普段は使わず他が落ちたときだけに稼働する、予備のServerとして待機させることができます。

*3有効化が必須とされていますが、一部の検証用途や特殊な構成を想定して、無効化可能な仕様(チェックボックス形式)にしているとも考えられます。

以下には参考として、一部の設定の考え方を記載します。

「接続優先度」の設定

優先度の決定にはさまざまな要素がありますが、ここでは「地理的な位置関係」に着目し、2つの代表的な方針を紹介します。

ユーザとの遅延を最小化

1つ目の考え方では、ユーザ(クライアント端末)と物理的に近いAccess Serverに高い優先度を設定します。例えば、主要ユーザが日本在住なら東京のAccess Serverを優先させます。

この構成では、ユーザ体感のレスポンスが良くなります。例えば、チャート更新や板情報などをスムーズに受け取れるなど、操作感向上が期待できます。

Trade Serverとの遅延を最小化

一方、Access ServerとTrade Serverの距離を近くし、注文処理スピードを優先するという考え方もあります。

この構成では、Trade Serverと近い地域に配置されたAccess Serverに高い優先度を設定します。ユーザがVPSを利用してその地域に近い場所から接続する場合、注文を出してから約定されるまでの遅延が短くなるため、スキャルピングなどの実行速度が重要な戦略と相性が良くなります。

「接続許可数」と「接続エラー」の設定

「アクセス」タブの中でも、特に重要なのが「接続許可数」と「接続エラー」の2項目です。これらはDDoS等の攻撃かどうかの線引きを決める項目であり、セキュリティの強度とユーザの利便性のバランスを意識した運用が求められます。

「接続許可数」では、値を低く設定しすぎると通常のユーザも巻き込む可能性が高まりますし、「接続エラー」では、誤入力が起こることも想定した設定が必要です。状況に応じて調整やログ確認を行うのが理想的です。

「権限」タブ

「権限」タブでは、Access Serverに対してどの種類の接続を許可するかをチェックボックスで制御します。

権限タブ 権限タブ
番号 説明
1 クライアント端末からの接続を許可します。
2 マネージャ端末からの接続を許可します。
3 アドミン端末からの接続を許可します。
4 マネージャAPIを利用するプログラムの接続を許可します。
5 Web APIを利用するプログラムの接続を許可します。
6 有効にすると、端末側からはこのAccess Serverが見えない状態になります。ただし接続そのものは可能です。*1

*1緊急時や限定用途での接続口として利用するという使い方が想定できます。

上記の「1」から「5」の項目について、基本的に全てチェックONでも問題ありませんが、クライアント接続専用や管理専用などAccess Serverを用途別に分ける場合は、必要な項目だけ有効にできます。また、Web APIを提供しないという運用方針でしたらこの項目を無効にするなど、ブローカーの運用に合わせて設定することになります。

「サーバ」タブ

「サーバ」タブでは、このAccess Serverを経由してどのTrade Serverへ接続するかを選択します。例えば、接続経路の整理や特定Serverへの負荷分散など、運用方針や構成意図に応じて必要なものを有効にします。

サーバタブ サーバタブ
番号 説明
1 メインのTrade Serverへの接続について設定します。
2 セカンダリのTrade Serverへの接続について設定します。

まとめ

Access Serverは、クライアントとTrade Serverの接続を中継しつつ、セキュリティやリソース制御の第一線を担う重要なServerです。優先度設定やDoS対策、クラスタ監視などの機能を活用することで、安全性と安定性を両立した運用が可能になります。接続ルールや権限管理も含め、意図に合った構成で設計することが、快適な取引環境づくりの鍵となってきます。