SSL証明書を要求するためにterraformを使用する
こんにちは!コンサル部のaayushです。
初めてテラフォームを使う場合は、このブログでコマンドを確認することをお勧めします。
議題
- AWSプロバイダを設定されます
- amazon certificate managerに公開証明書を要求する。
- route 53 hosted zoneの詳細を取得する
- ルートにレコードセットを作成する
- ACM 証明書の検証
awsプロバイダが適切な認証情報で構成されている
provider "aws" { region = profile = }
は、amazon 証明書マネージャにパブリック証明書を要求します。
resource "aws_acm_certificate" "acm_certificate" { domain_name = subject_alternative_names = [] validation_method = lifecycle { create_before_destroy = } }
route 53 hosted zoneの詳細を取得する
data "aws_route53_zone" "route53_zone" { name = private_zone = }
ドメインバリデーションのためにroute53にレコードセットを作成する
resource "aws_route53_record" "route53_record" { for_each = { for dvo in *aws_acm_certificate.acm_certificate*.domain_validation_options : dvo.domain_name => { name = dvo.resource_record_name record = dvo.resource_record_value type = dvo.resource_record_type } } allow_overwrite = true name = each.value.name records = [each.value.record] ttl = 60 type = each.value.type zone_id = }
ACM 証明書の検証
resource "aws_acm_certificate_validation" "acm_certificate_validation" { certificate_arn = validation_record_fqdns = [for record in *aws_route53_record.route53_record* : record.fqdn] }
参考情報
setting-up-an-ssl-certificate-using-aws-and-terraform
最後に
SSL証明書を要求するためにterraformを使用する方法をご紹介してきました Terraformは自動化によって生産性を向上させる, 構成と設定の一貫性を維持する, などなど
この記事がどなたかのお役に立てば幸いです。