AWS Lightsail のサイトを Route53 で取得したドメインと紐付けつつ、Let’s Encrypt でTLS/SSL化する方法

Route53のドメインを紐付け

ドメインの紐付けはすごく簡単で、「Lightsail route53 ドメイン」とかで検索して出てきたやつ見てやれば3分で終わると思います。

一応、このサイトが一番わかりやすかったかも。

https://yukiosugiyama.com/wordpress/post-0-4/

Let’s Encrypt でTLS/SSL化

Let’s Encrypt とは・・・無料でTLS/SSL化してくれるサービス。簡単だし、証明書の自動更新も設定できるし、控えめに言って神だと思います。レッツ・エンクリプトって読むらしいです。

TLS/SSL とは・・・インターネット通信を安全に行うための仕組み?的な感じのやつ。httpをhttpsにするやつですね。TLSとSSLは同じ意味らしいので、以後SSLといいます。

コマンド実行でちょちょいのちょいのちょい

なんかよくわかりませんが、とあるサイトに書いてあったコマンドを上から実行していったら簡単にできました 。そのコマンドを以下に書いておきます。ssl化したいlightsailのインスタンスのターミナルで実行してください。

cd /tmp
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto
./letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d ドメイン名
sudo cp /etc/letsencrypt/live/ドメイン名/fullchain.pem /opt/bitnami/apache2/conf/server.crt
sudo cp /etc/letsencrypt/live/ドメイン名/privkey.pem /opt/bitnami/apache2/conf/server.key
sudo /opt/bitnami/ctlscript.sh restart apache

とりあえずこれを上から実行するだけでssl化ができてしまいます。このサイトの場合、ドメイン名と書いてある部分は「www.itoukun.com」と書き換えました。

試しにhttps://www.itoukun.comにアクセスしたら、ちゃんとアクセスできました。urlのとこの一番左にはちゃんと鍵マークもついています。

証明書の更新(2019/5/14追記)

上記の方法でこのサイトをSSL化して約3ヶ月後、以下のようなメールがレッツエンクリプトさんから届きました。

Hello,

Your certificate (or certificates) for the names listed below will expire in 10 days (on 22 May 19 14:55 +0000). Please make sure to renew your certificate before then, or visitors to your website will encounter errors.

We recommend renewing certificates automatically when they have a third of their
total lifetime left. For Let's Encrypt's current 90-day certificates, that means
renewing 30 days before expiration. See
https://letsencrypt.org/docs/integration-guide/ for details.

www.itoukun.com

For any questions or support, please visit https://community.letsencrypt.org/. Unfortunately, we can't provide support by email.

以下しょうりゃく...

ふむふむなるほど。

私はTOEIC400点の実力があるので、容易に内容を理解できました。

つまり、あと10日くらいで証明書が切れちゃうから更新してねーという内容です。
google翻訳がそういったので間違いありません。

そうなんです。どうやら調べたところ、レッツエンクリプトは3ヶ月で証明書の有効期限が切れてしまうみたいなので、定期的に証明書を更新しなければならないとのこと。

というわけで、証明書を更新したのでそれのメモです。

以下のコマンドを実行するだけで更新は完了します。

./letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d ドメイン名

「レッツエンクリプト 証明書 更新」とかで検索すると、「certbot-auto renew」 を実行するだけですよーって書いてあるページが多かったけど、伊藤くんはなぜかこのコマンドを実行できなかった。certbot-autoなるものがそもそも存在しない。
ので、このコマンドはやや特殊かもしれないけど、できたものはできたので、とりあえず良しとする。イヨッ ! エンジニアのカガミ!

でも、これを本当に定期的に続行するのはめんどくさいので、cronでこのコマンドを定期実行するようにしてみた。まず、以下を実行してviかなんかでcronのファイルを開きます。

crontab -e

その中に、以下を追加。

00 06 24 * * ./letsencrypt-auto certonly --webroot -w /opt/bitnami/apps/wordpress/htdocs/ -d ドメイン名

これで、毎月24日の朝6時にコマンドを実行してくれます。なぜ24日の朝6時にしたかというと、適当に検索したらこれが出てきたからコピペしただけです。深い意味はありません。

伊藤くんはまだこれで本当に自動更新されるかの確認が取れていません。ので、間違ってる可能性は大いにあります。ご了承くださいませ。

うまくいかなかった人へ

伊藤くん、最初は以下のサイトを参考に進めていました。

https://opvel.com/2017/09/03/lightsail_4_letsencrypt_ssl_setting/

ただ、このサイトの上から下まですべてやり終えた後、自分のサイトにアクセスしようとしたら「サーバーの IP アドレスが見つかりませんでした。」的なエラーが出てうまくいきませんでした。

その後、さっきのサイト(qiitaの方)を見て改めて作業をしたので、伊藤くんのサーバではこの2つのサイトに書いてあるコマンドをすべて実行したことになります。

もしかすると、それが功を奏して成功したということも考えられるので、この記事を見てもうまくいかなかった方は、上記のサイトも見てみるといいかもしれません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です