TrafficShiftConfig

class aws_cdk.aws_ecs.TrafficShiftConfig(*, step_bake_time=None, step_percent=None)

Bases: object

Configuration for traffic shift during progressive deployments.

Parameters:
  • step_bake_time (Optional[Duration]) – The duration to wait between traffic shifting steps. Valid values are 0 to 1440 minutes (24 hours). Default: - Duration.minutes(6) for linear, Duration.minutes(10) for canary

  • step_percent (Union[int, float, None]) – The percentage of production traffic to shift in each step. - For linear deployment: multiples of 0.1 from 3.0 to 100.0 - For canary deployment: multiples of 0.1 from 0.1 to 100.0 Default: - 10.0 for linear, 5.0 for canary

ExampleMetadata:

infused

Example:

# cluster: ecs.Cluster
# task_definition: ecs.TaskDefinition
# blue_target_group: elbv2.ApplicationTargetGroup
# green_target_group: elbv2.ApplicationTargetGroup
# prod_listener_rule: elbv2.ApplicationListenerRule


service = ecs.FargateService(self, "Service",
    cluster=cluster,
    task_definition=task_definition,
    deployment_strategy=ecs.DeploymentStrategy.LINEAR,
    linear_configuration=ecs.TrafficShiftConfig(
        step_percent=10,
        step_bake_time=Duration.minutes(5)
    )
)

target = service.load_balancer_target(
    container_name="web",
    container_port=80,
    alternate_target=ecs.AlternateTarget("AlternateTarget",
        alternate_target_group=green_target_group,
        production_listener=ecs.ListenerRuleConfiguration.application_listener_rule(prod_listener_rule)
    )
)

target.attach_to_application_target_group(blue_target_group)

Attributes

step_bake_time

The duration to wait between traffic shifting steps.

Valid values are 0 to 1440 minutes (24 hours).

Default:
  • Duration.minutes(6) for linear, Duration.minutes(10) for canary

step_percent

The percentage of production traffic to shift in each step.

  • For linear deployment: multiples of 0.1 from 3.0 to 100.0

  • For canary deployment: multiples of 0.1 from 0.1 to 100.0

Default:
  • 10.0 for linear, 5.0 for canary