本記事は、開発環境のCloud9からAWSサービスを連携してデプロイすることをゴールにした連載記事です。

Railsアプリをデプロイしよう!!の全体目次はこちらをご覧ください。

本編では、前編に続きAWS環境構築を行います。

EC2インスタンス

本番環境用のEC2インスタンスを作成します。
左メニューからインスタンスを選択して、「インスタンスを起動」をクリックします。

AWSサービス: EC2

無料利用枠の対象である「Amazon Linux 2 AMI」を選択します。

無料利用枠の対象「t2.micro」を選択して、右下の赤枠をクリックします。

下記にて設定しました。
ネットワーク:作成したVPCを指定
サブネット:Subnet_for_DC_public_a(publicのaのほう)
自動割り当てパブリック IP:有効
IAM ロール:なし

ストレージの項目は変更なしで進めますが、しっかり運用するなら8 → 16に変更しておくと良いと思われます。

タグの追加はしません。

セキュリティグループでは、Security_ec2_for_DC(EC2用で作成したもの)を選択して進めます。

最後に確認画面で問題ないか確認してから、起動します。

キーペアを新たに作成します。キーペア名は任意の文字列を記入します。

上記でインスタンス作成後に、「キーペア名.pem」ファイルがダウンロードされるため、保存しておきます。

ダウンロード完了と同時に下記の画面に移ります。

Elastic IP

EC2インスタンスをElastic IPアドレスで固定させます。
左メニューからElastic IPを選択して割り当てます。

AWSサービス: EC2

右下の「割り当て」をクリックします。

正常に割り当てられました。

続いて、Elastic IPアドレスとEC2インスタンスと紐付けます。

Elastic IPアドレスの画面で先ほど作成したIPアドレスをチェックして、 アクション > Elastic IPアドレスの関連付けを選択します。

今回作成したインスタンスへ紐付けます。

紐付け完了画面です。

ロードバランサー

ロードバランサーを作成します。
左メニューからロードバランサーを選択して作成します。

サービス:EC2

Application Load Balancerを選択します。

名前をつけます。
リスナーは、現時点ではHTTPのみとします。

アベイラリティゾーンの設定は下記のような感じです。

続いて、セキュリティグループは、新たに作成します。
現在はHTTPSの準備ができていないため、とりあえず、HTTPでIP制限をかけずにこのALBへアクセスできるようにすることにします。

新しくターゲットグループを作成します。

対象のインスタンスをチェックして、登録済みに追加します。

最後に、諸々確認して作成完了です。

本編は以上です。お疲れ様でした。