![見出し画像](https://assets.st-note.com/production/uploads/images/141049987/rectangle_large_type_2_0121d731f542edf08a4c593dde3f37b1.png?width=1200)
【C級botter道】10話:EC2環境にデプロイする方法の調査②
大変お待たせいたしました。
ちょっと本業が忙しすぎて全然更新できておりませんでしたが、C級botter道を再開したいと思います。
前回の記事
前回の復習
約2ヶ月ほど期間が空いてしまいましたので、前回の復習から始めたいと思います。(私の頭の整理でもありますが、、)
前回まではアルゴリズムをAWS-EC2にデプロイするための環境構築を行なおうとしておりました。
また、環境構築の参考として、下記公式のAWSハンズオンを視聴しつつ手を動かしておりました。
![](https://assets.st-note.com/img/1716015433421-zfZHyV9mw6.png?width=1200)
そして、実際に作成できたのが以下の認識です。
VPC(mamuru_bot_vpc)
![](https://assets.st-note.com/img/1716015519588-CoOuyeLxR8.png?width=1200)
サブネット(mamuru_bot_publicsubnet_c, mamuru_bot_privatesubnet_c)
![](https://assets.st-note.com/img/1716015830425-Tqu4f6jseY.png?width=1200)
IGW(mamuru_bot_igw)
![](https://assets.st-note.com/img/1716015996795-yqMfBeiarK.png?width=1200)
VPC、サブネット、IGWの3つを作成いたしました。
そして現在のアーキテクチャが下記の認識。
![](https://assets.st-note.com/img/1716016071208-4wdjuA1ue3.png?width=1200)
今回はNATならびにprivate-subnetにEC2を設置していこうと思います。
NATの設置
そもそもなぜNATを設置するのか?
→private subnetに設置したEC2からインターネットに接続したいため。
逆にいうと、インターネットからEC2には直接接続できないようにしたい。
![](https://assets.st-note.com/img/1716016551823-0L1TnwyG1T.png?width=1200)
EC2の設置
それではまずprivate-subnetにEC2を設置していこうと思います。
今回は”mamuru_bot_ec2_privatesubnet_c”という名前でEC2を作成します。
![](https://assets.st-note.com/img/1716017295545-pLDIyfXkXo.png?width=1200)
![](https://assets.st-note.com/img/1716017341823-5jD9ZC18cF.png?width=1200)
![](https://assets.st-note.com/img/1716017361628-Xuaf4Icw5q.png?width=1200)
正直よくわからないですが、”パブリックIPの自動割り当て”はONにしておきます。
![](https://assets.st-note.com/img/1716017483927-FgQR6UMXnx.png?width=1200)
![](https://assets.st-note.com/img/1716017505624-nYQ3NQu0sl.png?width=1200)
上記の設定でインスタンスを起動します。
![](https://assets.st-note.com/img/1716017911604-KRFIMMM4wV.png?width=1200)
NAT Gatewayの設置
次にNAT Gatewayを設置します。
VPCの画面からNAT ゲートウエイをクリック。
![](https://assets.st-note.com/img/1716017989647-VUhsNs1ITK.png?width=1200)
NAT ゲートウエイを作成していきます。
設定は下記の通り、”mamuru-bot-gateway”という名前で、mamuru_bot_publicsubnet_cに設置します。
また、インターネットに出る必要があるため、接続タイプを”パブリック”、Elastic IPも割り当てます。
![](https://assets.st-note.com/img/1716018086843-6xAjITd2BH.png?width=1200)
![](https://assets.st-note.com/img/1716018210994-iyKyouCRBB.png?width=1200)
”NAT ゲートウエイを作成”をクリック。
少し時間がかかりますが、NAT ゲートウエイが作成されていることが確認できます。
![](https://assets.st-note.com/img/1716018607011-wet3jOnG4T.png?width=1200)
現在のアーキテクチャ確認
ここで現在のアーキテクチャを確認しましょう。
![](https://assets.st-note.com/img/1716034253825-qnSoZCiz3o.png?width=1200)
お気づきの方もおられるかと思いますが、ルーティングテーブルの設定がされておりません。
つまり、各サブネットがプライベートなのか、パブリックなのかが設定されていない状態です。
では、次にルーティングテーブルを設定していきます。
ルートテーブルの設定
まずpublicsubnetのルートテーブル(mamurubot_publicsubnet_routetable)を作成します。
![](https://assets.st-note.com/img/1716034759999-yCdzfhrLpB.png?width=1200)
次に、このルートテーブルに追加で以下のようにインターネットゲートウエイへの設定を追加します。
![](https://assets.st-note.com/img/1716034861885-1dTaPTMbUY.png?width=1200)
次にプライベートサブネットようのルートテーブルを作成します。
![](https://assets.st-note.com/img/1716035010201-Q5uW7YP1BP.png?width=1200)
このルートテーブルに追加でNATゲートウエイへの接続を追加します。
![](https://assets.st-note.com/img/1716035064042-fVBqmAJTCn.png?width=1200)
はい、上記までで、二つのルートテーブル(privateとpublic)が作成できましたので、それぞれにsubnetを紐づけます。
![](https://assets.st-note.com/img/1716035146490-ynSi1rvzSt.png?width=1200)
パブリックルートテーブルの”サブネットの関連付けを編集”から、パブリックサブネットを選択。
![](https://assets.st-note.com/img/1716035169431-ATTfMAjR3a.png?width=1200)
![](https://assets.st-note.com/img/1716035240398-sAXKGQvJFb.png?width=1200)
アーキテクチャの確認
これまでの作業により、下記のアーキテクチャになっている、、はずです、、
各サブネットにルートテーブルを設定することにより、プライベートなのか、パブリックなのかが設定されたことになります。
![](https://assets.st-note.com/img/1716035421101-NDbyZSAIZN.png?width=1200)
![](https://assets.st-note.com/img/1716035535749-u8EpQlfyMz.png?width=1200)
まとめ
EC2を作成した。
NAT Gatewayを作成した。
各サブネットにルートテーブルを設定し、プライベートサブネット、プライベートサブネットとしての機能を持たせた。
次回は今回作成したEC2にアクセスし、実際にインターネットに出れるのか?を確認したいと思います。