下の記事でec2からletsEncrypt証明書を取得しようとした際、OSがAmazonLinux2だったがために詰まったところの補足。類似記事はきっとあるけど気にしない。
LB(ALB)配下のec2からLetsEncrypt証明書を取得しようとしたら、別ホストが認証リクエストを受けて困った
# cat /etc/system-release
Amazon Linux release 2 (Karoo)
(以下、全てroot権限での操作になります)
certbot-autoが --debugオプションつけてもエラー
「amazonLinux + letsEncrypt」で検索すると、たいてい出てくる「--debugオプションつければok」が、Amazon linux2だと通用しなくて怒られる。
Sorry, I don't know how to bootstrap Certbot on your operating system!
certbot-auto(中身はpythonスクリプト)を見ると、ExpermentalながらAmazonLinuxには対応しているようなんだが、その判定条件に引っかかってない。判定するファイルを変えて対応
-elif [ -f /etc/issue ] && grep -iq "Amazon Linux" /etc/issue ; then
+elif [ -f /etc/system-release ] && grep -iq "Amazon Linux" /etc/system-release ; then
Bootstrap() {
ExperimentalBootstrap "Amazon Linux" BootstrapRpmCommon
}
BOOTSTRAP_VERSION="BootstrapRpmCommon $BOOTSTRAP_RPM_COMMON_VERSION"
EPELがねーよエラー
To use Certbot, packages from the EPEL repository need to be installed.
とか怒られた場合は、
amazon-linux-extras install -y epel
augeasがねーよエラー
どのタイミングでどう怒られたか覚えてないけど
yum install augeas
aws-cliコマンドを使ってIAMやLBに登録する場合
certbot-autoまでなら以上でクリアできた。が、冒頭の参照記事でそれをaws-cli使ってIAMやLB(elb/alb)に登録する場合は、さらにパッケージが必要
yum install jq