I got this working with a Network Load Balancer as opposed to a classic ELB. Here's a cloudformation template snippet I used to set it up:
CMRoute53:
Type: AWS::Route53::RecordSet
Properties:
AliasTarget:
DNSName: !GetAtt [CMLoadBalancer, DNSName]
HostedZoneId: <NLB hosted zone id from https://docs.aws.amazon.com/general/latest/gr/rande.html#elb_region>;
Comment: DNS Record for the Cluster Master (for indexer discovery)
HostedZoneName: 'location.net.'
Name: 'master.location.net'
Type: A
CMLoadBalancer:
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
Properties:
Type: network
Scheme: internal
...
CMTargetGroup8089:
Type: AWS::ElasticLoadBalancingV2::TargetGroup
Properties:
HealthCheckPort: 8089
HealthCheckProtocol: TCP
Port: 8089
Protocol: TCP
VpcId: <vpcid>
CMListener8089:
Type: AWS::ElasticLoadBalancingV2::Listener
Properties:
DefaultActions:
- TargetGroupArn: !Ref CMTargetGroup8089
Type: forward
LoadBalancerArn: !Ref CMLoadBalancer
Port: 8089
Protocol: TCP
CMAutoScalingGroup:
Type: AWS::AutoScaling::AutoScalingGroup
Properties:
...
TargetGroupARNs:
- !Ref CMTargetGroup8089
... View more