説明書
[2021年最新]小学生でも分かるAWSのデプロイ手順説明書 中編
[2021年最新]小学生でも分かるAWSのデプロイ手順説明書 後編
はじめに
ポートフォリオなどを作成し、初めて自分でデプロイしよう!ということで、調べながらデプロイするがエラーまみれで絶望した経験はあるんじゃないでしょうか、、??
ネットに出回っている今の記事等は最初から最後まで丁寧に手順を解説してくれているものは少なく、情報が古かったりするので1人デプロイは苦手意識がつくものとなっております。。
そんな同じ悩みを持っている人がとても多いと思うので、自分が備忘録も兼ねて世界にお届けしたいなと思います!!
この手順にしたがってデプロイを行うことで、つまづく事なくデプロイ完了させることが出来ます!
前提条件
-
master.keyは本番サーバーに直接設置
-
データベースのパスワードなどの設定はcredentials.yml.encに記載
-
Railsアプリのインストール先は/var/rails/配下、とする
-
デプロイはCapistrano
-
Ruby 2.7.2
-
Rails 6.1.1
-
Nginx + Puma(5.2.1)
-
Node.js 14
-
Yarn
-
MySQL
注意点
- 手順の分かりやすさを重視しており、余計な情報を省いたため、細かい解説等が無いことをご了承ください。
手順
AWS準備編
1.VPCの作成
1.VPCページに移動する
2.下記画像のように、設定を行いVPCを作成する。
名前 : 任意(自分がわかりやすい名前)
IPv4 CIDRブロック : 10.0.0.0/16
# ※その他はデフォルトでOK
2.サブネットの作成
1.サブネットページに移動する
2.下記画像のように設定を行い、パブリックサブネットとプライベートサブネットを作成する。
- パブリックサブネット
VPC : 任意のVPCを選択
名前 : 任意(自分がわかりやすい名前)
アベイラビリティーゾーン : ap-northeast-1a
IPv4 CIDRブロック : 10.0.0.0/24
- プライベートサブネット
VPC : 任意のVPCを選択
名前 : 任意(自分がわかりやすい名前)
アベイラビリティーゾーン : ap-northeast-1c
IPv4 CIDRブロック : 10.0.1.0/24
3.ルートテーブルの作成
こちらもパブリックサブネット用とプライベートサブネット用を作成します。
1.ルートテーブルページに移動する
2.「ルートテーブルの作成」をクリックする
3.下記画像のようにルートテーブルを作成する
名前 : 任意(自分がわかりやすい名前)
VPC : 任意のVPCを選択
キー : Name
値 : 任意(おそらく名前タグが分かりやすい)
4.ルートテーブル作成後、下の詳細メニューから、「ルート」→「ルートの編集」をクリックする
5.下記画像をようにルートを編集する
パブリックサブネット用
プライベートサブネット用
6.「サブネットの関連付け」をクリック
7.それぞれのサブネットに作成したルートテーブルを関連付けさせる
4.EC2の作成
1.EC2ページに移動する
2.「インスタンスを起動」をクリック
3.下記画像のようにマシンイメージを選択する
Amazon Linux 2 AMI を選択する
4.下記画像のようにインスタンスタイプを選択する
t2.micro を選択する
5.下記画像のようにインスタンスの詳細設定を行う
ネットワーク : 任意のVPC
サブネット : 任意のサブネット(EC2サーバーなのでパブリックサブネットで良いです)
自動割り当てパブリックIP : 有効
# ※その他はデフォルトでOK
6.下記画像のようにストレージの設定を行う
# 全てデフォルトでOKだが、任意で変更しても良い
7.下記画像のようにタグの設定を行う
キー : Name
値 : 任意の名前(分かりやすい名前)
8.下記画像のようにセキュリティグループの設定を行う
9.確認と作成を行う
※キーペアを作成していない場合は作成し、ダウンロードする。(あれば、既存のものを使えば良い)
---------ここからは任意です---------
10.ElasticIPのページに移動する
11.「Elastic IP アドレスの割り当て」をクリック
12.デフォルト設定のまま、「割り当て」をクリック
13.「アクション」→「Elastic IP アドレスの関連付け」をクリック
14.下記画像のように、関連付けしたいインスタンスを選択して「関連付ける」をクリック
5.RDSの作成
1.RDSページに移動する
2.下記画像のように、データベース作成方法を設定する
3.下記画像のように、エンジンを設定する
※今回はMySQLを選択しています
エンジンタイプ : MySQL
バージョン : アプリケーションと同じバージョン
4.下記画像のように、テンプレートを設定する
5.下記画像のように、詳細を設定する
DBインスタンス識別子 : 任意(分かりやすい名前)
マスターユーザー名 : 任意(今回はrootとしてます)
マスターパスワード : 任意(分かりやすい名前)
6.下記画像のように、DBインスタンスサイズを設定する
DBインスタンスクラス : 任意(今回は、バースト可能クラス(db.t3.micro))
7.下記画像のように、ストレージを設定する
ストレージタイプ : 汎用(SSD)
ストレージ割り当て : 20
ストレージの自動スケーリング : checkする
# ※その他はデフォルトでOK
8.下記画像のように、可用性と耐久性を設定する
9.下記画像のように、接続を設定する
VPC : 任意
パブリックアクセス可能 : なし
VPCセキュリティグループ : 新規作成
新しいVPCセキュリティグループ : 任意(分かりやすい名前)
10.下記画像のように、データベース認証を設定する
11.「作成」をクリック
前編終了!
お疲れ様です。ここまでで、必要なAWSサービスは準備出来ました。
次編からは、デプロイに入るので頑張りましょう!!!
中編に続く...