SEブログ

【AWS】LightsailでSSL証明書を手動更新する

 

こんにちは!SE ブログの相馬です。

 

 

 

今回は、Lightsail の SSL 証明書を更新してみました。SSL 証明書は Let’s Encrypt を使用しております。

 

 

この更新方法は、以下の記事で紹介している方法で Let’s Encrypt をインストールした場合になりますので、別の方法でインストールした場合では成功するかどうか分かりません。

 

 

また、まだ証明書をインストールしていない場合、Lightsail に証明書をインストールする記事は別にありますので、参考にしていただければと思います。

 

【WordPress】Amazon Lightsail でWordPressを使う②

 

 

 

スポンサーリンク

一応 Let’s Encrypt の説明

 

 

前置きからですみませんが、Let’s Encrypt は Internet Security Research Group (ISRG) が運営しており、Let’s Encrypt はプロジェクトの名前になります。

 

 

Let’s Encrypt は証明書機関が提供する無料の SSL 証明書で、有料の証明書と同じくらいのセキュリティで保護されております。

 

 

 

スポンサーリンク

更新方法

 

 

特にありませんので、SSL 証明書を更新してみましょう。

 

 

まず、AWS にログインして、Lightsail の管理画面からコンソールを起動します。※ターミナルから SSH 接続しても良いのですが、ここではこの方法で進めます。

 

 

1. [接続] から [SSH を使用して接続] をクリックします。

 

 

 

すると、以下のコンソール画面が起動しますので、この画面上で作業します。

 

 

 

2. /tmp/letsencrypt/ ディレクトリに移動します。

 

bitnami@user:~$ cd /tmp/letsencrypt/

 

 

/tmp/ ディレクトに /letsencrypt/ がなければ、一旦 /tmp/ に移動して以下の方法で letsencrypt をダウンロードしてあげましょう。

 

 

※ Lightsail のインスタンスを再起動した場合か、スナップショットからインスタンスを作成した場合に /tmp/ が空になってしまう現象がありました。

 

bitnami@user:~/tmp$ git clone https://github.com/letsencrypt/letsencrypt

 

 

 

3. ./letsencrypt-auto renew を実行します。これで証明書の更新に必要なファイルが出力されます。

 

bitnami@user:~/tmp/letsencrypt$ ./letsencrypt-auto renew

Requesting to rerun ./letsencrypt-auto with root privileges...
Creating virtual environment...
Installing Python packages...
Installation succeeded.
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/soma-engineering.com.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert is due for renewal, auto-renewing...
#[一部省略]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed without reload, fullchain is
/etc/letsencrypt/live/soma-engineering.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#[以下、証明書の更新が成功していると表示されている]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/soma-engineering.com/fullchain.pem (success)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

 

 

4. root 権限に変更し、証明書の更新で出力されたファイルをコピーします。

 

bitnami@user:~/tmp/letsencrypt$ sudo su -
bitnami@user:~# cp /etc/letsencrypt/live/soma-engineering.com/privkey.pem /opt/bitnami/apache2/conf/server.key
bitnami@user:~# cp /etc/letsencrypt/live/soma-engineering.com/fullchain.pem /opt/bitnami/apache2/conf/server.crt

 

 

 

5. Web サーバー (httpd) のサービスを再起動します。作業はこれで完了です。

 

bitnami@user:~# /opt/bitnami/ctlscript.sh restart apache
Unmonitored apache
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd stopped
Syntax OK
/opt/bitnami/apache2/scripts/ctl.sh : httpd started at port 80
Monitored apache

 

 

 

更新後の確認

 

 

証明書が更新されましたので、ブラウザから証明書の有効期限が更新されたか確認してみましょう。

 

 

以下は Google Chrome の場合になります。更新されている事が確認できました。

 

 

 

 

スポンサーリンク

まとめ

 

 

以上になります。いかがでしょうか。

 

 

Let’s Encrypt の SSL 証明書は無料ですが、3 カ月毎に更新しなければなりません。ただし Lightsail でも他の レンタルサーバーでも Lightsail は非常に多く使用されておりますし、信頼できる証明書機関になりますので是非使ってみると良いでしょう。

 

 

また今回は手動で更新しましたが、もちろんこれを自動化する事もできます。自動化の記事ができましたらリンクを貼りますね。

 

 

それでは最後までお読みいただきありがとうございました!