RailsアプリをAWS EC2にデプロイする方法その①下準備編

はじめに

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

先日自身初となるポートフォリオを完成させました!

そしてAWSを使って本番環境にデプロイさせたので今回はその方法を簡潔に分かりやすく4段階にわけて書いて行きます。

1・下準備編⇦今回ここ

RailsアプリをAWS EC2にデプロイする方法その①下準備編 - 21歳フリーターからrailsエンジニアになるまで

2・DB.サーバー構築編

RailsアプリをAWS EC2にデプロイする方法その②DB.サーバー構築編 - 21歳フリーターからrailsエンジニアになるまで

3・デプロイ編①

RailsアプリをAWS EC2にデプロイする方法その③デプロイ編① - 21歳フリーターからrailsエンジニアになるまで

4・デプロイ編②

RailsアプリをAWS EC2にデプロイする方法その③デプロイ編② - 21歳フリーターからrailsエンジニアになるまで

 

少しでも僕と同じ境遇の人の役にたてたら光栄です。

 

また、今回はこちらの記事を参考にしました。同じような内容になってしまいますが初学者なりに簡潔に書いてくことを心がけます。

qiita.com

今回はCHARMEという仮想のアプリをデプロイして行きます。

それじゃ、レッツラゴー!!

 

1・VPCの作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

f:id:yamasey712:20191012131355p:plain

まずは、AWSという広い広い土地の中から自分専用の土地を作ります。

この自分専用の土地の中に環境を構築していくイメージです。

 

トップ画面より「VPC」をクリックして

詳細ページの左上「VPCの作成」をクリックしてください。

f:id:yamasey712:20191012132220p:plain

入力する項目が出てきますので

それぞれに

ネームタグ:VPC_for_CHARME (なんでも良いよ)

CIDRブロック:10.0.0.0/16

テナンシー:デフォルト

 このようにします。

いい調子だ(^ ^)

 

2・サブネットの作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

f:id:yamasey712:20191012132925p:plain

サブネットとは、一言で言えば 「ネットワークグループ」 といったところでしょうか。

「これらは外部との通信だけを行う」「これらは内部通信だけを行う」
といった具合に、同じVPCの中でも役割の異なるいくつかのグループが出来上がります。
このグループを「外部接続グループ」「内部接続グループ」といった具合に単位毎に分けてくれるものが、サブネットと呼ばれます。

f:id:yamasey712:20191012133113p:plain

 

ここでの入力は4つ!!

ネームタグ:subnet_for_CHARME(なんでも良いよ)

VPC:さっき作ったVPCを選択

アベイラビリティーゾーン:ap-northeast-1a

CICRブロック:10.0.0.0/24 

 

このアベイラビリティーゾーンは選択するリージョンによって違いますが、よっぽどのことがない限り「アジアパシフィック(東京)」を選択し進めて行きましょう。

リージョンはログイン後の右上の部分で選択できます。

 

3・インターネットゲートウェイの作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

 

f:id:yamasey712:20191012133907p:plain

インターネットゲートウェイとは名前の通り「インターネットの入り口」にあたります。

1で作成したVPCは、あくまでAWS内での占有領域です。

外部との接続を行う際は、その領域から外に出ていかなければなりません。
その窓口となるのが、今回のインターネットゲートウェイなのです。

f:id:yamasey712:20191012135016p:plain

ここでの作業はいたって簡単で2ステップです

ゲートウェイの名前を決める

ネームタグ:gateway_for_CHARME 

 ②ゲートウェイVPCを紐づける

「アクション」をクリックし「VPCにアタッチ」を選択

さっき作成したVPCを選択

 

状態の欄が赤色の文字から、緑色で「attached」に変化したかと思います。

これにてインターネットゲーウェイの作成は終了です!

 

疲れてきた??頑張ろう!

 

4・ルートテーブルの作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

f:id:yamasey712:20191012135720p:plain

ルートテーブルは、 通信に関するルールブック みたいなものです。

「この場合はこっちに通信を送る」「この場合はこっち」
みたいなものをまとめたものがルートテーブルです。

 

f:id:yamasey712:20191012135942p:plain

ここまでくるとやることが一緒ですね。

名前タグ:table_for_CHARME

VPC:作ったやつを選択 

 

そしてこのルートテーブルに、
「インターネットゲートウェイをルーティングするというルール」を記載したいと思います。

作成したルートテーブルを選択した状態で、
下のタブ「ルート」を選択し、
「ルートの編集」を選択します。

 

f:id:yamasey712:20191012140817p:plain

すると、新たな入力欄が出ますよね?

送信先:0.0.0.0/0

ターゲット:先ほど作成したゲートウェイ 

 このように設定し保存ボタンをクリックします。

 

そして最後にサブネットとの紐づけになります。

1・サイドバーの「サブネット」を選択

2・関連づけを変更するサブネットを選択

3・画面下のルートテーブル選択

4・編集

5・先ほど作成したルートテーブルを選択

6・保存 

こんな感じで紐付けを行います!

 

5・セキュリティーグループの作成

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

f:id:yamasey712:20191012141348p:plain

下準備編もラストになりましたので頑張りましょう!!

 

セキュリティーグループは、 セキュリティーに関するルールを記載したもの です。

「この通信は許可」「この通信は拒否」といった具合に、
適応されたグループ毎にルールを設定できます。

 

サイドバーのセキュリティグループを選択し作成をスリック

f:id:yamasey712:20191012141814p:plain

入力する項目は3つ

セキュリティーグループ名:CHARME_securitygroup

説明:セキュリティーグループ名と同じ名前でいいよ
VPC:さっき作ったVPC

 ここら辺はすんなり行きましょう!

 

次はルールの設定です。

ここからなんだかややこやしくなってくる所ですが、ここでは解説なしで簡潔に書きますので解説が必要な方はググってくだいな(ごめんなさい(涙))

1・作成したセキュリティーグループを選択

2・下のインバウンドルールを選択

3・ルールの編集を選択

ここからルールを記述していきますよ!

2種類を記述します。

タイプ:SSH

プルトコル:自動選択

ポート範囲:自動選択

ソース:マイIPを選択*自動で ***.***.***/32をやってくれる 

 

タイプ:HTTP

プルトコル:自動選択

ポート範囲:自動選択

ソース:カスタムを選択し0.0.0.0/0を記述

 

ここでは詳しく解説はしませんがこれにて下準備編は終了です!!

お疲れ様でした!!

次はDB.サーバー構築編です!!頑張っていきましょう!!

 

次章:DB.サーバー構築編