【问题标题】:Update the existing listener in ALB using terraform使用 terraform 更新 ALB 中的现有侦听器
【发布时间】:2021-11-27 11:32:24
【问题描述】:

我正在尝试使用 terraform 中的数据源获取已经创建的 ALB,然后更新端口 443 的侦听器,但是当我这样做时,它说侦听器已经创建。问题是我正在创建一个新的侦听器,无法真正弄清楚如何更新侦听器或覆盖前一个侦听器(ALB 不是以前使用 terraform 创建的)。任何帮助将不胜感激。

data "aws_lb" "alb" {
  arn  = var.alb.lb_arn
  name = var.alb.lb_name
}

data "aws_lb_target_group" "tg" {
  arn  = var.alb.lb_tg_arn
  name = var.alb.lb_tg_name
}

module "alb" {
  source            = "./modules/alb"
  load_balancer_arn = data.aws_lb.alb.arn
  port              = var.alb.port
  protocol          = var.alb.protocol
  certificate_arn   = module.route53-acm.acm_output.arn
  default_action    = var.alb.default_action

}

main.tf

resource "aws_lb_listener" "front_end" {
  load_balancer_arn = var.load_balancer_arn
  port              = var.port
  protocol          = var.protocol
  certificate_arn   = var.certificate_arn

  default_action {
    type = var.default_action.type

    fixed_response {
      content_type = var.default_action.fixed_response.content_type
      message_body = var.default_action.fixed_response.message_body
      status_code  = var.default_action.fixed_response.status_code
    }
  }
}

【问题讨论】:

  • 将你的ALB和相关资源导入Terraform,然后你就可以使用TF来管理它们了:https://www.terraform.io/docs/cli/import/index.html

标签: amazon-web-services terraform terraform-provider-aws aws-application-load-balancer


【解决方案1】:

无法真正弄清楚如何更新侦听器或覆盖之前的侦听器(ALB 之前不是使用 terraform 创建的)。

你不能。这不是 TF 的工作方式。您的 ALB 必须由 TF 管理才能对其进行修改。如果你愿意,你可以import给TF。

唯一的其他方法是通过local exec,您必须使用 AWS CLI 来修改现有的 ALB。

【讨论】:

    猜你喜欢
    • 2020-11-23
    • 2021-06-25
    • 2020-10-18
    • 2018-04-06
    • 2019-08-19
    • 1970-01-01
    • 2022-11-17
    • 2021-03-03
    • 2022-10-24
    相关资源
    最近更新 更多