The Update Application Autoscaling Settings action changes the minimum capacity and
maximum capacity on scalable targets within the ECS
, Lambda
or RDS
service namespace.
This action provides precise control over resource allocation, ensuring optimal alignment with specific operational requirements for improved efficiency and cost-effectiveness.
The Update Application Autoscaling Settings action uses the following endpoints in AWS’s ApplicationAutoscaling
API:
The action1 creates a scheduled action2 on the scalable target that:
The scheduled action has a name that:
gorillastack-...
Each new scheduled action overwrites any existing scheduled action with the same name.
The action decides which scalable targets to update by matching against the tags on the ECS service, Lambda function or RDS cluster that is managed by each scalable target.
To do this, it uses the following endpoints in AWS’s ECS
, Lambda
and RDS
APIs:
First, identify or create an ECS service, Lambda function or RDS cluster that you wish to manage using Application Autoscaling.
Then, either:
Finally, create a scaling plan for each entity.
Add the Update Application Autoscaling Settings action to a rule.
Select a service namespace for the action. This will be one of the following:
ECS
Lambda
RDS
At present, AWS only supports one scalable dimension for each of these three service namespaces, so the scalable dimension will be selected automatically. This will be one of the following:
ecs:service:DesiredCount
(shown as service:DesiredCount
in the UI)lambda:function:ProvisionedConcurrency
(shown as function:ProvisionedConcurrency
in the UI)rds:cluster:ReadReplicaCount
(shown as cluster:ReadReplicaCount
in the UI)Next, set the maximum and minimum capacity. The former must be higher than the latter.
Click Tag Targeting and select one or more tag groups to target.
The Matching Supported Scalable Targets window will show all scalable targets that match your tag group or tag groups.
The targets that match your selected scalable dimension (e.g.
rds:cluster:ReadReplicaCount
) will be highlighted in green.
Click Autoscaling Settings to return to the previous window.
You'll see two advanced options:
You can either leave both options unticked, or tick one of them.
If you tick Store Existing Settings, then when the action runs, GorillaStack will keep a record of each scalable targets’ existing minimum and maximum capacities before updating their minimum and maximum capacities to the ones specified in the action.
If you tick Restore To Previous Settings, then when the action runs, GorillaStack will check for a previously stored record for each scalable target. If the record exists, it will rescale the target to the minimum and maximum capacities stored in the record instead of to those specified in the action. Minimum and maximum capacities must still be specified in the action as a fallback for when a stored record does not yet exist.
Endnote 1: The ‘action’ is the action you create in GorillaStack
Endnote 2: The ‘scheduled action’ is the entity that the GorillaStack action attaches to the scalable target in AWS