アヤオのレベリングキロク

日々のインプットをここでアウトプットします

【AWS】EC2×DockerのRails開発環境を立てる①

きっかけ

今回開発に携わることになったアプリケーションが今まで以上にスペックが必要ということでしたが、今持ってるMacBook Airはそこそこ新しく気に入ってるので買い替えたくない状況。。

でも実際に環境を立ててみると、CPUが足りなくてギリギリ動くけど、すごくヌルヌル。。

1クリックに1分ずつぐらいかかるので、生産的にやばすぎ…

ということで、前からやってみたかったクラウド環境での開発をやってみることにしました〜!

事前に用意するもの

  • AWSアカウントを作成
  • VScodeのアプリをインストール

手順

EC2を立ち上げる

  1. AWSコンソールにログインし、EC2を起動します。

f:id:ayao22191:20220202093007p:plain
EC2を起動

  1. OSの選択 AWS linuxにしました。ver4系をいつも使ってたのでなんとなく4系にしました。

f:id:ayao22191:20220202093735p:plain
AWS linuxを選択

  1. インスタンスの選択 私はメモリが最低16GBは必要だったので、とりあえずt2.xlargeを選択しました!

f:id:ayao22191:20220202093833p:plain
インスタンスタイプはt2.xlarge

  1. インスタンスの詳細設定 パブリックIPを有効にします。それ以外はデフォルトで。

f:id:ayao22191:20220202093957p:plain
パブリックIPを有効にする

  1. ボリュームの設定

dockerを使う時は10GBぐらいあった方がいいと書いてあったので、20GBにしておきました。

f:id:ayao22191:20220202094047p:plain
ボリュームは20GBにした

  1. タグを付ける

なんのインスタンスかわかりやすいようにNameタグだけつけておきます。

後で変更もできるし、なくても次に進めます。

f:id:ayao22191:20220202094303p:plain
Nameタグをつける

  1. セキュリティグループを設定する

私はとりあえずsshだけ開けて、必要な時に開けていったので、ここはsshだけです。

f:id:ayao22191:20220202094725p:plain
セキュリティグループの設定

結果的には以下のような感じになりました。

  • ssh / ポート:22 / [作業場所IP]/32 ←初回で設定したもの
  • カスタムTCP / ポート:3000 / [作業場所IP]/32 ←Railsアプリケーションを立ち上げるポート
  • カスタムTCP / ポート:1080 / [作業場所IP]/32 ←その他アクセスが必要なポート

  • 設定完了

このあと確認ページが出てくるので、内容を確認して、インスタンスを開始します。

数分で立ち上がるはずです。

ElasticIPをEC2に割り当てる

先程、自動的にパブリックIPを割り当てるようにしましたが、インスタンスを再起動するたびにIPアドレスが変わります。

IPアドレスが変わってしまうと後ほど出てくるVScodeからのアクセス時に毎回IPアドレスを変更しないといけないので、少し面倒です。

なので、Elastic IPを使ってIPを固定しておくと便利。

ただし、少しお金がかかりますので、節約したい人はがんばって毎回修正しましょう。

設定方法は以下の記事を参考にさせてもらいました。

qiita.com

②につづく...