====== TerraformでLet'sEncryptの証明書を取得する ====== [[https://qiita.com/Toshinori_Hayashi/items/3246b0ddf4a4449b4d0b|Qiita]]で細かいの書いたので、ここ見るような奴はソースあれば分かんだろ。((と暴論を吐いてみる)) provider "acme" { server_url = "https://acme-v02.api.letsencrypt.org/directory" # server_url = "https://acme-staging-v02.api.letsencrypt.org/directory" } resource "tls_private_key" "private_key" { algorithm = "RSA" } resource "acme_registration" "reg" { account_key_pem = "${tls_private_key.private_key.private_key_pem}" email_address = "yourname@example.com" } resource "acme_certificate" "certificate" { account_key_pem = "${acme_registration.reg.account_key_pem}" common_name = "sub.example.com" # min_days_remaining            = "7" dns_challenge { provider = "route53" config { AWS_PROFILE = "PROFILE_NAME" # AWS_ACCESS_KEY_ID = "${var.aws_access_key}" # AWS_SECRET_ACCESS_KEY = "${var.aws_secret_key}" AWS_DEFAULT_REGION = "ap-northeast-1" } } } ===== 取得できる値 ===== 今回のソースで取得できる値で特に必要そうなもの ^変数^内容^ |acme_certificate.certificate.certificate_pem|証明書(pem形式)| |acme_certificate.certificate.issuer_pem|中間証明書(pem形式)| |acme_certificate.certificate.private_key_pem|秘密鍵(pem形式)| ===== 更新 ===== 証明書の更新が必要な場合はterraform applyを行った際に必要に応じて自動的に行われます。\\ 必要性はmin_days_remainingの値で判断されます。\\ 証明書の期限がこの値を下回った場合に更新されます。(0を設定すると更新はされません) ===== 参考 ===== [[https://qiita.com/Toshinori_Hayashi/items/3246b0ddf4a4449b4d0b|TerraformでLet'sEncryptの証明書を取得する]]