![見出し画像](https://assets.st-note.com/production/uploads/images/134210416/rectangle_large_type_2_55e464f1ed75ed4efca946d9b4e9536c.png?width=1200)
【C級botter道】9話:EC2環境にデプロイする方法の調査①
前回の記事では取引アルゴリズムをローカルPCで動作確認しました。
今回の記事では取引を24時間365日動かすためにAWS-EC2環境にデプロイするための方法を調査します。
デプロイの流れ
デプロイするためには主に下記の流れなのかなと勝手に妄想。
AWS環境にEC2環境を構築
EC2にGithubからコードをクローン
EC2にDockerコンテナを構築
アルゴリズムを起動
2~4に関してはローカル環境とあまり変わらないのかなと考えております。
ただ1.AWS環境にEC2環境を構築の部分がよくわかっていない(プライベートネットワーク?セキュア?)ので調査いたします。
今回はAWS公式ハンズオン動画を基に学習していこうと思います。
ハンズオン教材の選定
うろ覚えの知識ですが、AWS環境にサービスをリリースする際にはパブリック(外部から)とプライベートの環境を分けることが推奨されていた気がします。
上記を学習できそうな”Network編#1 AWS上にセキュアなプライベートネットワーク空間を作成する”を受講いたします。
![](https://assets.st-note.com/img/1708832882192-ZCUMEiw73Q.png?width=1200)
最終構成図
今回のハンズオンでの最終構成図は以下のようです。
![](https://assets.st-note.com/img/1708832993316-mlpAQ1cWT9.png?width=1200)
Availability Zone (a)はWebサーバーを立ち上げてそうなので、今回のbotには適さないと推察。
Availability Zone (c)がbotに適した環境だと思っています。恐らく、Pribate subnet-cのEC2(Internal)への接続(インバウンド)はSSH接続のみを許可、アウトバウンドはPublic Subnet-cのNAT gatewayを用いてインターネット空間へ出ていく設定になっているのかなと思います。
上記の推察を頭に入れつつ、ハンズオンを進めていきます。
今回の記事ではハンズオンの内容を参照しつつ、botに利用できそうな部分のみを抜粋していきたいと思います。
Bot用AWS環境
VPCの作成
まずはbot用のVPCを作成します。
マネジメントコンソールより、”VPC”を選択。
![](https://assets.st-note.com/img/1710639334093-tHUA65341y.png?width=1200)
続いて、”VPCを作成”をクリック。
![](https://assets.st-note.com/img/1710639465363-mulmVKT9mT.png?width=1200)
今回IPv4 CIDR(このVPCで使えるIPアドレスの範囲のようなもの)20.0.0.0/16と設定します。
※ハンズオンでは10.0.0.0/16を設定しています。
また、VPCの名前はmamuru_bot_vpcとします。
![](https://assets.st-note.com/img/1710639615606-BNPUKDw4tD.png?width=1200)
サブネットの作成
続きまして、サブネットの作成を行います。
今回は"Availability Zone C"に"Public Subnet-C"と"Private Subnet-C"を作成します。
VPCのサイドメニューから”サブネット”を選択し、”サブネットを作成”をクリックします。
![](https://assets.st-note.com/img/1710640782544-dUgcA98d00.png?width=1200)
サブネット作成画面に遷移しますので、VPCとしては先ほど作成した”mamuru_bot_vpc”を選択します。
![](https://assets.st-note.com/img/1710640886846-D9YlcNGQHA.png?width=1200)
まず最初に"Public Subnet-C"を作成します。
サブネット名:mamuru_bot_publicsubnet_c
アベイラビリティゾーン:ap-northeast-1c
IPv4サブネット CIDRブロック:20.0.1.0/24
![](https://assets.st-note.com/img/1710641042967-WhVRtxdC8i.png?width=1200)
連続でPrivate Subetを作成するために、”新しいサブネットを追加”をクリックする。
![](https://assets.st-note.com/img/1710641193256-CjTJqOQiuH.png?width=1200)
まず最初に"Private Subnet-C"を作成します。
サブネット名:mamuru_bot_privatesubnet_c
アベイラビリティゾーン:ap-northeast-1c
IPv4サブネット CIDRブロック:20.0.11.0/24
![](https://assets.st-note.com/img/1710641309628-uHbfBnqU3H.png?width=1200)
2つのサブネットが作成できたことが確認できます。
![](https://assets.st-note.com/img/1710641382657-DXXu5Aw0so.png?width=1200)
Intenet Gatewayの作成
続きまして、InternetGatewayの作成を行います。
これにより、VPCとインターネットとの間での通信が可能となります。
VPCのサイドメニューから”インターネットゲートウエイ”を選択し、”インターネットゲートウエイの作成”をクリックします。
![](https://assets.st-note.com/img/1710642032280-TweQyJgJii.png?width=1200)
”mamuru_bot_igw”という名前で作成します。
![](https://assets.st-note.com/img/1710642062825-FvpbBH1E4n.png?width=1200)
続いて、作成したインターネットゲートウエイを”mamuru_bot_vpc”にアタッチします。
![](https://assets.st-note.com/img/1710642152038-qGe7XGfNNp.png?width=1200)
作成された"mamuru_bot_igw"が”mamuru_bot_vpc”にアタッチされていることが確認できます。
![](https://assets.st-note.com/img/1710642186039-ZENZeaX6f7.png?width=1200)
一旦ここまでの状態を整理しようと思います。
構成できた環境は以下です。
![](https://assets.st-note.com/img/1710656267115-uQXOMvXG0t.png?width=1200)
まだネットワーク空間を定義したのみで、何もできない状態ですね笑
これからルーティングテーブルや、NAT、EC2を設置することでbotを動かせる環境にしていこうと思います。
まとめ
VPCの作成
サブネットの作成
インターネットゲートウエイの作成
次回はルーティングテーブル、NAT、EC2を作成していこうと思います。