いまだに Windows でしか動かない自動化はたくさんあります。取引ターミナル、Linux 版のないデスクトップツール、マクロソフト、何年も前にコミュニティが C# で書いたあのボット。そして多くのサービスは、いまも IP で誰を信頼するかを決めています。アドレスに固定された取引所の API キー、許可リスト付きのパートナーのエンドポイント、固定ホストにコールバックする webhook などです。
この両方が当てはまるなら、専用のパブリック IPv4 を持つ Windows サーバーが必要です。それがこの構成です。
手に入るもの
専用 IPv4 付きの Windows Server 2022 VPS です。RDP は自分のアドレスの標準ポート 3389 で待ち受けます。Windows ファイアウォールで開いたポートは、すべてインターネットから到達できます。
合うプランは2つです。
| プラン | vCPU / RAM / ディスク | 料金 |
|---|---|---|
| Windows Small-IP | 4 / 4 GB / 50 GB | 月 $28 |
| Windows Medium-IP | 6 / 6 GB / 60 GB | 月 $36 |
ボット1〜2個なら Small-IP が正解です。Windows はアイドル時に約 2 GB の RAM を使うので、4 GB のうちソフトウェアに残るのは約 2 GB です。ターミナルや .NET のボットには十分ですが、タブを多く開く Chromium ベースの自動化には窮屈です。そこで Medium-IP の追加 $8 が活きてきます。
サーバーに外部から到達する必要がなく、誰もそのアドレスを許可リストに登録しないなら、Windows の NAT プランのほうが安く(月 $11 から)、個人用ポートで RDP を使えます。必要のない IP にお金を払う必要はありません。
ライセンス
イメージはライセンス持ち込み型の Windows Server 2022 です。初回ログイン後に自分のキーでアクティベートし、再インストール後にもう一度アクティベートします。エディション、アクティベーション、更新など OS そのものについては Windows Server のページにまとめています。このページでは、ボットを動かし続ける方法を扱います。
ボットを止めないために
Windows で「夜中にボットが止まった」という話の多くは、3つの原因に行き着きます。
切断ではなくサインアウトしてしまう。 RDP のウィンドウを閉じるとセッションは切断され、プログラムは動き続けます。Sign out(サインアウト)を選ぶとプログラムは終了します。ウィンドウを閉じるだけにする習慣をつけましょう。
起動時に開始しない。 Windows は再起動します。更新のため、再インストール後、メンテナンス後などです。ボットがマシンと一緒に起動するようにしてください。コンソールプログラムなら、トリガーを At startup にし、Run whether user is logged on or not を設定したスケジュールされたタスクで対応できます。
$a = New-ScheduledTaskAction -Execute "C:\bots\mybot.exe" -WorkingDirectory "C:\bots"
$t = New-ScheduledTaskTrigger -AtStartup
Register-ScheduledTask -TaskName "mybot" -Action $a -Trigger $t -User "SYSTEM" -RunLevel Highest
デスクトップが必要な GUI プログラムはもう少し厄介で、ユーザーがログインしたセッションが必要です。その場合は専用ユーザーの自動ログオンを有効にし、そのユーザーのスタートアップフォルダーからプログラムを起動してください。
都合の悪いタイミングでの更新。 Windows Update の Active hours(アクティブ時間)を、ボットが最も忙しい時間帯をカバーするように設定すれば、その最中に再起動が入ることはありません。
IP について
IPv4 はサーバーが存在する限り、再インストール後も変わりません。まさに許可リストに必要な性質です。取引所の API キー設定に登録すれば完了です。パートナーが一致する逆引き DNS 名を求める場合は、ダッシュボードで自分で設定できます。別のボットやサービス用に2つ目のアドレスが必要なら、同じサーバーに月 $5 で追加できます。IP アドレスの変更を参照してください。
あらかじめ考慮しておきたい制限が2つあります。Windows プランのポートは 150 Mbit/s で、トラフィックの上限はありません。API ボットには十分です。詳しくはトラフィックとネットワーク速度をご覧ください。また、送信メール用のポート 25 と 465 はすべてのプランで初期状態では閉じています。メールを送るボットは、メールサービスの 587 番ポート経由で送信してください。
支払いと開始
メールアドレスで登録し、USDC、USDT、BTC などの暗号資産で支払うか、チェックアウト時にカードで暗号資産を購入します。サーバーは通常、支払いから数分で準備が整い、Administrator のパスワードはダッシュボードに一度だけ表示されます。パスワードをなくしたり、ファイアウォールのルールで締め出されたりしても、パスワードのリセットとウェブコンソールを使えば、チケットなしで再びアクセスできます。初回ログインは RDP での接続で、ボットが取引をするなら 暗号資産取引用 Windows VPS でターミナルとレイテンシーをさらに詳しく解説しています。
コメント
まだコメントはありません。最初になりましょう。