AWS lightsailにcertbotをインストールしLets encryptでSSL化[新規]
基本的には以下のAWSドキュメントに従うことになる.本記事では以下より実行コマンドを抜粋する形で手順を紹介.
[
](https://www.rentracks.jp/adx/r.html?idx=0.58223.337376.7605.10779&dna=131055)
Certbotをインストールするまで
sudo apt-get updatesudo apt-get install software-properties-commonsudo apt-get install gpg -ysudo apt-add-repository ppa:certbot/certbot -ysudo apt-get update -ysudo apt-get install certbot -y※apt-updateでエラーがでるときは以下を実行してからapt-updateを再度実行
...sudo apt-add-repository -r ppa:certbot/certbotsudo apt-get update -ysudo apt-get install certbot -yLet’s Encrypt の SSL ワイルドカード証明書をリクエストする
DOMAIN=hoge.comWILDCARD=*.$DOMAIN# 正しい変数が設定されているかを確認echo $DOMAIN && echo $WILDCARDここからが少し複雑なので,注意して進めていこう.
sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonlyを実行後,メールアドレスの入力といくつかの質問があるため,これらに答えていくと, Are you OK with your IP being logged? の質問がでてくる.これに答えた後,
Please deploy a DNS TXT record under the name _acme-challenge.hoge.com with the following value: XXXXXXXXXXXXXXXXXXXXXX
というコメントと共にTXT recordが出現する.上のXの文字列がTXX recordとなる.
ここで,Enterを押してしまうと一からやり直しなので,コンソールはいったん待機させておく.
そして,別ウィンドウでLightsail のホームページを開き, ・[ネットワーキング] タブを選択 ・ページの セクションで、Certbot 証明書リクエストで指定したドメインの DNS ゾーンを選択 ・DNS ゾーンエディタで [レコードの追加] を選択
を行うと以下のような画面が出現するはずだ.
Aレコードは独自ドメインを設定する際,すでに登録されているはずだ.※登録がまだの場合は,「lightsail 独自ドメイン」などで手順を調べて,設定を済ませてからこのドキュメントに戻ってこよう.
ではTXTレコードを入力していこう.
レコードタイプのドロップダウンメニューで を選択し,次のように [サブドメイン]には_acme-challengeを入力し, には先ほどコンソールで表示されたTXT recordを入力する.
以上でTXT recordの設定が完了.
さらに,TXT recordが反映されたことを確認するため, https://mxtoolbox.com/TXTLookup.aspx にアクセスし,自身のドメイン名を入力後,次のように登録されたTXT recordが表示されることを確認
問題なく表示されることが確認出来たら,このタイミングでコンソールに戻ってEnterを押す.すると2個目のTXT recordがでてくるため,本手順を繰り返し行い2個目を登録する.
TXT recordの確認はオプションではなく,これをやっておかないとエラーがでるので,必ず忘れずにやっておこう.また,TXT recordの確認は,1つ登録するたびに1回確認しないとエラーがでるため,注意しよう.
1回ずつ確認というのは面倒だが,必ずやっておこう.ミスしてももう一度やり直せるため気軽に挑戦してみよう.SSL化の一番のはまりどころはここにあるように感じる.
以下のようにcongratulation!が表示されれば,無事成功である.
Apache サーバーディレクトリで Let’s Encrypt の証明書ファイルへのリンクを作成
コンソールでサービスを停止
sudo /opt/bitnami/ctlscript.sh stop以下で紹介するのは,Ubuntu Linux ディストリビューションを使用する古いインスタンスの場合のコマンドである,AWSのドキュメントでは,アプローチ A (システムパッケージを使用した Bitnami インストール):とアプローチ B (自己完結型 Bitnami インストール):での手順が紹介されているため,以下を実行する前にドキュメントの手順を確認してから進めよう.
確認ができたら,バックアップの作成を行う
DOMAIN=example.comsudo mv /opt/bitnami/apache/conf/bitnami/certs/server.crt /opt/bitnami/apache/conf/bitnami/certs/server.crt.oldsudo mv /opt/bitnami/apache/conf/bitnami/certs/server.key /opt/bitnami/apache/conf/bitnami/certs/server.key.oldsudo mv /opt/bitnami/apache/conf/bitnami/certs/server.csr /opt/bitnami/apache/conf/bitnami/certs/server.csr.old証明書へのリンクを作成
sudo ln -s /etc/letsencrypt/live/$DOMAIN/privkey.pem /opt/bitnami/apache/conf/bitnami/certs/server.keysudo ln -s /etc/letsencrypt/live/$DOMAIN/fullchain.pem /opt/bitnami/apache/conf/bitnami/certs/server.crtサービスの開始
sudo /opt/bitnami/ctlscript.sh start以上を実行するとhttpsでのアクセスができているはずだ.
Lets encryptの有効期限は3か月で,証明書の有効期限が切れた場合は,以下の手順を繰り返すことになる