Amazon Lightsail に SSL 証明書設置 with Let's Encrypt (自動更新)

Amazon Lightsail に SSL 証明書設置 with Let's Encrypt (自動更新)

Amazon Lightsailの設定で、プラットフォームで Linux/Unix、設計図で WordPress を選択した場合における内容です。 ロードバランサを利用し ACM を用いた方法でも可能ですが、ここではロードバランサを利用しないで Let's Encrypt による方法となります。

Let's Encrypt による SSL 証明書の導入

$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:certbot/certbot -y
$ sudo apt-get update -y
$ sudo apt-get install certbot -y
$ wget https://github.com/joohoi/acme-dns-certbot-joohoi/raw/master/acme-dns-auth.py
$ chmod +x acme-dns-auth.py
$ vi acme-dns-auth.py
$ sudo mv acme-dns-auth.py /etc/letsencrypt/
$ sudo certbot certonly --manual --manual-auth-hook /etc/letsencrypt/acme-dns-auth.py --preferred-challenges dn
s --debug-challenges -d hayashier.com
$ sudo cp /etc/letsencrypt/live/hayashier.com/fullchain.pem /opt/bitnami/apache2/conf/server.crt
$ sudo cp /etc/letsencrypt/live/hayashier.com/privkey.pem /opt/bitnami/apache2/conf/server.key
$ sudo /opt/bitnami/ctlscript.sh restart apache

更新時には、以下のコマンドを実行すると、DNS検証で必要なレコードがCNAMEレコードとして表示されますので、これを登録し、以降--dry-runを抜いた形でrenewコマンドを実行するのみで問題ありません。

SSL 証明書の自動更新設定

cron 処理により更新します。

以下設定内容

以前の方法

letsencrypt-autoのよる方法ですが、バージョン0.6.0以降、certbotが独立したレポジトリに移動し、certbot-autoというコマンドに変更されました。しかしながら、certbot-autoのコマンドは現在以下の通りインストールができない状態となっております。

詳細は、下記URLをご参照ください。

letsencrypt-autoによる方法は以下の通りとなります。

SSL 証明書の自動更新設定

cron 処理により更新します。

以下設定内容

ここまでの設定だけでは、以下のようなログ(/var/log/letsencrypt/letsencrypt.log)が表示されて、更新がうまくいきません。

以下のファイルの末尾に設定内容を追加しておきましょう。

Dry runして正しく更新できることを確認しておきましょう。

動作確認

正常に設定が行えていることを確認

httpsへ強制

<VirtualHost _default_:80>以下に以下を追加

再起動して設定変更の読み込み

数ヶ月に1回程度落ちる

メモリ不足が原因です。3.5ドルプランだとメモリが512MBしかありません。5ドルのプランに変えてメモリー量が大きいタイプに変更すればよい。

類似事例

Last updated