UtilizationScalingOptions Struct
Options for enabling Lambda utilization tracking.
Example
import * as appscaling from 'aws-cdk-lib/aws-applicationautoscaling';
declare const fn: lambda.Function;
const alias = fn.addAlias('prod');
// Create AutoScaling target
const as = alias.addAutoScaling({ maxCapacity: 50 });
// Configure Target Tracking
as.scaleOnUtilization({
utilizationTarget: 0.5,
});
// Configure Scheduled Scaling
as.scaleOnSchedule('ScaleUpInTheMorning', {
schedule: appscaling.Schedule.cron({ hour: '8', minute: '0'}),
minCapacity: 20,
});
import aws_cdk.aws_applicationautoscaling as appscaling
# fn: lambda.Function
alias = fn.add_alias("prod")
# Create AutoScaling target
as = alias.add_auto_scaling(max_capacity=50)
# Configure Target Tracking
as.scale_on_utilization(
utilization_target=0.5
)
# Configure Scheduled Scaling
as.scale_on_schedule("ScaleUpInTheMorning",
schedule=appscaling.Schedule.cron(hour="8", minute="0"),
min_capacity=20
)
import software.amazon.awscdk.services.applicationautoscaling.*;
Function fn;
Alias alias = fn.addAlias("prod");
// Create AutoScaling target
IScalableFunctionAttribute as = alias.addAutoScaling(AutoScalingOptions.builder().maxCapacity(50).build());
// Configure Target Tracking
as.scaleOnUtilization(UtilizationScalingOptions.builder()
.utilizationTarget(0.5)
.build());
// Configure Scheduled Scaling
as.scaleOnSchedule("ScaleUpInTheMorning", ScalingSchedule.builder()
.schedule(Schedule.cron(CronOptions.builder().hour("8").minute("0").build()))
.minCapacity(20)
.build());
// Install: dotnet add package Amazon.CDK.Lib
using Amazon.CDK.AWS.ApplicationAutoScaling;
Function fn;
var alias = fn.AddAlias("prod");
// Create AutoScaling target
var as = alias.AddAutoScaling(new AutoScalingOptions { MaxCapacity = 50 });
// Configure Target Tracking
as.ScaleOnUtilization(new UtilizationScalingOptions {
UtilizationTarget = 0.5
});
// Configure Scheduled Scaling
as.ScaleOnSchedule("ScaleUpInTheMorning", new ScalingSchedule {
Schedule = Schedule.Cron(new CronOptions { Hour = "8", Minute = "0" }),
MinCapacity = 20
});
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
import appscaling "github.com/aws/aws-cdk-go/awscdk"
var fn Function
alias := fn.AddAlias(jsii.String("prod"))
// Create AutoScaling target
as := alias.AddAutoScaling(&AutoScalingOptions{
MaxCapacity: jsii.Number(50),
})
// Configure Target Tracking
as.ScaleOnUtilization(&UtilizationScalingOptions{
UtilizationTarget: jsii.Number(0.5),
})
// Configure Scheduled Scaling
as.ScaleOnSchedule(jsii.String("ScaleUpInTheMorning"), &ScalingSchedule{
Schedule: appscaling.Schedule_Cron(&CronOptions{
Hour: jsii.String("8"),
Minute: jsii.String("0"),
}),
MinCapacity: jsii.Number(20),
})
Properties
disableScaleInoptionalbooleandisable_scale_inoptionalbooldisableScaleInoptionalBooleanDisableScaleInoptionalboolDisableScaleInoptional*bool= false#If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource.
policyNameoptionalstringpolicy_nameoptionalstrpolicyNameoptionalStringPolicyNameoptionalstringPolicyNameoptional*string#Default: Automatically generated name.
scaleInCooldownoptionalDurationscale_in_cooldownoptionalDurationscaleInCooldownoptionalDurationScaleInCooldownoptionalDurationScaleInCooldownoptionalDuration#Default: Duration.seconds(300) for the following scalable targets: ECS services, Spot Fleet requests, EMR clusters, AppStream 2.0 fleets, Aurora DB clusters, Amazon SageMaker endpoint variants, Custom resources. For all other scalable targets, the default value is Duration.seconds(0): DynamoDB tables, DynamoDB global secondary indexes, Amazon Comprehend document classification endpoints, Lambda provisioned concurrency
scaleOutCooldownoptionalDurationscale_out_cooldownoptionalDurationscaleOutCooldownoptionalDurationScaleOutCooldownoptionalDurationScaleOutCooldownoptionalDuration#Default: Duration.seconds(300) for the following scalable targets: ECS services, Spot Fleet requests, EMR clusters, AppStream 2.0 fleets, Aurora DB clusters, Amazon SageMaker endpoint variants, Custom resources. For all other scalable targets, the default value is Duration.seconds(0): DynamoDB tables, DynamoDB global secondary indexes, Amazon Comprehend document classification endpoints, Lambda provisioned concurrency
utilizationTargetnumberutilization_targetint | floatutilizationTargetNumberUtilizationTargetdoubleUtilizationTarget*float64required#For example, .5 indicates that 50 percent of allocated provisioned concurrency is in use.