CustomizationsConfig / AppConfigItem

Application configuration. Used to define two tier application configurations for the accelerator.

applications:
- name: appA
vpc: test1
deploymentTargets:
accounts:
- Management
excludedRegions:
- us-east-1
- us-west-2
autoscaling:
name: appA-asg-1
maxSize: 4
minSize: 1
desiredSize: 2
launchTemplate: appA-lt
healthCheckGracePeriod: 300
healthCheckType: ELB
targetGroups:
- appA-nlb-tg-1
- appA-alb-tg-1
subnets:
- Private-Subnet-A
- Private-Subnet-B
maxInstanceLifetime: 86400
targetGroups:
- name: appA-nlb-tg-1
port: 80
protocol: TCP
type: instance
connectionTermination: true
preserveClientIp: true
proxyProtocolV2: true
healthCheck:
enabled: true
port: 80
protocol: TCP
- name: appA-alb-tg-1
port: 80
protocol: HTTP
type: instance
connectionTermination: true
preserveClientIp: true
proxyProtocolV2: true
healthCheck:
enabled: true
port: 80
protocol: HTTP
networkLoadBalancer:
name: appA-nlb-01
scheme: internet-facing
deletionProtection: false
subnets:
- Public-Subnet-A
- Public-Subnet-B
listeners:
- name: appA-listener-1
port: 80
protocol: TCP
targetGroup: appA-nlb-tg-1
applicationLoadBalancer:
name: appA-alb-01
scheme: internet-facing
subnets:
- Public-Subnet-A
- Public-Subnet-B
securityGroups:
- demo-app-sg
listeners:
- name: appA-listener-2
port: 80
protocol: HTTP
targetGroup: appA-alb-tg-1
type: forward
launchTemplate:
name: appA-lt
blockDeviceMappings:
- deviceName: /dev/xvda
ebs:
deleteOnTermination: true
encrypted: true
kmsKeyId: key1
- deviceName: /dev/xvdb
ebs:
deleteOnTermination: true
encrypted: true
- deviceName: /dev/xvdc
ebs:
deleteOnTermination: true
securityGroups:
- demo-app-sg
iamInstanceProfile: EC2-Default-SSM-AD-Role
imageId: ${ACCEL_LOOKUP::ImageId:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2}
instanceType: t3.large
userData: appConfigs/appA/launchTemplate/userData.sh
interface IAppConfigItem {
    applicationLoadBalancer?: IApplicationLoadBalancerConfig;
    autoscaling?: IAutoScalingConfig;
    deploymentTargets: IDeploymentTargets;
    launchTemplate?: ILaunchTemplateConfig;
    name: string;
    networkLoadBalancer?: INetworkLoadBalancerConfig;
    targetGroups?: ITargetGroupItem[];
    vpc: string;
}

Properties

applicationLoadBalancer?: IApplicationLoadBalancerConfig

Application Load Balancer for the application

ApplicationLoadBalancerConfig

autoscaling?: IAutoScalingConfig

AutoScalingGroup for the application

AutoScalingConfig

deploymentTargets: IDeploymentTargets

The location where the application will be deployed.

launchTemplate?: ILaunchTemplateConfig

Launch Template for the application

LaunchTemplateConfig

name: string

The name of the application. This should be unique per application.

networkLoadBalancer?: INetworkLoadBalancerConfig

Network Load Balancer for the application

NetworkLoadBalancerConfig

targetGroups?: ITargetGroupItem[]

Target groups for the application

TargetGroupItemConfig

vpc: string

VPC where the application will be deployed. The value should be a reference to the vpc in the network config under vpcs:.