ecs-app-nlb

DNXLabs/ecs-app-nlb/aws

Terraform Module HCL AWS

This terraform module is an AWS ECS Application Module that creates a Networking LoadBalance Application setup on ECS.

Install
module "ecs-app-nlb" {
source = "DNXLabs/ecs-app-nlb/aws"
version = "1.12.0"
}
plain text: /constructs/tfmod-dnxlabs-ecs-app-nlb-aws/install.txt
⭐ Source on GitHub 📦 Registry page
README

terraform-aws-ecs-app-nlb ![Lint Status](https://github.com/DNXLabs/terraform-aws-ecs-app-nlb/actions) ![LICENSE](https://github.com/DNXLabs/terraform-aws-ecs-app-nlb/blob/master/LICENSE) This terraform module is an AWS ECS Application Module that creates a Networking LoadBalance Application setup on ECS. This module is designed to be used with DNXLabs/terraform-aws-ecs (https://github.com/DNXLabs/terraform-aws-ecs). The following resources will be created: - Cloudwatch Metrics alarm - Provides a CloudWatch Metric Alarm resource. - IAM roles - The cloudwatch event needs an IAM Role to run the ECS task definition. A role is created and a policy will be granted via IAM policy. - IAM policy - Policy to be attached to the IAM Role. This policy will have a trust with the cloudwatch event servic

Inputs (50)
NameTypeDescriptionDefault
task_role_arnstringExisting task role ARN created by ECS cluster module required
vpc_idstringVPC ID to deploy this app to required
service_role_arnstringExisting service role ARN created by ECS cluster module required
namestringName of your ECS service required
autoscaling_target_cpunumberTarget average CPU percentage to track for autoscaling50
subnetsstringThe subnets associated with the task or service. (REQUIRED IF 'LAUCH_TYPE' IS FAnull
nlbboolFlag to create the NLBfalse
assign_public_ipboolConfigures ECS Service to assign public IP (Fargate Only)false
ulimitslist(object({ name = Container ulimit settings. This is a list of maps, where each map should containnull
deployment_controllerstringType of deployment controller. Valid values: CODE_DEPLOY, ECS, EXTERNAL."CODE_DEPLOY"
imagestringDocker image to deploy (can be a placeholder)"dnxsolutions/nginx-hello:latest"
placement_constraintslist(object({ type =Rules that are taken into consideration during task placement. Maximum number of[]
network_modestringThe Docker networking mode to use for the containers in the task. The valid valunull
autoscaling_scale_out_cooldownnumberCooldown in seconds to wait between scale out events300
security_group_ecs_nodes_inbound_cidrslist(string)ECS Nodes inbound allowed CIDRs for the security group.[ "0.0.0.0/0" ]
schedule_timezonestringTimezone for the scheduled actions"UTC"
autoscaling_maxnumberMax number of containers to scale with autoscaling4
autoscaling_scale_in_cooldownnumberCooldown in seconds to wait between scale in events300
ordered_placement_strategylist(object({ field =Service level strategy rules that are taken into consideration during task place[]
cloudwatch_logs_retentionnumberSpecifies the number of days you want to retain log events in the specified log 120
codedeploy_role_arnstringExisting IAM CodeDeploy role ARN created by ECS cluster modulenull
efs_mappingmap(string)A map of efs volume ids and paths to mount into the default task definition{}
codedeploy_wait_time_for_terminationnumberTime in minutes to terminate the new deployment0
enable_scheduleboolEnable scheduling for ECS servicefalse
… and 10 more inputs
Outputs (1)
aws_cloudwatch_log_group_arn
Resources (17)
aws_appautoscaling_policyaws_appautoscaling_scheduled_actionaws_appautoscaling_targetaws_cloudwatch_log_groupaws_cloudwatch_metric_alarmaws_ecs_serviceaws_ecs_task_definitionaws_efs_access_pointaws_iam_roleaws_iam_role_policy_attachmentaws_lbaws_lb_listeneraws_lb_target_groupaws_route53_recordaws_security_groupaws_security_group_rulerandom_string
Topics & Tags
ecsnlb
Details
FrameworkTerraform Module
LanguageHCL
Version1.12.0
Cloud AWS
★ Stars4
Forks4
Total downloads6.1k
Inputs50
Outputs1
Resources17
LicenseApache-2.0
NamespaceDNXLabs
Updated