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 · 最終更新: by hayashi
