Dev Dev
Dev Dev

Reputation: 31

Terraform + Dynamodb - understand aws_appautoscaling_target and aws_appautoscaling_policy

I am trying to implement dynamodb autoscaling using terraform but I am having a bit of difficulty in understanding the difference between aws_appautoscaling_target and aws_appautoscaling_policy.

Do we need both specified for the autoscaling group? Can some one kidly explain what each is meant for?

Thanks a ton!!

Upvotes: 2

Views: 855

Answers (1)

Tyler Smith
Tyler Smith

Reputation: 528

The aws_appautoscaling_target ties your policy to the DynamoDB table. You can define a policy once and use it over and over (i.e. build standard set of scaling policies for your organization to use), the target allows you to bind a policy to a resource.

An auto scaling group doesn't have to have either a target or a resource. An ASG can scale EC2 instances in/out based other triggers such as instance health (defined by EC2 health checks or LB health checks) or desired capacity. This allows a load balanced application to replace bad instances when they are unable to respond to instance traffic and also recover from failures to keep your cluster at the right size. You could add additional scaling policies to better react to demand. For example, your cluster has 2 instances but they're at max capacity, a scaling policy can watch those instances and add more when needed and then remove them when demand falls.

Upvotes: 2

Related Questions