AWS で let's encrypt SSL を導入

準備として、Webサーバとして使うインスタンスのセキュリティグループで HTTP(80)、HTTPS(443) を開けておく。

(基本的にこちらを参照 Let's Encrypt の使い方 - Let's Encrypt 総合ポータル

certbot というプログラムを使って証明書を発行する。 certbot は epel リポジトリからインストールできるため、まずは epel リポジトリを有効にしてから certbot をインストールする。

$ sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo yum install certbot

証明書の取得。

$ sudo certbot certonly --standalone -d <domain>
インタラプト画面になる
<email address を登録>
<規約に同意: Y>
<ML に登録するか否か: Y/N>

以下のファイルが生成されれば成功

サーバ証明書(公開鍵)
/etc/letsencrypt/live/ドメイン名/cert.pem
中間証明書
/etc/letsencrypt/live/ドメイン名/chain.pem
サーバ証明書と中間証明書が結合されたファイル
/etc/letsencrypt/live/ドメイン名/fullchain.pem
秘密鍵
/etc/letsencrypt/live/ドメイン名/privkey.pem

その他

AWS のデフォルトドメインで証明書取ろうとしたらエラーになった。ちゃんとしたドメインでないと取れないらしい。 hacknote.jp