スタンダード Let's Encrypt SSL 証明書を Lightsail インスタンスにインストールするにはどうすればよいですか?

所要時間2分
0

Bitnami スタックを使用しない Amazon Lightsail インスタンスでホストされているウェブサイト用の標準 SSL 証明書をインストールするにはどうすればよいですか?

簡単な説明

以下の解決策は、Bitnami スタックを使用していない Lightsail インスタンスでホストされているウェブサイトのための、標準的な Let's Encrypt SSL 証明書のインストールについて説明しています。これらのインスタンスの設計図の例には、Amazon Linux 2、Ubuntu などがあります。別のインスタンスブループリントを使用している場合、またはスタンダード証明書をインストールする場合は、次のいずれかを参照してください。

スタンダードLet's Encrypt 証明書

WordPress、LAMP、Magento など、Bitnami スタックを持つ Lightsail インスタンスにスタンダードLet's Encrypt SSL (ワイルドカードではない) をインストールする情報については、「Amazon Lightsail でホストされている Bitnami スタックにスタンダードLet's Encrypt SSLをインストールするにはどうすればよいですか 」をご覧ください。

ワイルドカートLet's Encrypt証明書 (例:*.example.com)

WordPress、Lamp、Magento、MEAN など、Bitnami スタックを持つ Lightsail インスタンスにワイルドカード Let's Encrypt 証明書をインストールする方法については、「Amazon Lightsail でホストされている Bitnami スタックに ワイルドカート Let's Encrypt SSL 証明書をインストールするにはどうすればよいですか? 」を参照してください。

Amazon Linux 2、Ubuntu など、 Bitnamiスタックを使用しない Lightsail インスタンスに ワイルドカード Let'sEncrypt 証明書をインストールする方法については、「Amazon Lightsail でワイルドカードLet's Encrypt SSL をインストールするにはどうしたらよいですか?」を参照してください。

解像度

前提条件と制限事項

  • 以下の手順で、証明書をサーバーにインストールします。 証明書の構成や HTTPS リダイレクトの設定など、追加のステップを手動で完了する必要があります。
  • ドメインが直接、またはロードバランサーまたはディストリビューションを介して Lightsail インスタンスを指していることを確認します。証明書の検証を完了するには、ウェブサイトのURLがロードバランサーまたは、ウェブブラウザのディストリビューションからエラーでで返ってこないかを確認してください。

**注:**この方法では、最初に Certbot ツールをインストールする必要があります。インストール手順については、「 Let's Encrypt インストール用に Certbot パッケージを Lightsail インスタンスにインストールするにはどうすればよいですか」を参照してください。

1.    インスタンスで実行されているウェブサービスを停止します。以下に、さまざまな Linux ディストリビューション用のコマンドの例を示します。

Amazon Linux2、CentOSなどのLinuxディストリビューションでのApacheウェブサービス

sudo service httpd stop

Ubuntu、DebianなどのLinuxディストリビューションでのApacheウェブサービス

sudo service apache2 stop

NGINX ウェブサービス

sudo service nginx stop

2.    次のコマンドを実行して SSL 証明書をインストールします。example.com はご自身のドメイン名に置き換えることを確認してください。

sudo certbot certonly --standalone -d example.com -d www.example.com

SSL 証明書が正常に生成されると、「Successfully received certificate(証明書を正常に受信しました)」というメッセージが表示されます。証明書とキーファイルの場所も表示されます。これらのファイルの場所は、手順 5 で使用するためにメモ帳に保存します。

3.    ウェブサービスを起動します。以下に、さまざまな Linux ディストリビューション用のコマンドの例を示します。

Amazon Linux 2、CentOSなどのLinuxディストリビューションでのApacheウェブサービス

sudo service httpd start

Ubuntu、DebianなどのLinuxディストリビューションでのApacheウェブサービス

sudo service apache2 start

NGINX ウェブサービス

sudo service nginx start

4.    証明書の自動更新を設定します。

certbot パッケージが snapd を使用してインストールされている場合、更新は systemd タイマーまたは cronjobs で自動的に構成されます。ただし、Certbot コマンドを実行する前に ウェブ サービスを停止する必要があるため、ウェブサービスの停止と開始を自動化する必要があります。この自動化を設定するには、次のコマンドを実行します。次の例では、ウェブサービスとして Apache2 を使用しています。ウェブサービスに応じて code と stop-start コマンドを置き換えます。

sudo sh -c 'printf "#!/bin/sh\n service apache2 stop \n" > /etc/letsencrypt/renewal-hooks/pre/webservice.sh'
sudo sh -c 'printf "#!/bin/sh\n service apache2 start \n" > /etc/letsencrypt/renewal-hooks/post/webservice.sh'
sudo chmod 755 /etc/letsencrypt/renewal-hooks/*/webservice.sh

Linux ディストリビューションが Amazon Linux 2 または FreeBSD の場合、Certbot パッケージは snapd を使ってインストールされていないことになります。この場合、次のコマンドを実行して、更新を手動で設定する必要があります。次の例では、ウェブサービスとして Apache2 を使用しています。ウェブサービスに応じて code と stop-start コマンドを置き換えます。

echo "30 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew --pre-hook 'service apache2 stop' --post-hook 'service apache2 start'" | sudo tee -a /etc/crontab > /dev/null

5.     証明書のインストールと更新のセットアップだけが完了します。この証明書を使用するように ウェブサーバーを構成し、HTTPS リダイレクトを設定する必要があります。この設定は異なり、インスタンスでのウェブサーバーの設定によって異なります。これらの手順を完了する手順については、ウェブサービスに基づく公式ドキュメントを参照してください。


AWS公式
AWS公式更新しました 2年前