|
@@ -1,19 +1,39 @@
|
|
|
#------------------------------------------------------------------------------
|
|
|
-# An external ALB for the indexers for HEC
|
|
|
+# An internal ALB without ACKs for moose only
|
|
|
#------------------------------------------------------------------------------
|
|
|
|
|
|
#########################
|
|
|
# DNS Entry
|
|
|
resource "aws_route53_record" "hec_internal" {
|
|
|
+ count = local.is_moose ? 1 : 0
|
|
|
name = "iratemoses"
|
|
|
type = "CNAME"
|
|
|
zone_id = var.dns_info["legacy_private"]["zone_id"]
|
|
|
ttl = "600"
|
|
|
- records = [ aws_lb.hec_internal.dns_name ]
|
|
|
+ records = [ aws_lb.hec_internal[count.index].dns_name ]
|
|
|
|
|
|
provider = aws.legacy
|
|
|
}
|
|
|
|
|
|
+resource "aws_route53_record" "hec_internal_accenturefederalcyber" {
|
|
|
+ count = local.is_moose ? 1 : 0
|
|
|
+ name = "iratemoses"
|
|
|
+ type = "CNAME"
|
|
|
+ zone_id = var.dns_info["private"]["zone_id"]
|
|
|
+ ttl = "600"
|
|
|
+ records = [ aws_lb.hec_internal[count.index].dns_name ]
|
|
|
+
|
|
|
+ provider = aws.c2
|
|
|
+}
|
|
|
+
|
|
|
+output hec-without-acks-internal-fqdn {
|
|
|
+ value = local.is_moose ? aws_route53_record.hec_internal[0].fqdn : "<not created for non-moose>"
|
|
|
+}
|
|
|
+
|
|
|
+output hec-without-acks-internal-records {
|
|
|
+ value = local.is_moose ? aws_lb.hec_internal[0].dns_name : "<not created for non-moose>"
|
|
|
+}
|
|
|
+
|
|
|
#########################
|
|
|
# Certificate
|
|
|
|
|
@@ -22,6 +42,7 @@ resource "aws_route53_record" "hec_internal" {
|
|
|
#########################
|
|
|
# ELB
|
|
|
resource "aws_lb" "hec_internal" {
|
|
|
+ count = local.is_moose ? 1 : 0
|
|
|
tags = merge(var.standard_tags, var.tags)
|
|
|
name = "iratemoses"
|
|
|
load_balancer_type = "application"
|
|
@@ -32,31 +53,33 @@ resource "aws_lb" "hec_internal" {
|
|
|
|
|
|
resource "aws_lb_listener" "hec_internal_443" {
|
|
|
count = local.is_moose ? 1 : 0
|
|
|
- load_balancer_arn = aws_lb.hec.arn
|
|
|
+ load_balancer_arn = aws_lb.hec_internal[count.index].arn
|
|
|
port = 443
|
|
|
protocol = "HTTPS"
|
|
|
ssl_policy = "ELBSecurityPolicy-TLS-1-2-2017-01"
|
|
|
- certificate_arn = aws_acm_certificate.hec_cert.arn
|
|
|
+ certificate_arn = aws_acm_certificate.hec_cert.arn # Intentionally using the external cert
|
|
|
default_action {
|
|
|
type = "forward"
|
|
|
- target_group_arn = aws_lb_target_group.hec_internal_8088.arn
|
|
|
+ target_group_arn = aws_lb_target_group.hec_internal_8088[count.index].arn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
resource "aws_lb_listener" "hec_internal_8088" {
|
|
|
- load_balancer_arn = aws_lb.hec.arn
|
|
|
+ count = local.is_moose ? 1 : 0
|
|
|
+ load_balancer_arn = aws_lb.hec_internal[count.index].arn
|
|
|
port = 8088
|
|
|
protocol = "HTTPS"
|
|
|
ssl_policy = "ELBSecurityPolicy-TLS-1-2-2017-01"
|
|
|
- certificate_arn = aws_acm_certificate.hec_cert.arn
|
|
|
+ certificate_arn = aws_acm_certificate.hec_cert.arn # Intentionally using the external cert
|
|
|
default_action {
|
|
|
type = "forward"
|
|
|
- target_group_arn = aws_lb_target_group.hec_internal_8088.arn
|
|
|
+ target_group_arn = aws_lb_target_group.hec_internal_8088[count.index].arn
|
|
|
}
|
|
|
}
|
|
|
|
|
|
resource "aws_lb_target_group" "hec_internal_8088" {
|
|
|
- name = "${var.prefix}-legacy-hec-targets"
|
|
|
+ count = local.is_moose ? 1 : 0
|
|
|
+ name = "${var.prefix}-legacy-hec-int-tgts"
|
|
|
port = 8088
|
|
|
protocol = "HTTPS"
|
|
|
target_type = "instance"
|
|
@@ -68,9 +91,9 @@ resource "aws_lb_target_group" "hec_internal_8088" {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-# Attach the instnaces to the ELB
|
|
|
+# Attach the instances to the ELB
|
|
|
resource "aws_autoscaling_attachment" "hec_internal_asg_attachments" {
|
|
|
- for_each = toset( var.elb_attachments )
|
|
|
- alb_target_group_arn = aws_lb_target_group.hec_internal_8088.arn
|
|
|
+ for_each = local.is_moose ? toset( var.elb_attachments ) : []
|
|
|
+ alb_target_group_arn = aws_lb_target_group.hec_internal_8088[0].arn
|
|
|
autoscaling_group_name = each.key
|
|
|
}
|