0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【備忘録】【Rails+Docker+AWS】開発環境構築から本番公開まで(2/3 AWSコンソール画面編)

Last updated at Posted at 2021-07-01

(この記事は続きです)

下記記事を参考にさせていただき、dockerで環境構築してデプロイまでもっていきました。
多分何度も作り直すことになると思ったので、コピペするだけでスムーズに作れるように
バージョン情報を自分用に合わせて記事に残させていただきました。
※内容は下記記事とほとんど変わらないです。

▼参考にさせていただいた記事▼

バージョン情報

Ruby 3.0.0
Rails 6.1.4
MySQL 5.7
Nginx 1.19.10

前提

AWSにアカウント作成済
docker hubにアカウント作成済
docker インストール済

VPC

VPC

VPC → VPC → VPCを作成

項目
名前タグ remote-work-space-vpc
IPv4 10.0.0.0/16
IPv6 なし
テナンシー デフォルト

サブネット

VPC → サブネット → サブネットを作成 × 3つ

項目
VPC ID remote-work-space-vpc
サブネット名 remote-work-space-subnet-public
アベイラビリティーゾーン ap-northeast-1a
IPv4 10.0.0.0/20
項目
VPC ID remote-work-space-vpc
サブネット名 remote-work-space-subnet-private01
アベイラビリティーゾーン ap-northeast-1a
IPv4 10.0.64.0/20
項目
VPC ID remote-work-space-vpc
サブネット名 remote-work-space-subnet-private02
アベイラビリティーゾーン ap-northeast-1c
IPv4 10.0.80.0/20

インターネットゲートウェイ

VPC → インターネットゲートウェイ → インターネットゲートウェイの作成
→ 作成 → (選択状態で)アクション → VPCへアタッチ

項目
名前タグ remote-work-space-igw
VPC remote-work-space-vpc

ルートテーブル

VPC → ルートテーブル → ルートテーブルを作成
→ 作成 → (選択状態で)ルート → ルートの編集 → ルートの追加
→ (選択状態で)サブネットの関連付け → サブネットの関連付けの編集

項目
名前タグ remote-work-space-rt-public

ルートの編集

ターゲットは「Internet Gateway → igw-0xxxxx(remote-work-space-igwのタグ名)」を選択

対象 送信先 ターゲット
local 10.0.0.0/16 Local
外部 0.0.0.0/0 remote-work-space-igw

サブネットの関連付け

名前
remote-work-space-subnet-public

セキュリティグループ

VPC → セキュリティグループ → セキュリティグループを作成
・アウトバウンドルールは設定しなくて良い

項目
セキュリティグループ名 remote-work-space-sg-ec2
説明 for ec2
VPC remote-work-space-vpc
インバウンドルール タイプ:SSH ソース:0.0.0.0/0
インバウンドルール タイプ:HTTP ソース:0.0.0.0/0
インバウンドルール タイプ:HTTPS ソース:0.0.0.0/0

EC2

EC2 → インスタンス → インスタンスを起動
→ (「確認と作成」ではなく「次のステップ」ボタンを押すこと) → 起動 → キーペアダウンロード → インスタンスの作成(数分かかる)
・下記の他はデフォルトの設定にしておく
・セキュリティーグループは「既存のセキュリティグループを選択する」で、defaultとremote-work-space-sg-ec2にチェック
・キーペアは「新しいキーペアの作成」で「remote-work-space-ec2」を入力し、キーペアを~/Downloadsフォルダにダウンロード

項目
Amazonマシンイメージ Amazon Linux2 AMI
インスタンスタイプ t2.micro
ネットワーク remote-work-space-vpc
サブネット remote-work-space-subnet-public
自動割り当てパブリックIP 有効
EBSサイズ(GiB) 20
タグ Name:remote-work-space-ec2
セキュリティグループ default + remote-work-space-sg-ec2
キーペア名 remote-work-space-ec2

動作確認

※キーペアはremote-work-space-ec2.pemとして、~/Downloadsフォルダにダウンロードしたと仮定する
EC2 → インスタンス → (選択状態で)詳細 → パブリックIPv4アドレス をコピー

$ ls ~/Downloads # remote-work-space-ec2.pemがあるか確認
$ mv ~/Downloads/remote-work-space-ec2.pem ~/.ssh/
$ chmod 700 ~/.ssh/remote-work-space-ec2.pem
$ ssh -i ~/.ssh/remote-work-space-ec2.pem ec2-user@xxx.xxx.xxx.xxx # パブリックIPv4アドレス
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
[ec2]$ exit

ec2にログイン出来たらOK

RDS

パラメータグループ

RDS → パラメータグループ → パラメータグループの作成

項目
パラメータグループファミリー mysql5.7
グループ名 remote-work-space-db-pg
説明 remote-work-space parameter group

オプショングループ

項目
グループ名 remote-work-space-db-og
説明 remote-work-space option group
エンジン mysql
メジャーエンジンバージョン 5.7

サブネットグループ

RDS → サブネットグループ → サブネットグループの作成
・remote-work-space-subnet-private01 ・・・ 10.0.64.0/20
・remote-work-space-subnet-private02 ・・・ 10.0.80.0/20

項目
グループ名 remote-work-space-db-subnet
説明 remote-work-space db subnet
VPC remote-work-space-vpc
アベイラビリティゾーン ap-northeast-1a + ap-northeast-1c
サブネット remote-work-space-subnet-private01 + remote-work-space-subnet-private02

データベース

RDS → データベース → データベースの作成(作成から起動まで約10分かかる)
・下表の他はデフォルトの設定にしておく
・DBパラメータグループとオプショングループは「追加設定」を開くと選択できる

項目
作成方法 標準作成
エンジンのタイプ MySQL
バージョン 5.7.33
テンプレート 無料利用枠
DBインスタンス識別子 remote-work-space-db
マスターユーザー名 admin
マスターパスワード admin_password
DBインスタンスクラス db.t2.micro
Virtual Private Cloud remote-work-space-vpc
サブネットグループ remote-work-space-db-subnet
パブリックアクセス可能 なし
既存のVPCセキュリティグループ default
データベース認識オプション パスワード認証
最初のデータベース名 (空欄)
DBパラメータグループ remote-work-space-db-pg
オプショングループ remote-work-space-db-og

動作確認

RDS → データベース → remote-work-space-dbを選択 → 接続とセキュリティ → エンドポイントをコピー

$ ssh -i ~/.ssh/remote-work-space-ec2.pem ec2-user@xxx.xxx.xxx.xxx # EC2のパブリックIPv4アドレス
[ec2]$ sudo yum -y install mysql
[ec2]$ mysqladmin ping -u admin -p -h remote-work-space-db.xxxxxxxxxxxx.ap-northeast-1.rds.amazonaws.com -p # RDSのエンドポイント
Enter password: admin_password
[ec2]$ exit

mysqld is alive が返ってくればOK

デプロイ編へ続く
https://qiita.com/asami___t/items/a54fc6a7f1f9a8571b14

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?