AWS：無料でSSL証明書を取得する方法


## 概要
先日公開した自分のサービスをhttps接続できるようにしたいと思いました。

SSL証明書は、どこが安くて信頼できるか社内の上司で相談したところ、近くにいたインターン生が「AWSなら無料で発行できますよ。」とナイスなアドバイスをくれました。

さっそく調べて、SSL証明書を取得したのですが、ネット上には断片的な情報しかなく思ったよりも詰まったので、これから取得する方のために、わかりやすく画像で解説します。

## 前提
今回は、無料でSSL証明書が利用できるAWS Certificate Manager（ACM）を使います。

アジアパシフィック (東京)は、ELB（ロードバランサー）のみにACMを使用することができます。

なので、ELBを利用していないと、無料のSSL証明書を使うことができません。

ちなみに、ELBは有料で、デフォルトで月2000円くらい掛かります。

もし使用される方は以下に設定方法を紹介しています。

#### [初心者向け：AWS(EC2)にRailsのWebアプリをデプロイする方法 ⑤](http://qiita.com/iwaseasahi/items/72c43bd932ad5cc2d206)

## 手順
### AWSの設定
#### サービスをクリックします。
![スクリーンショット 2017-06-01 21.33.48.png](https://qiita-image-store.s3.amazonaws.com/0/142810/23b79b77-c1e2-1453-6c00-bdc9bd9a0f19.png "スクリーンショット 2017-06-01 21.33.48.png")

#### Certificate Managerを選択します。

![スクリーンショット 2017-06-01 21.34.03.png](https://qiita-image-store.s3.amazonaws.com/0/142810/ef88bae2-68f6-6ed8-396b-96fc680b6860.png "スクリーンショット 2017-06-01 21.34.03.png")

#### 「今すぐ始める」をクリックします。

![スクリーンショット 2017-06-01 21.34.19.png](https://qiita-image-store.s3.amazonaws.com/0/142810/b18e55bf-7d1f-58ca-9037-29cdaa905739.png "スクリーンショット 2017-06-01 21.34.19.png")

#### ドメイン名を入力します。

![スクリーンショット 2017-06-01 21.34.41.png](https://qiita-image-store.s3.amazonaws.com/0/142810/f895c9b9-1ec6-69b4-09c9-4cdf778e984d.png "スクリーンショット 2017-06-01 21.34.41.png")

#### 例

![スクリーンショット 2017-06-01 21.35.19.png](https://qiita-image-store.s3.amazonaws.com/0/142810/532dab48-df08-d6cb-472f-1195b9c5f58d.png "スクリーンショット 2017-06-01 21.35.19.png")

#### 「確認とリクエスト」をクリックします。

![スクリーンショット 2017-06-01 21.38.20.png](https://qiita-image-store.s3.amazonaws.com/0/142810/82eda401-50fb-525a-8255-44e82e5c1caa.png "スクリーンショット 2017-06-01 21.38.20.png")

#### 「確定とリクエスト」をクリックします。

![スクリーンショット 2017-06-01 21.39.16.png](https://qiita-image-store.s3.amazonaws.com/0/142810/9fa62d2d-3904-b381-fc1f-504991891c96.png "スクリーンショット 2017-06-01 21.39.16.png")

#### 以下が表示され、メールが届きます。
#### ※ Whois情報に登録されたメールアドレスに送信されます。

![スクリーンショット 2017-06-01 21.40.16.png](https://qiita-image-store.s3.amazonaws.com/0/142810/e5628ab6-d9a6-a27e-de92-61b0969da8b8.png "スクリーンショット 2017-06-01 21.40.16.png")

#### メールを確認し、赤丸で囲んだ部分をクリックします。

![35a9b599-f008-0336-84d3-da727f32f761.png](https://qiita-image-store.s3.amazonaws.com/0/142810/8a743ef1-df53-a228-0686-84667aa4a259.png "35a9b599-f008-0336-84d3-da727f32f761.png")


#### 「I Approve」をクリックします。

![スクリーンショット 2017-06-01 21.50.02.png](https://qiita-image-store.s3.amazonaws.com/0/142810/796dd06f-4909-fc7b-a092-751b44a743cd.png "スクリーンショット 2017-06-01 21.50.02.png")

#### 赤丸で囲んだ部分をクリックします。

![スクリーンショット 2017-06-01 21.50.18.png](https://qiita-image-store.s3.amazonaws.com/0/142810/5da4c338-eca3-1530-c6cb-3405e5988631.png "スクリーンショット 2017-06-01 21.50.18.png")

#### 以下が表示され、証明書が発行されました。

![スクリーンショット 2017-06-01 21.51.31.png](https://qiita-image-store.s3.amazonaws.com/0/142810/402a2f61-2b47-b73b-6516-79b2cba95e90.png "スクリーンショット 2017-06-01 21.51.31.png")

#### サービスをクリックします。

![スクリーンショット 2017-06-01 21.51.31.png](https://qiita-image-store.s3.amazonaws.com/0/142810/2038dbca-8fd2-13b8-a720-0eb581a1fe53.png "スクリーンショット 2017-06-01 21.51.31.png")

#### EC2を選択します。

![スクリーンショット 2017-06-01 22.06.02.png](https://qiita-image-store.s3.amazonaws.com/0/142810/4f538223-1c0e-7265-66d4-1f5c5741a34b.png "スクリーンショット 2017-06-01 22.06.02.png")

#### ロードバランサーを選択します。

![スクリーンショット 2017-06-01 22.08.55.png](https://qiita-image-store.s3.amazonaws.com/0/142810/79a6e0b6-c02f-d142-5e56-5f1f3d564cd7.png "スクリーンショット 2017-06-01 22.08.55.png")

#### リスナーをクリックします。

![スクリーンショット 2017-06-01 22.10.02.png](https://qiita-image-store.s3.amazonaws.com/0/142810/5717dedc-3a7b-73cd-d830-509c395df6f1.png "スクリーンショット 2017-06-01 22.10.02.png")

#### 「編集」をクリックします。

![スクリーンショット 2017-06-01 22.10.48.png](https://qiita-image-store.s3.amazonaws.com/0/142810/a0a892c4-2fa5-ccd0-582a-ceca54d61055.png "スクリーンショット 2017-06-01 22.10.48.png")

#### HTTPをHTTPSに変更します。

![スクリーンショット 2017-06-01 22.12.19.png](https://qiita-image-store.s3.amazonaws.com/0/142810/a7a8f03c-58e0-4463-f616-349de3e57015.png "スクリーンショット 2017-06-01 22.12.19.png")

#### 「変更」をクリックします。

![スクリーンショット 2017-06-01 22.13.09.png](https://qiita-image-store.s3.amazonaws.com/0/142810/9b70182e-415f-a652-b961-d17b427a6d5e.png "スクリーンショット 2017-06-01 22.13.09.png")

#### 赤丸で囲んだ部分をクリックします。

![スクリーンショット 2017-06-01 22.13.46.png](https://qiita-image-store.s3.amazonaws.com/0/142810/eb0f41cf-88c2-3145-3bbb-64de72a163a7.png "スクリーンショット 2017-06-01 22.13.46.png")

![スクリーンショット 2017-06-01 22.14.55.png](https://qiita-image-store.s3.amazonaws.com/0/142810/ea765663-ba02-614c-7af0-4a2981778eea.png "スクリーンショット 2017-06-01 22.14.55.png")

#### 「保存」をクリックします。

![スクリーンショット 2017-06-01 22.16.13.png](https://qiita-image-store.s3.amazonaws.com/0/142810/0b065c6d-44c7-4381-be03-2055ce937e6c.png "スクリーンショット 2017-06-01 22.16.13.png")

#### 「閉じる」をクリックします。

![スクリーンショット 2017-06-01 22.17.42.png](https://qiita-image-store.s3.amazonaws.com/0/142810/c92fa659-6b4d-81f1-a7d2-5752ac2a7771.png "スクリーンショット 2017-06-01 22.17.42.png")

#### サービスをクリックします。

![スクリーンショット 2017-06-01 22.28.51.png](https://qiita-image-store.s3.amazonaws.com/0/142810/a7a16a21-5d8c-6d59-79e3-51ae09469bc9.png "スクリーンショット 2017-06-01 22.28.51.png")

#### Route53を選択します。

![スクリーンショット 2017-06-01 22.29.29.png](https://qiita-image-store.s3.amazonaws.com/0/142810/f72fa624-e7ab-8752-4c30-c32a49c73f01.png "スクリーンショット 2017-06-01 22.29.29.png")

#### Hosted zonesをクリックします。

![スクリーンショット 2017-06-01 22.30.12.png](https://qiita-image-store.s3.amazonaws.com/0/142810/efff5720-02e5-6912-bc79-842497e79d77.png "スクリーンショット 2017-06-01 22.30.12.png")

#### 対象のドメインをクリックします。

![スクリーンショット 2017-06-01 22.30.49.png](https://qiita-image-store.s3.amazonaws.com/0/142810/155eb30d-7b3f-8037-997d-22bd74f6c587.png "スクリーンショット 2017-06-01 22.30.49.png")

#### 「Go to Record Sets」をクリックします。

![スクリーンショット 2017-06-01 22.31.58.png](https://qiita-image-store.s3.amazonaws.com/0/142810/9b3c31f3-79d4-e821-1ee2-e6514731cac6.png "スクリーンショット 2017-06-01 22.31.58.png")

#### Type: Aのドメインを選択します。

![スクリーンショット 2017-06-01 22.33.23.png](https://qiita-image-store.s3.amazonaws.com/0/142810/7c046ead-1011-c038-341e-66c868fddd47.png "スクリーンショット 2017-06-01 22.33.23.png")

#### AliasをYesに選択します。

![スクリーンショット 2017-06-01 22.34.40.png](https://qiita-image-store.s3.amazonaws.com/0/142810/efd589c3-1b36-4e54-d895-8fe5b13bcc7f.png "スクリーンショット 2017-06-01 22.34.40.png")

#### 赤囲みの部分にELBを設定します。

![スクリーンショット 2017-06-01 22.41.25.png](https://qiita-image-store.s3.amazonaws.com/0/142810/ce62bfb9-89d3-65c0-20a6-7de647a7ba9b.png "スクリーンショット 2017-06-01 22.41.25.png")

#### 作成したELBを設定します。

![スクリーンショット 2017-06-01 22.42.23.png](https://qiita-image-store.s3.amazonaws.com/0/142810/4f3ef0b6-a7d4-3a25-b704-ec8d8f214183.png "スクリーンショット 2017-06-01 22.42.23.png")

#### 「Save Record Set」をクリックします。

![スクリーンショット 2017-06-01 22.43.08.png](https://qiita-image-store.s3.amazonaws.com/0/142810/e3113500-086e-4f4b-b703-82ea7e1c99ad.png "スクリーンショット 2017-06-01 22.43.08.png")

### サーバとWebアプリの設定
- ここからはサーバとWebアプリの設定をします。
- 自分は、RailsとNginxを使っていまして、以下の設定をしています。

#### 例

```/etc/nginx/conf.d/christchurches-map.conf
upstream unicorn_server {
    server unix:/var/www/projects/christchurches-map/tmp/sockets/.unicorn.sock
    fail_timeout=0;
}

server {
    listen 80;
    client_max_body_size 4G;
    server_name www.christchurches-map.com;

    keepalive_timeout 5;

    # Location of our static files
    root /var/www/projects/christchurches-map/public;

    location ~ ^/assets/ {
        root /var/www/projects/christchurches-map/public;
    }

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;

        if (!-f $request_filename) {
            proxy_pass http://unicorn_server;
            break;
        }
    }

    error_page 500 502 503 504 /500.html;
    location = /500.html {
        root /var/www/projects/christchurches-map/public;
    }
}
```

#### Railsアプリに移動します。

```
$ cd /var/www/projects/christchurches-map/
```

```
$ vi config/environments/production.rb
```

```
#コメントアウトされていたものを外す
config.force_ssl = true
```

#### Unicornの起動を確認します。

```
$ ps -ef | grep unicorn | grep -v grep
```

```
501      29166     1  0 19:31 ?        00:00:01 unicorn_rails master -c /var/www/projects/christchurches-map/config/unicorn.conf.rb -D -E production
501      29169 29166  0 19:31 ?        00:00:00 unicorn_rails worker[0] -c /var/www/projects/christchurches-map/config/unicorn.conf.rb -D -E production
501      29171 29166  0 19:31 ?        00:00:00 unicorn_rails worker[1] -c /var/www/projects/christchurches-map/config/unicorn.conf.rb -D -E production
```

#### 表示されたUnicornの番号をkillします。

```
$ kill 番号
```

#### 例

```
$ kill 29166
```

#### Nginxを再起動します。

```
$ sudo service nginx restart
```

#### Unicornを再起動します。

```
$ bundle exec unicorn_rails -c /var/www/projects/christchurches-map/config/unicorn.conf.rb -D -E production
```

#### ブラウザから設定したドメインにアクセスします。

```
https://www.christchurches-map.com/
```

![スクリーンショット 2017-06-01 23.00.26.png](https://qiita-image-store.s3.amazonaws.com/0/142810/383ddaed-2e48-0a91-ff29-44ab1a46799b.png "スクリーンショット 2017-06-01 23.00.26.png")

### 以上で設定完了となります。