我试图使用terraform中的数据源获得已经创建的ALB,然后更新端口443的侦听器,但是当我这样做时,它说侦听器已经创建。问题是,我创建一个新的侦听器不能找出如何更新侦听器或覆盖前一个(铝青铜不是使用起程拓殖先前创建的)。如有任何帮助,不胜感激。
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
}
}
}
不能找出如何更新侦听器或覆盖前一个(铝青铜不是使用起程拓殖先前创建的)。
你不能。这不是TF的工作方式。您的ALB必须由TF管理,以便能够进行修改。如果你愿意,你可以把它导入到TF中。
唯一的其他方法是通过本地执行,您必须使用AWS CLI来修改现有的ALB。