如何使用 terraform 将来自不同区域 (us-east1) 的 ACM 证书附加到另一个区域中的应用程序负载均衡器

cha*_* ly 3 amazon-web-services terraform terraform-provider-aws aws-acm

我使用 terraform 在 ap-southeast-1 中设置了 AWS 基础设施,但是,我想使用 aws_alb_listener 资源将在 us-east1 中创建的 ACM 证书链接到我的负载均衡器。


resource "aws_alb_listener" "https" {
  load_balancer_arn = aws_lb.main.id
  port              = 443
  protocol          = "HTTPS"
  ssl_policy        = "ELBSecurityPolicy-2016-08"
  certificate_arn   = var.acm_certificate_arn
  depends_on        = [aws_alb_target_group.main]

  default_action {
    target_group_arn = aws_alb_target_group.main.arn
    type             = "forward"
  }
}
Run Code Online (Sandbox Code Playgroud)

当我应用 terraform 时,它会引发错误。

是否可以使用 terraform 将 ACM 证书附加到来自不同区域的 alb?

我的用例是该证书还将在 AWS CloudFront 中用作 CDN。

Mar*_*cin 5

是否可以使用 terraform 将 ACM 证书附加到来自不同区域的 alb?

遗憾的是这是不可能的。ACM 证书只能在其创建的区域使用,不包括 CloudFront 等全球资源。

对于您的 ALB,您必须在 ALB 的区域中创建新的 ACM 并将其注册到同一域。来自AWS 博客

必须在与负载均衡器相同的 AWS 区域中请求或导入ACM 证书。Amazon CloudFront 发行版必须在美国东部(弗吉尼亚北部)区域请求证书。