ユーザ用ツール

サイト用ツール


サイドバー

Index

はじめてのおつかい






DokuWiki整形記法


PlayGround



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 11:13 by hayashi