AWS サーバー

【AWS/Apache】Let'sEncryptSSL更新手順【新規でもOK】

※本サイトはPR表記を含みます。

 

こんにちは。ふわふわしょうちゃんです。

 

「Let’sEncrypt」は、無料でSSL証明書を発行してくれるサービスです。

個人メディアなどで、複数ドメインを運営していると、それなりに費用が掛かってしまいます。

無料なら、利用したいですよね。

 

SSL証明書の有効期限は有償のサービスと比べ、90日と短いですが、自動更新も含めて、手順を残しておきたいと思います。

僕は、今回、新規ではなく、更新の作業でしたが、AWS公式ドキュメントに沿っているので、新規取得の方でも大丈夫だと思います。

 

想定環境

AWS EC2インスタンス

OS: AmazonLinux2

ミドルウェア: Apache

 

Let’sEncryptのSSL証明書更新エラー

Les’sEncryptのSSL証明書を更新するためにCertbotというパッケージがありますが、現状、AmazonLinux2は公式にサポートされていません。

僕は、新規証明書発行時は、別のやり方でCertbotをセットアップしていて、先日、更新作業時に、パッケージの依存関係で下記のエラーが発生しました。

「証明書」をクリックするとSSL証明書期限などが確認できます。

 

 

また、デベロッパーツールで、全てセキュアが緑になっているか確認します。

F12を押して、デベロッパーツールを起動してください。

デベロッパーツール起動後、「Security」タグを選択します。

全て緑色になっていることを確認してください。ここで緑色以外になっていれば、脆弱性がある可能性があるので、SSL/TLSのバージョンなど、調査する必要があります

 

次は、SSL証明書更新の作業を自動化します。

 

SSL更新作業 をCronで自動化

step
1
Crontabコマンドを実行

$ sudo crontab -u root -e

以下を追記します。

0 0,12 * * * root certbot renew --no-self-upgrade

毎日0:00と12:00にroot権限で実行する、という形でいきます。

ちなみに、Certbot開発側は、一日に2回実行することを推奨しているようです。

 

step
2
Crontabが設定されているか確認

$ sudo crontab -u root -l

実行後、

0 0,12 * * * root certbot renew --no-self-upgrade

 

と、表示されればOKです。

これで作業は終了です。

 

最後に

やはり、Linux関連はパッケージの依存関係で、予期しないエラーに苛まれることが多いです。

AWS公式ドキュメントを探すまで、結構、時間が掛かってしまいました。

 

公式にサポートされていないのも、敷居を高く感じさせてしまう要素ですね。

いざ、やってみると、勉強にもなるので、是非、試してみてはいかかでしょうか。

 

じゃ、そーゆうことで!

 

-AWS, サーバー
-