nlb.tf 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. resource "aws_lb" "nlb" {
  2. name = "${var.instance_name}-nlb"
  3. internal = false
  4. load_balancer_type = "network"
  5. # Not supported for NLB
  6. #security_groups = [aws_security_group.nlb-sg.id]
  7. # Note, changing subnets results in recreation of the resource
  8. subnets = var.subnets
  9. enable_cross_zone_load_balancing = true
  10. access_logs {
  11. bucket = "xdr-elb-${ var.environment }"
  12. enabled = true
  13. }
  14. tags = merge(var.standard_tags, var.tags)
  15. }
  16. #########################
  17. # Listeners
  18. resource "aws_lb_listener" "nlb-listener-3023" {
  19. load_balancer_arn = aws_lb.nlb.arn
  20. port = "3023"
  21. protocol = "TCP"
  22. default_action {
  23. type = "forward"
  24. target_group_arn = aws_lb_target_group.nlb-target-3023.arn
  25. }
  26. }
  27. resource "aws_lb_listener" "nlb-listener-3024" {
  28. load_balancer_arn = aws_lb.nlb.arn
  29. port = "3024"
  30. protocol = "TCP"
  31. default_action {
  32. type = "forward"
  33. target_group_arn = aws_lb_target_group.nlb-target-3024.arn
  34. }
  35. }
  36. resource "aws_lb_listener" "nlb-listener-3026" {
  37. load_balancer_arn = aws_lb.nlb.arn
  38. port = "3026"
  39. protocol = "TCP"
  40. default_action {
  41. type = "forward"
  42. target_group_arn = aws_lb_target_group.nlb-target-3026.arn
  43. }
  44. }
  45. #########################
  46. # Targets
  47. resource "aws_lb_target_group" "nlb-target-3023" {
  48. name = "${var.instance_name}-nlb-target-3023"
  49. port = 3023
  50. protocol = "TCP"
  51. target_type = "instance"
  52. vpc_id = var.vpc_id
  53. tags = merge(var.standard_tags, var.tags)
  54. }
  55. resource "aws_lb_target_group_attachment" "nlb-target-3023-instance" {
  56. target_group_arn = aws_lb_target_group.nlb-target-3023.arn
  57. target_id = aws_instance.instance.id
  58. port = 3023
  59. }
  60. resource "aws_lb_target_group" "nlb-target-3024" {
  61. name = "${var.instance_name}-nlb-target-3024"
  62. port = 3024
  63. protocol = "TCP"
  64. target_type = "instance"
  65. vpc_id = var.vpc_id
  66. tags = merge(var.standard_tags, var.tags)
  67. }
  68. resource "aws_lb_target_group_attachment" "nlb-target-3024-instance" {
  69. target_group_arn = aws_lb_target_group.nlb-target-3024.arn
  70. target_id = aws_instance.instance.id
  71. port = 3024
  72. }
  73. resource "aws_lb_target_group" "nlb-target-3026" {
  74. name = "${var.instance_name}-nlb-target-3026"
  75. port = 3026
  76. protocol = "TCP"
  77. target_type = "instance"
  78. vpc_id = var.vpc_id
  79. tags = merge(var.standard_tags, var.tags)
  80. }
  81. resource "aws_lb_target_group_attachment" "nlb-target-3026-instance" {
  82. target_group_arn = aws_lb_target_group.nlb-target-3026.arn
  83. target_id = aws_instance.instance.id
  84. port = 3026
  85. }
  86. #########################
  87. # DNS Entry
  88. module "public_dns_record_for_nlb" {
  89. source = "../../submodules/dns/public_ALIAS_record"
  90. name = "${var.instance_name}-nlb"
  91. target_dns_name = aws_lb.nlb.dns_name
  92. target_zone_id = aws_lb.nlb.zone_id
  93. dns_info = var.dns_info
  94. providers = {
  95. aws.mdr-common-services-commercial = aws.mdr-common-services-commercial
  96. }
  97. }