serverapps:configmgmt:terraform:letsencrypt
TerraformでLet'sEncryptの証明書を取得する
Qiitaで細かいの書いたので、ここ見るような奴はソースあれば分かんだろ。1)
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を設定すると更新はされません)
参考
1)
と暴論を吐いてみる
serverapps/configmgmt/terraform/letsencrypt.txt · 最終更新: 2018/11/06 02:13 by hayashi