nlb.tf 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #########################
  2. # EIP
  3. resource "aws_eip" "static" {
  4. count = 2
  5. vpc = true
  6. tags = merge(var.tags, { Name = "${var.name}-nlb-external-${var.environment}" })
  7. }
  8. #########################
  9. # ELB
  10. resource "aws_lb" "static" {
  11. name_prefix = substr("${var.name}-static", 0, 6)
  12. load_balancer_type = "network"
  13. internal = false
  14. subnet_mapping {
  15. subnet_id = var.public_subnets[0]
  16. allocation_id = aws_eip.static[0].id
  17. }
  18. subnet_mapping {
  19. subnet_id = var.public_subnets[1]
  20. allocation_id = aws_eip.static[1].id
  21. }
  22. access_logs {
  23. bucket = "xdr-elb-${var.environment}"
  24. enabled = true
  25. }
  26. tags = merge(var.tags, { Name = "${var.name}-nlb-external-${var.environment}" })
  27. }
  28. resource "aws_lb_listener" "static" {
  29. load_balancer_arn = aws_lb.static.arn
  30. port = var.listener_port
  31. protocol = "TCP"
  32. default_action {
  33. type = "forward"
  34. target_group_arn = aws_lb_target_group.static.arn
  35. }
  36. tags = merge(var.tags, { Name = "${var.name}-nlb-external-${var.environment}" })
  37. }
  38. resource "aws_lb_target_group" "static" {
  39. name_prefix = substr("${var.name}-static", 0, 6)
  40. port = var.listener_port
  41. protocol = "TCP"
  42. target_type = "alb"
  43. vpc_id = var.vpc_id
  44. tags = merge(var.tags, { Name = "${var.name}-nlb-external-${var.environment}" })
  45. }
  46. resource "aws_lb_target_group_attachment" "static" {
  47. target_group_arn = aws_lb_target_group.static.arn
  48. target_id = aws_lb.external.id
  49. port = var.listener_port
  50. }