使用 terraform 更新 ALB 中的现有侦听器
Update the existing listener in ALB using terraform
我正在尝试使用 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
}
}
}
can't really figure out how to update the listener or overwrite the previous one (ALB is not created using the terraform previously).
你不能。这不是 TF 的工作方式。您的 ALB 必须由 TF 管理才能修改。需要的话可以import发给TF
唯一的其他方法是通过 local exec,您必须使用 AWS CLI 修改现有的 ALB。
我正在尝试使用 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
}
}
}
can't really figure out how to update the listener or overwrite the previous one (ALB is not created using the terraform previously).
你不能。这不是 TF 的工作方式。您的 ALB 必须由 TF 管理才能修改。需要的话可以import发给TF
唯一的其他方法是通过 local exec,您必须使用 AWS CLI 修改现有的 ALB。