どんな記事?
AWS?・・なにそれ。
Cloud9?・・むずかしそう。
高そうだし、めんどくさそうだし、よくわからないし・・・
新しいものはメンドウでなかなか手が出せません。
ボクもそんな人間のひとりです。
もちろん、自動売買をイチから作成するにはPythonの勉強が必要ですが **最初の導入は驚くほど簡単です。**多分、10分あれば終わります。
勉強目的なら、最初の1年は無料で使うことができます。無料期間が過ぎても、月90時間なら200円くらいです。安いですね。
今回、FXのBOTを開発するにあたって、AWS Cloud9の環境を構築しました。
その際に、
- 気になって調べたこと
- 実際に行った手順
これらの情報をまとめましたので、興味がある方はぜひご活用ください^^
AWS Cloud9の情報あれこれ
新しいことを始めようと思うと、わからないことが多くてイヤになっちゃいますよね。とくにAWSは、他の月額サービスに比べるとコストがわかりづらか ったりします。
ちゃんと調べればむしろ、よくある月額サービスよりも安く済んだり拡張性が高かったりと、実はメリットが多いです。
AWSって?
AWSは、Amazonウェブサービスの略で、その名の通りAmazon社が運営しています。クラウドコンピューティングという何やらすごそうな業界で、マイクロソフトやIBMなどと〝一二を争う〟すごい会社 です。
具体的に何がすごいかというと、今回導入するAWS Cloud9に関していえば以下のような点です。
インターネットさえつながれば、どこからでも、どんなPCからでも、自動売買のシステムを作成したり管理することができる
自動売買を常に動かすということは24時間つねに動いているパソコンが必要なのですが、これを用意する必要がないんです。WindowsでもMacでもケータイからでも、(やろうと思えば)操作することができちゃうわけですね。すごい。
Cloud9って?
ウェブブラウザで開くことができる開発環境のことです。
- ブラウザのみでどのPCからでもコードを記述、実行できる
- JavaScript、Python、PHP、Ruby、Go、C++に対応している
- 複数人で同時に開発することができる
- 全員が同じ環境で開発することができる
- 手元のPCが貧弱でもあまり問題にならない
こんな特徴を持っています。よく分かりませんが、すごそうですね。
お金かかるの?
個人的に一番気になっていたのはコストです。
AWSって固定じゃないから分かりづらい。なんか中途半端に、「AWSは気づかないうちにとんでもない料金になる」みたいな情報を見ていたので、無駄に警戒していました。
でも、調べてみると、むしろ全然安くて最高です。
以下は、一番安い 構成にした場合の価格設定です。(手順は後述します)
- $0.0152/1時間
- $10.944/24時間を1ヶ月
つまり、月1,000円ちょっと で使えます。月に90時間くらいの勉強に使用するなら200円もしませんし、動かさなければお金はかかりません。自動売買を1つ回すくらいだったら、安い構成で十分だと思っています。
あと、いつまでやるのかは知りませんが、1年間の無料枠もあるようです。
24時間フル稼働で30日分(24×30=750)の無料枠がありますね。これを超えなければ1年間は無料で使うことができます。
何ができるの?
何ができるのか。
勉強さえすれば何でも出来ます。(多分)
- FXや仮想通貨の自動売買
- バックテスト
- ウェブから自動で情報収集
- 機械学習
など、よく耳にするようなことは大抵できます。
AWS本体も絡めると、もはやできないことの方が少ないんじゃないでしょうか。ロボットとか人工衛星とか言い始めます。一生懸命勉強して、最高のアイデアと情熱があれば、このあたりも活きてくるのかもしれません。(ボクはまったくもって興味ありませんが)
導入手順
さて、ここからは導入の手順です。
作業自体は、10分もかかりません。
具体的には、以下のページの3つの手順を踏むだけです。
AWSアカウントの作成
AWS Cloud9の開始方法:初めてのセットアップから、以下の手順でアカウントを作成します。
- Step1の「AWS アカウントを作成する」リンクをクリック
- 登録するメールアドレス、パスワード、ニックネームを入力
- アカウントの種類「パーソナル」に変更して、必要記入情報を入力
※すべて半角英数字 - クレジットカード情報を入力
- 電話による確認フォーム画面でセキュリティチェックを入力
- amazonから掛かってきた電話を取り、4桁の番号を入力
- ベーシックプラン(無料)を選択
必要に応じて、2段階認証なども 設定すると良いと思います。
AWS IAMユーザーの作成
上記の作業で作成したアカウントは、いわゆる「管理者アカウント」です。
AWSはセキュリティーの観点から「アクセス権限付きユーザー」を作成し、普段の運用を行うことを推奨しています。これがStep2のIAMユーザーです。
「セキュリティーなんてどうでも良いぜ」
という方は、この手順は飛ばしていただいて問題ありませんが、個人的には、クレジット情報が紐付いているので作成した方が良いと思います。
というわけで、IAMユーザーを以下の手順で作成します。
- 画面右上の「コンソールへログイン」をクリック
- AWSアカウント情報を入力してログイン
- 「セキュリティ、アイデンティティ、コンプライアンス」項目のIAMリンクをクリック
- 左にあるメニューの「ユーザー」をクリック
- ユーザーを追加ボタンをクリック
- ユーザー名を入力し、アクセスの種類を選択して次へ進む
※ 今回指定するアクセスの種類は以下の2つ- プログラムによるアクセス
- AWS マネジメントコンソールへのアクセス
- グループを作成する
※ 今回はStudyグループを作成して以下の権限(ポリシー)を与える- AWSCloud9Administrator
- AmazonEC2FullAccess
- 表示される最終確認画面で「ユーザーの作成」をクリック
- 作成完了画面に表示されているリンクをクリックして作成したユーザーで再ログイン
再ログインした先では、Cloud9とEC2以外にアクセスすると以下のように「Access Denied」と表示されます。
AWS Cloud9環境の作成
最後に、AWS Cloud9の環境を作成します。
- IAMユーザーでログインする
- 「画面左上のサービス > 開発者用ツール > Colud9」を選択
- 「Create environment」をクリック
- Name(何でも良い)とDescription(任意)を入力して「Next Step」をクリック
- Configure settingsを調整
- Environment type: Create a new instance for environment (EC2)
- Instance type: t2.micro (1 GiB RAM + 1 vCPU)
- Platform: Amazon Linux
- Cost-saving setting: Never
- 「Next step」をクリック
- 最終確認画面で問題なければ「Create environment」をクリック
自動売買に使用する場合は「Cost-saving setting」を「Never」に設定します。この設定にしないと、常時稼働することができません。
前述のコストの話は「Instance type」を「t2.micro」に設定した場合のことなので、ここを変更するとコスト増になります。ご注意を。
最後に、以下の設定も行っておくと良いようです。
最新のPython3.6を使用する際に、この設定が必要なようです。
- 記事をシェア