Table of Contents
アメリカIPアドレス規制問題
IPアドレスってサーバーの所在地かと思いきや、GCPはすべてアメリカのIPアドレスになってしまうのでGCPを使ったBinanceのBOTはIPアドレス規制で封印されました。今後AWSとかも規制されてしまうのではないか?と思ったので、対策として日本国内のサービスConoha VPSへ引っ越します。Conoha VPSは安くて簡単なのでヨシです。
Bybitもアメリカが制限地域に入ってます。
サービス利用規約 セクション12.3に記載のとおり、Bybitでは、米国、中国本土、シンガポール、ケベック(カナダ)、オンタリオ(カナダ)、北朝鮮、キューバ、イラン、クリミア、ドネツク、ルハンシク、シリア、その他、当社が当社独自の判断でサービス提供を停止すると随時決定する可能性のあるその他の法域を含む除外された法域(以下「除外区域」という)において、サービスまたは商品を提供しません。お客様がこれらの除外区域の住民となった場合、またはいかなる顧客が除外区域に拠点を置くことを知り得た場合は、直ちに当社にお知らせください。お客様が居住地または所在地について虚偽の報告をしたということが判明した場合、当社はアカウントの即時解約および保有ポジションの決済を含む当該法域の法律を遵守するための適切な措置を取る権利を有するということをお客様は理解し、承認するものとします。また、米国財務省の特別に指定された国民またはブロックされた人物リスト、EU の統合された金融制裁リストまたは英国制裁リスト、またはリストにある個人または団体 (以下「禁止団体」) によって所有または管理されている (50% 以上) 団体、または禁止団体に関与するか、その他の方法で利益をもたらすサービスを提供する団体にもサービスを提供していません。 お客様は、この制限に準拠して、または関連する管轄の法律に準拠して、当社はアカウントの即時解約および未決済ポジションの清算などの適切な措置を講じる権利を留保することを理解しています
https://www.bybit.com/ja-JP/help-center/s/article/Service-Restricted-Countries
なのでGCPやAWSが使用不可能になることもありうることが想定されます。
もしかしたらGASも使えなくなるかもしれないので「はむとれ」も使えなくなるかもしれません。
日本国内のVPSも使えるようにしておこう
サーバーレスサービスが簡単に使えて便利でしたが、VPSは設置がちょっとめんどくさいです。知識もないので途方に暮れてますが、頑張っていきましょう。
今ある知識で頑張って考えたけどDockerを使えばいいんじゃね?という考えです。もっと簡単な方法あったら教えてください。
VPSへの接続はコンソールではなく専用ソフトのTera Termを使ってアクセスします。
VPSセットアップ手順
- Tera Termをインストールする
- filezillaをインストールする
- Conoha VPSのDockerアプリを契約する
- ファイルをfilezillaで転送する
- Tera TermでConoha VPSにアクセスする
- VPSでDockerを起動させる
Tera Termをインストールする
起動します。
デフォルトで進めます。
デスクトップにアイコンが設置されたので起動する
起動まで出来たら次いきます。
Conoha VPSの新規申し込み
【衝撃価格】1時間1.3円〜のConoHa VPS【512MBプラン】SSH Keyの追加する
セキュリティグループの追加の設定
3個追加してください。
追加を押す
ネームをクリックする
コピーしてテラタームのホストへ貼り付け
SSHの接続が完了
VPSにファイルをアップロードする
filezillaを使ってFTPでアップロードする。
参考:Conoha FTP
https://support.conoha.jp/v/sftpfilezilla
ダウンロードしてインストール
無料版使います
pemファイルを選択
エクスプローラーのアドレスをコピペしてローカルのディレクトリを選択する
右クリックからアップロード
アップロード完了
これでFile zillaでの作業は完了。
ctrl+cでコピー
alt + v でペースト
できるので以下のコマンドをコピペで入力する。
1 |
cd test |
1 |
cd app |
1 |
docker build -t my-flask-app . |
1 |
docker run -d -p 80:80 my-flask-app |
アクセスすると表示される。
テストアプリのサンプルコード
ファイル構成
app/
├── Dockerfile
├── app.py
└── requirements.txt
Dockerfile
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# ベースとなるイメージを指定 FROM python:3.9-slim-buster # 作業ディレクトリを指定 WORKDIR /app # 必要なファイルをコピー COPY requirements.txt . # 必要なライブラリをインストール RUN pip install --no-cache-dir -r requirements.txt # アプリケーションファイルをコピー COPY . . # ポート80番を公開 EXPOSE 80 # アプリケーションを起動 CMD [ "python", "app.py" ] |
app.py
1 2 3 4 5 6 7 8 9 10 |
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True, host='0.0.0.0', port=80) |
requirements.txt
1 |
flask |
おわりです
これでVPSにアプリをアップして公開まで出来ました。お疲れ様でした。
パスワード保護とパラメーター入力まで出来たのでこれをもとにTradingViewの待ち受けアプリ作れると思います。
BybitがGoogleのIPアドレス規制をしているためです。国内のVPSなら使…
自分のbotで使ってるAPIキーを使用しているんですが、 You have br…
pybit 最新版にコードを変更しました。コードとrequirements.tx…
お返事ありがとうございます。はい。pybit==2.3.0になっております。
コードはあっていると思います。rewuirements.txtは「pybit==…