開発日誌
更新日 (2021/09/06)
AmazonLinux2 で lego を使い Route53 認証でサーバ証明書を取得する
AmazonLinux2  lego を使いRoute53 を使った DNS 認証サーバ証明書を取得する手順す

※lego・・・Go製のCLIツールです。

前提条件
AWS EC2 AmazonLinux2
IAM ポリシーを作成する
<INSERT_YOUR_HOSTED_ZONE_ID_HERE> 部分は Route53 の管理画面該当 DNS Zone 情報から取得

	{
	    "Version": "2012-10-17",
	    "Statement": [
	        {
	            "Effect": "Allow",
	            "Action": [
	                "route53:GetChange",
	                "route53:ListHostedZonesByName",
	                "route53:ListResourceRecordSets"
	            ],
	            "Resource": [
	                "*"
	            ]
	        },
	        {
	            "Effect": "Allow",
	            "Action": [
	                "route53:ChangeResourceRecordSets"
	            ],
	            "Resource": [
	                "arn:aws:route53:::hostedzone/<INSERT_YOUR_HOSTED_ZONE_ID_HERE>"
	            ]
	        }
	    ]
	}
 
インストールする
AmazonLinux2 lego をインストール
mkdir tmp
cd tmp
wget https://github.com/go-acme/lego/releases/download/v3.7.0/lego_v3.7.0_linux_amd64.tar.gz
tar zxvf lego_v3.7.0_linux_amd64.tar.gz
mv lego /usr/local/bin/
chmod 755 /usr/local/bin/lego
chown root:root /usr/local/bin/lego
サーバ証明書を取得する
lego を使い、サーバ証明書を取得。 

lego --accept-tos \
--path=/etc/letsencrypt \
--email="email@example.com" \
--dns="route53" \
--domains="www.example.com" \
run
サーバ証明書を更新する
サーバ証明書を更新

lego --accept-tos \
--path=/etc/letsencrypt \
--email="email@example.com" \
--dns="route53" \
--domains="www.example.com" \
renew \
--days 30