69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
AWSTemplateFormatVersion: "2010-09-09"
|
|
Description: DT load balancing stack
|
|
Parameters:
|
|
environment:
|
|
Type: String
|
|
Description: Name of the environment
|
|
Default: production
|
|
release:
|
|
Type: String
|
|
Description: Name of the release name of the stack version to use.
|
|
Default: production
|
|
PublicSubnets:
|
|
Description: The public subnets for the ALB to run in.
|
|
Type: String
|
|
VpcId:
|
|
Description: ID of the VPC
|
|
Type: AWS::EC2::VPC::Id
|
|
|
|
Resources:
|
|
|
|
#-- Network Load Balancer --#
|
|
PublicNLB:
|
|
Type: AWS::ElasticLoadBalancingV2::LoadBalancer
|
|
Properties:
|
|
Type: network
|
|
LoadBalancerAttributes:
|
|
- Key: deletion_protection.enabled
|
|
Value: false
|
|
Scheme: internet-facing
|
|
Subnets: !Split [",", !Ref PublicSubnets]
|
|
Tags:
|
|
- Key: Name
|
|
Value: !Sub "DT-${environment}-NLB"
|
|
- Key: environment
|
|
Value: !Ref environment
|
|
|
|
NlbTargetGroup:
|
|
Type: AWS::ElasticLoadBalancingV2::TargetGroup
|
|
Properties:
|
|
HealthCheckProtocol: TCP
|
|
HealthCheckPort: 80
|
|
Port: 7777
|
|
Protocol: TCP_UDP
|
|
TargetGroupAttributes:
|
|
- Key: deregistration_delay.timeout_seconds
|
|
Value: '20'
|
|
VpcId: !Ref 'VpcId'
|
|
Tags:
|
|
- Key: Name
|
|
Value: !Sub 'DT-${release}'
|
|
|
|
NlbListener:
|
|
Type: AWS::ElasticLoadBalancingV2::Listener
|
|
Properties:
|
|
DefaultActions:
|
|
- Type: forward
|
|
TargetGroupArn: !Ref NlbTargetGroup
|
|
LoadBalancerArn: !Ref PublicNLB
|
|
Port: 7777
|
|
Protocol: TCP_UDP
|
|
|
|
|
|
Outputs:
|
|
TargetGroup:
|
|
Description: ""
|
|
Value: !Ref NlbTargetGroup
|
|
NlbDnsName:
|
|
Description: ""
|
|
Value: !GetAtt PublicNLB.DNSName |