【问题标题】:How to connect aws certificate manager to aws_alb_listener in terraform?如何将 aws 证书管理器连接到 terraform 中的 aws_alb_listener?
【发布时间】:2020-07-26 01:05:19
【问题描述】:

我在 aws 证书管理器中有证书。

如何将此证书连接到 terraform 中的 aws_alb_listener

现在我从计算机中的文件中获取证书。

resource "aws_alb_listener" "alb_front_https" {
    load_balancer_arn   =   "${aws_alb.demo_eu_alb.arn}"
    port            =   "443"
    protocol        =   "HTTPS"
    ssl_policy      =   "ELBSecurityPolicy-TLS-1-2-Ext-2018-06"
    certificate_arn     =   "${aws_iam_server_certificate.lb_cert.arn}"
    default_action {
        target_group_arn    =   "${aws_alb_target_group.nginx.arn}"
        type            =   "forward"
    }
}

resource "aws_iam_server_certificate" "lb_cert" {
  name              = "lb_cert-${var.app}"
  certificate_body  = "${file("./www.xxx.com/cert.pem")}"
  private_key       = "${file("./www.xxx.com/privkey.pem")}"
  certificate_chain = "${file("./www.xxx.com/chain.pem")}"
}

我想aws_alb_listener 在 aws 证书管理器上使用证书。

如何在 terraform 中做到这一点?

【问题讨论】:

    标签: amazon-web-services terraform terraform-provider-aws


    【解决方案1】:

    您可以使用 ARN 获取证书,

    data "aws_acm_certificate" "certificate" {
      domain      = "your.domain"
      statuses    = ["ISSUED"]
      most_recent = true
    }
    

    然后附加到监听器

    resource "aws_lb_listener_certificate" "ssl_certificate" {
      listener_arn    = aws_lb_listener.alb_front_https.arn
      certificate_arn = data.aws_acm_certificate.certificate.arn
    }
    

    【讨论】:

    • 我已经成功使用了第一个块,然后将其 arn 作为certificate_arn 提供给相关的aws_lb_listener。无需创建监听证书。
    【解决方案2】:

    您可以为 aws_alb_listener 资源指定基于 IAM 的 Arn 或基于 ACM 的 Arn。

    如果您将 certificate_arn 设置为您的 ACM 证书 Arn,这也将起作用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 1970-01-01
      • 2021-10-26
      • 2019-07-27
      相关资源
      最近更新 更多