RailsアプリをAWSで自動デプロイ【ステップ１】

## はじめに

最近Rilsのアプリケーションをデプロイする機会がありましたので、その方法を忘れない内に書き込みます。
何記事かに分けて、記述していこうと思います。
この記事では、VPCの作成、EC2の設定までを記述しました。

## VPCの構築

![スクリーンショット 2021-02-17 9.19.24.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/ce39afec-dbcd-c8e6-09bd-040d366929af.png)


VPCとは、AWSクラウドの内で自分が使用できる範囲を定義するサービスです。

### VPCの作成

![スクリーンショット 2021-02-16 9.55.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/ed55294a-47ac-5189-768d-764a47948de8.png)

例）

名前タグ：sample-vpc 
IPv4 CIDR：10.0.0.0/16　#VPCは/16 ~ /28のCIDR範囲を使用できます。
IPv6 CIDR ブロック：IPv6 CIDR ブロックなし
テナンシー：デフォルト

### VPCサブネット作成

![スクリーンショット 2021-02-17 9.22.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/f4cf6b26-1032-7e34-bce6-abec6bb7ad5b.png)


サブネットとは、CIDR範囲で分割したネットワークグループ

パブリックサブネットとは、インターネットからの接続を許可しているサブネット

プライベートサブネットとは、インターネットから隔離したサブネット

####パブリックサブネット作成

例）
VPC ID：先ほど作成したものを指定
サブネット名：sample-publicsubnet-a
アベイラビリティーゾーン：アジアパシフィック (東京) / ap-northeast-1a
IPv4 CIDR ブロック：10.0.10.0/24

####プライベートサブネット作成

例）
VPC ID：先ほど作成したものを指定
サブネット名：sample-privatesubnet-a
アベイラビリティーゾーン：アジアパシフィック (東京) / ap-northeast-1a
IPv4 CIDR ブロック：10.0.20.0/24

### ルーティングの設定

![スクリーンショット 2021-02-16 13.34.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/3f6166c4-b649-09f2-2879-da3ad9a54c5a.png)

#### インターネットゲートウェイ作成

1.インターネットゲートウェイの作成をクリック

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f38616334393038322d383266612d323637352d326262332d3662633937343939346533372e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/32c661ff-418f-747d-8dcc-c9e7cba9fd1c.png)

例）
名前タグ：sample-Gateway

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f63613730623665332d346131382d316633342d303662362d3635663762383363366666332e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/8b8271a1-c142-461b-750d-08ef2aca9790.png)

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f34616331636133652d643334392d666338662d333762382d3262383636343437306431612e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/9a2244d4-344b-5c43-4670-f5b52ba7c6b9.png)



#### ルートテーブルの作成

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f34393635633962652d393463392d656132302d353261342d6332333366366534643832342e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/1f270b9f-0962-5d7b-6a19-2baae1a6dba8.png)


![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f34303866366635342d396562312d613061352d633765652d6530356163653230366538332e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/9f289a68-e6f5-7699-e795-f9719bc83187.png)


例）
名前タグ：sample-public-route
VPC：先ほど作成したVPCを指定します。


3.パブリックサブネットの関連付けの編集をクリック

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f37663532323934352d303364632d306163652d383235322d6333653762663463626530352e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/1a17fa92-3ab4-4833-7822-1f5ee79e0074.png)


4.パブリックサブネットを指定します。

![スクリーンショット 2021-02-16 12.52.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/269466f3-79a4-7979-346f-bc835dbff907.png)


5.ルートの編集をクリック

![スクリーンショット 2021-02-16 12.54.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/1a58afe1-9401-e2b2-6aa2-58a07052e085.png)

送信先：0.0.0.0/0
ターゲット：先ほど作成したインターネットゲートウェイを選択

![スクリーンショット 2021-02-16 12.54.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/b86f9fbe-3fc9-a0fa-d7fd-1bd8757b140f.png)


## EC2の設定

![スクリーンショット 2021-02-17 10.11.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/d608e58c-3a51-5876-2d67-3f4a14b38f8f.png)


EC2とは、AWSクラウド上の仮想サーバーです。

1.EC2に移動し、インスタンスを起動をクリックします。

![スクリーンショット 2021-02-16 14.04.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/9b10c0d0-d15f-5312-6793-18dd01776920.png)

2.Amazon マシンイメージ (AMI)

![スクリーンショット 2021-02-16 14.05.16.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/f5418f0f-816e-3aa1-00a4-8cf72ccd9b4d.png)

3.インスタンスタイプの選択

![スクリーンーンショット 2021-02-16 14.07.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/f6b4d8ef-bef6-1cb4-4df9-898d9c0cda47.png)

4.インスタンスの詳細の設定

例）筆者が変更した点

```
ネットワーク：先ほど作成したVPCを選択
サブネット：先ほど作成したパブリックサブネットを選択
自動割り当てパブリック IP：有効
キャパシティーの予約：なし
終了保護の有効化：誤った終了を防止します
ネットワークインターフェイス_プライマリIP：10.0.10.10
```

5.ストレージの追加

![スクリーンショット 2021-02-17 7.31.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/987205b0-b57d-0064-da22-5a91cfe635a2.png)

6.タグの追加

```
キー：Name
値：sample-infra-web
インスタンス：✅
ボリューム：✅
ネットワークインターフェイス：✅
```

7.セキュリティグループの設定

```
セキュリティグループの割り当て：新しいセキュリティグループを作成する
セキュリティグループ名：sample-infra-web
説明；sample-infra-web
```

| タイプ | プロトコル | ポート範囲 | ソース | 説明 |
|:-----:|:--------:|:---------:|:-----:|:-----:|
| SSH  |  TCP | 22 |マイIPアドレス：*******/32 | |
| HTTP  |  TCP | 80 |カスタム：0.0.0.0/0 | |

8.キーペアの作成

キーペアとは、インスタンスにログインする為の鍵

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f33303265636231622d343234312d363464342d383738332d3335353661623261633232382e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/a137b26f-dfd2-440b-3589-dc2bfb102e48.png)


```
キーペア名：sample
```

### Elastic IPの作成、IPアドレスの固定

Elastic IPとは、IPアドレスを固定するサービス

現状、インスタンスを停止した場合、動的にIPアドレスが変更される為、IPアドレスを固定する必要があります。

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f62623565393636372d653435392d636662302d353461662d3137373234366437346265312e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/bac25fe9-06d0-9ac4-4dab-3412cf473c06.png)

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f62626634333439312d303739642d363637322d336538322d3862636630313662313265302e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/6e77a454-5944-a9ef-3ca3-748245143c25.png)

![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f65323433393334622d366165382d646239372d353039662d3534306531663364633265342e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/0401394f-9e90-28bd-f449-f64362233ec4.png)


![68747470733a2f2f71696974612d696d6167652d73746f72652e73332e61702d6e6f727468656173742d312e616d617a6f6e6177732e636f6d2f302f3533383335352f65333464623366382d316461372d386233382d396539302d6561616236393837306133612e706e67.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/538355/d4138f4f-d19b-f38a-1e05-681e0b86e975.png)


# 最後に

本記事では、EC2の設定までを解説しました。
次回は、DBの構築から解説していこうと思います。