エンジニア初心者がAWSでSSL化した

### 本記事を書く理由
私がAWSでSSL化した方法を共有するため。
自分の知識のアウトプットのため。

### 前提条件
* お名前.comなどでドメインを取得し、インターネット上にアプリを公開している

### 方法
#### SSL化証明書を作成
1. 証明書を発行するためにAWSで`Certificate Manager`を検索する
![スクリーンショット 2022-03-27 16.28.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/b38f0f3c-dc89-93b6-ef20-11f8c4c43ee8.png)

2. リクエストをクリックする
![スクリーンショット 2022-03-27 17.20.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/281768af-cb8f-6c5b-5bd0-ee29b1846312.png)

3. `パブリック証明書をリクエスト`を選択する
![スクリーンショット 2022-03-27 17.22.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/cdd33820-983a-27ce-a117-2877853f3cd0.png)

4. ドメイン名には取得したドメイン名を入力する
検証方法はDNS検証を選択する
タグは入力しなくてもいい
その後、リクエストをクリックする
![スクリーンショット 2022-03-27 17.26.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/75ddbea4-2784-4a33-3a90-f3eba642bd05.png)

5. 証明書のリクエストが完了し、検証に入ります。
DNS認証にしたので、ドメインの箇所にDNSに入れるべきレコードが記載されています。
Route53でのレコード作成というボタンがあるのでクリックするとRoute53にレコードを書き込まれます。
![スクリーンショット 2022-03-27 18.01.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/a3ee84c6-ea68-9539-5c18-c894bf1b0f66.png)

6. 少し待っていると検証状態が保留中から成功に変わる。

#### ターゲットグループの作成
1. AWSで`EC2`を検索する
左の下の方にロードバランシングというのがあるので`ターゲットグループ`をクリックします。
![スクリーンショット 2022-03-27 18.25.53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/fd6db9f4-b877-0266-0b61-490cbacdb931.png)

2. `Create target group`をクリックする
![スクリーンショット 2022-03-27 18.39.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/16f742e9-f207-1804-f828-453183466ccd.png)

3. ターゲットグループの詳細設定
```
Choose a target type:　Instances
Target group name: 好きな名前を入
Protocol: HTTP
Port:　80
VPC: EC2インスタンスが存在するVPC
Protocol version:　HTTP1
Health check protocol: HTTP
Health check path:　/
```

#### ロードバランサーの作成
1. AWSで`EC2`を検索する
左の下の方にロードバランシングというのがあるので`ロードバランサー`をクリックします。
![スクリーンショット 2022-03-27 19.04.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/9efe1a1b-5c60-b78c-3206-9d1ab93caa8e.png)

2. `ロードバランサーの作成`をクリックしロードバランサータイプで`Application Load Balancer`を選択する
![スクリーンショット 2022-03-27 19.03.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/295b3887-d18b-0453-3318-2b729a1e02aa.png)

3. ロードバランサーの詳細設定
```
Load balancer name: 好きな名前を入力する
Scheme: Internet-facing
IP address type:　IPv4

VPC:　webサーバのあるVPCを選択
Mappings: 2つ選択する必要がある。1つはwebサーバのあるアベイラビリティーゾーン、もう一つはどこでも良い。

Security groups:　新しいセキュリティグループを作成する。セキュリティグループ名はなんでもよい。
　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　　ただ、ポートは、80と443でどこからでもアクセス出来るように、0.0.0.0/0, ::/0 を許可する。

Listeners and routing
Protocol: HTTPとHTTPS
Port:　80と443
Default action:　先ほど作ったターゲットグループを選択する
```

4.　`Create load balancer`をクリックし、ロードバランサーの作成を完了する

#### Route53で設定変更する
1. Route53を検索し、ホストゾーンをクリックする。
![スクリーンショット 2022-03-27 20.11.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/bebac877-ee26-c746-2c5e-a5070e28ed48.png)

2. `ホストゾーンのドメイン名`をクリックする。
タイプがAのレコードにチェックを入れ、編集を行う。
![スクリーンショット 2022-03-27 21.05.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/7f281562-a75a-05ea-5ad8-49d3395fcbd7.png)

3. ALBとCLBへのエイリアスにする。
その下はロードバランサーがあるリージョンにする。
一番下はロードバランサーにする。
![スクリーンショット 2022-03-27 21.14.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/f023d66a-baec-0e7a-b3c6-b411f3983736.png)

4. 変更を保存する。

#### WEBで確認する
webで独自のドメインを検索する。
すると、以下の画像のように鍵がかかった状態になる。
![スクリーンショット 2022-03-27 21.22.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2581600/c954448a-e6c6-77c1-0875-f31f6a1ab716.png)


これで、EC2上のwebサーバをSSL化することが出来ました。
AWSは12ヶ月無料で使えます。
一つのアプリケーションであったら無料で公開できるので初心者の方で、AWSを使ったことがない人はぜひ使って見てください！