| Name | Use | Default | Global | Type | Allowed Values |
|---|---|---|---|---|---|
| EnvironmentName | Tagging | dev | true | string | |
| EnvironmentType | Tagging | development | true | string | ['development','production'] |
| VPCId | Security Groups | None | false | AWS::EC2::VPC::Id | |
| DnsDomain | DNS domain to use | None | true | string | |
| SubnetIds | list of subnets | None | false | CommaDelimitedList | |
| SslCertId | ACM certificate ID | None | false | string (arn) | |
| WebACLArn | ACL to use on the load balancer | None | false | string | |
| HostedZoneId | Route53 Zone ID | None | false | string (arn) |
HostedZoneId is ONLY used if use_zone_id is True.
| Name | Value | Exported |
|---|---|---|
| {tg_name}TargetGroup | Target Group Name | true |
| {listener_name}Listener | Listener Name | true |
| LoadBalancer | Load Balancer ARN | true |
| SecurityGroup | Security Group name | true |
| LoadBalancerDNSName | Load Balancer URL | true |
| LoadBalancerCanonicalHostedZoneID | Load Balancer Hosted Zone ID | true |
Component name: 'applicationloadbalancer', template: 'application-loadbalancerdo
parameter name: 'DnsDomain', value: root_domain
parameter name: 'SubnetIds', value: cfout('vpcv2', 'PublicSubnets')
parameter name: 'VPCId', value: cfout('vpcv2', 'VPCId')
parameter name: 'SslCertId', value: cfout('acmv2', 'CertificateArn')
end
loadbalancer_scheme: public
dns_format: ${EnvironmentName}.${DnsDomain}
use_zone_id: false
records:
- lb
listeners:
http:
port: 80
protocol: http
default:
action:
targetgroup: web
targetgroups:
publicDefault:
protocol: http
port: 80
tags:
Name: Default-HTTP
web:
protocol: http
type: ip
port: 80
healthcheck:
path: "/"
interval: 15
timeout: 5
healthy_count: 5
unhealthy_count: 4
code: '200'
tags:
Name:
Fn::Sub: ${EnvironmentName}-app
attributes:
deregistration_delay.timeout_seconds: 30
security_group_rules:
-
protocol: tcp
from: 80
to: 80
ip_blocks:
- ops
- dev
- public
install cfhighlander gem
gem install cfhighlanderor via docker
docker pull theonestack/cfhighlanderRunning the tests
cfhighlander cftest application-loadbalancer