【发布时间】: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