autoscaling-mixed-instances
HENNGE/autoscaling-mixed-instances/aws
Terraform module which creates Auto Scaling (Mixed Instances) resources on AWS
Install
README
AWS Auto Scaling Group (ASG) Terraform module Terraform module which creates Auto Scaling resources on AWS. These types of resources are supported: Launch Template Auto Scaling Group This module will require more than 1 instance type. Suitable to back ECS Cluster. Terraform versions Terraform 0.12. Pin module version to ~> v3.0. Submit pull-requests to main branch. Terraform 0.11. Pin module version to ~> v1.0. Submit pull-requests to terraform011 branch. Versioning This module uses Semver. x.y.z x shall change when there's major language or breaking feature change (e.g. 0.11 to 0.12 which drastically change the language) y shall change when there's feature addition which is not breaking existing API (e.g. addition of some parameters with default value) z shall change when there's document
Inputs (50)
| Name | Type | Description | Default |
|---|---|---|---|
| vpc_zone_identifier | list(string) | A list of subnet IDs to launch resources in | required |
| name | string | Creates a unique name beginning with the specified prefix | required |
| min_size | number | The minimum size of the auto scale group | required |
| asg_instance_refresh_healthy_percentage | number | The amount of capacity in the Auto Scaling group that must remain healthy during | required |
| health_check_type | string | Controls how health checking is done. Values are - EC2 and ELB | required |
| asg_instance_refresh_warmup | number | The number of seconds until a newly launched instance is configured and ready to | required |
| asg_instance_refresh_additional_triggers | list(string) | Set of additional property names that will trigger an Instance Refresh. A refres | required |
| desired_capacity | number | The number of Amazon EC2 instances that should be running in the group | required |
| max_instance_lifetime | number | The maximum amount of time, in seconds, that an instance can be in service, valu | required |
| force_delete | bool | Allows deleting the autoscaling group without waiting for all instances in the p | false |
| initial_lifecycle_hook_name | string | The name of initial lifecycle hook | "" |
| recreate_asg_when_lt_changes | bool | Whether to recreate an autoscaling group when launch template changes | false |
| image_id | string | The EC2 image ID to launch | "" |
| enable_monitoring | bool | Enables/disables detailed monitoring. This is enabled by default. | true |
| default_cooldown | number | The amount of time, in seconds, after a scaling activity completes before anothe | 300 |
| initial_lifecycle_hook_notification_target_arn | string | The ARN of the notification target that Auto Scaling will use to notify you when | "" |
| instance_types | list(map(any)) | Instance types to launch, minimum 2 types must be specified. List of Map of 'ins | [
{}
] |
| target_group_arns | list(string) | A list of aws_alb_target_group ARNs, for use with Application Load Balancing | [] |
| min_elb_capacity | number | Setting this causes Terraform to wait for this number of instances to show up he | 0 |
| asg_name | string | Creates a unique name for autoscaling group beginning with the specified prefix | "" |
| use_created_lt_latest_version | bool | Use version number generated by Launch Template instead of $Latest. | false |
| initial_lifecycle_hook_heartbeat_timeout | string | Defines the amount of time, in seconds, that can elapse before the lifecycle hoo | "60" |
| suspended_processes | list(string) | A list of processes to suspend for the AutoScaling Group. The allowed values are | [] |
| protect_from_scale_in | bool | Allows setting instance protection. The autoscaling group will not select instan | false |
| on_demand_percentage_above_base_capacity | number | Percentage split between on-demand and Spot instances above the base on-demand c | 100 |
| create_lt | bool | Whether to create launch template | true |
| tags_as_map | map(any) | A map of tags and values in the same format as other resources accept. This will | {} |
| placement_group | string | The name of the placement group into which you'll launch your instances, if any | "" |
| service_linked_role_arn | string | The ARN of the service-linked role that the ASG will use to call other AWS servi | "" |
| … and 10 more inputs | |||
Outputs (15)
this_autoscaling_group_desired_capacity — The number of Amazon EC2 instances that should be running in the groupthis_autoscaling_group_health_check_grace_period — Time after instance comes into service before checking healththis_autoscaling_group_load_balancers — The load balancer names associated with the autoscaling groupthis_launch_template_id — The ID of the launch templatethis_launch_template_name — The name of the launch templatethis_autoscaling_group_name — The autoscaling group namethis_autoscaling_group_arn — The ARN for this AutoScaling Groupthis_autoscaling_group_target_group_arns — List of Target Group ARNs that apply to this AutoScaling Groupthis_autoscaling_group_id — The autoscaling group idthis_autoscaling_group_max_size — The maximum size of the autoscale groupthis_autoscaling_group_health_check_type — EC2 or ELB. Controls how health checking is donethis_autoscaling_group_vpc_zone_identifier — The VPC zone identifierthis_autoscaling_group_min_size — The minimum size of the autoscale groupthis_autoscaling_group_availability_zones — The availability zones of the autoscale groupthis_autoscaling_group_default_cooldown — Time between a scaling activity and the succeeding scaling activity