AWS EC2に無料SSL(let’s encrypt)を設定する
はじめに
最近久しぶりに無料SSLの設定をしようとしたら、手順が更新されていたので備忘録として記事にしときます。
前提
- AWS EC2のAmazonLinux2(CentOS 7)
- NGINX
- 独自ドメインを持っている
- httpで正常に表示ができている
全体の流れ
certbotを使用して証明書の取得とインストールを行います。certbotをインストールするにはsnapというパッケージ管理システムを使う必要があるようです。さらにEC2にsnapをインストールするにはAmazonLinux2用のsnapdリポジトリを取得する必要があります。
導入手順
EC2にターミナルでログインしてコマンドでインストールを行っていきます。
snapdリポジトリを取得
# ディレクトリ移動 $ cd /etc/yum.repos.d/ # リポジトリ取得 $ sudo wget https://people.canonical.com/~mvo/snapd/amazon-linux2/snapd-amzn2.repo
AmazonLinux2ではEPELのリポジトリから取得できないようで、上記のカスタムリポジトリから取得する必要があるとの事です。
今後、EPELのリポジトリを参照しないように、 yumの設定ファイルを書き換えておく場合は、/etc/yum.conf
に除外設定をしておく。
$ sudo vi /etc/yum.conf # 以下を末尾に追加 exclude=snapd-*.el7 snap-*.el7
上記コマンドはvimというエディタを使って編集するものです。vimの使い方がわからない方はググってください。
snapd インストール
公式の手順に従います。
# snapd のインストール $ sudo yum install snapd # systemdユニットを有効にする $ sudo systemctl enable --now snapd.socket # シンボリックリンクを作成 $ sudo ln -s /var/lib/snapd/snap /snap
ここでターミナルを一旦ログアウトしてログインし直すかシステムを再起動します。
# core をインストール $ sudo snap install core # 最新にする $ sudo snap refresh core
Certbot インストール
こちらも公式の手順に従います。
certbot-autoなど古いパッケージが残っている場合は先に削除しておきます。
# 削除 $ sudo yum remove certbot
インストール
# Certbot をインストール $ sudo snap install --classic certbot # シンボリックリンクを作成 $ sudo ln -s /snap/bin/certbot /usr/bin/certbot
証明書の取得とインストール
以下のコマンドで取得からインストール、NGINXの設定ファイルにSSL接続のための設定を書き込むまでしてくれます。(/etc/nginx/nginx.confが上書きされます)
# 証明書の取得とインストール $ sudo certbot --nginx # 証明書を取得するだけの場合 $ sudo certbot certonly --nginx
メールアドレス、証明書を発行するドメインなど聞かれるので指示に従って入力をします。
自動更新をテストする
$ sudo certbot renew --dry-run
証明書の更新について
公式サイトによると、Certbot パッケージには期限切れになる前に自動的に更新をする機能が付属していて、以下のいずれかに更新コマンドがインストールされるとあります。
- /etc/crontab/
- /etc/cron.*/*
- systemctl list-timers
自分の環境では、cron関連には設定されておらず、Systemd timerに設定されているっぽい。(/etc/systemd/system にCertbot関連が追加されていた)
ある記事では、自分でcron設定をしないと自動更新されないという情報もあるので、その辺りは様子見です。
まとめ
無料のSSL証明書の取得と設定の方法、毎回思うのですが、もっと簡単にできるようにならないんでしょうかね。手順も変更になる事もあるので毎回調べて設定しなければいけないので、結構めんどくさいですよね。
-
前の記事
【AWS】EC2にswap領域を用意する(スワップ メモリ) 2022.08.22
-
次の記事
chrome-aws-lambdaをNode.js18に対応させる 2023.12.23
コメントを書く