EcsOptimizedImage
- class aws_cdk.aws_ecs.EcsOptimizedImage(*args: Any, **kwargs)
Bases:
object
Construct a Linux or Windows machine image from the latest ECS Optimized AMI published in SSM.
- ExampleMetadata:
infused
Example:
# vpc: ec2.Vpc cluster = ecs.Cluster(self, "Cluster", vpc=vpc ) # Either add default capacity cluster.add_capacity("DefaultAutoScalingGroupCapacity", instance_type=ec2.InstanceType("t2.xlarge"), desired_capacity=3 ) # Or add customized capacity. Be sure to start the Amazon ECS-optimized AMI. auto_scaling_group = autoscaling.AutoScalingGroup(self, "ASG", vpc=vpc, instance_type=ec2.InstanceType("t2.xlarge"), machine_image=ecs.EcsOptimizedImage.amazon_linux(), # Or use Amazon ECS-Optimized Amazon Linux 2 AMI # machineImage: EcsOptimizedImage.amazonLinux2(), desired_capacity=3 ) capacity_provider = ecs.AsgCapacityProvider(self, "AsgCapacityProvider", auto_scaling_group=auto_scaling_group ) cluster.add_asg_capacity_provider(capacity_provider)
Methods
Static Methods
- classmethod amazon_linux(*, cached_in_context=None)
Construct an Amazon Linux AMI image from the latest ECS Optimized AMI published in SSM.
- Parameters:
cached_in_context (
Optional
[bool
]) – Whether the AMI ID is cached to be stable between deployments. By default, the newest image is used on each deployment. This will cause instances to be replaced whenever a new version is released, and may cause downtime if there aren’t enough running instances in the AutoScalingGroup to reschedule the tasks on. If set to true, the AMI ID will be cached incdk.context.json
and the same value will be used on future runs. Your instances will not be replaced but your AMI version will grow old over time. To refresh the AMI lookup, you will have to evict the value from the cache using thecdk context
command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information. Can not be set totrue
in environment-agnostic stacks. Default: false- Return type:
- classmethod amazon_linux2(hardware_type=None, *, cached_in_context=None)
Construct an Amazon Linux 2 image from the latest ECS Optimized AMI published in SSM.
- Parameters:
hardware_type (
Optional
[AmiHardwareType
]) – ECS-optimized AMI variant to use.cached_in_context (
Optional
[bool
]) – Whether the AMI ID is cached to be stable between deployments. By default, the newest image is used on each deployment. This will cause instances to be replaced whenever a new version is released, and may cause downtime if there aren’t enough running instances in the AutoScalingGroup to reschedule the tasks on. If set to true, the AMI ID will be cached incdk.context.json
and the same value will be used on future runs. Your instances will not be replaced but your AMI version will grow old over time. To refresh the AMI lookup, you will have to evict the value from the cache using thecdk context
command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information. Can not be set totrue
in environment-agnostic stacks. Default: false
- Return type:
- classmethod windows(windows_version, *, cached_in_context=None)
Construct a Windows image from the latest ECS Optimized AMI published in SSM.
- Parameters:
windows_version (
WindowsOptimizedVersion
) – Windows Version to use.cached_in_context (
Optional
[bool
]) – Whether the AMI ID is cached to be stable between deployments. By default, the newest image is used on each deployment. This will cause instances to be replaced whenever a new version is released, and may cause downtime if there aren’t enough running instances in the AutoScalingGroup to reschedule the tasks on. If set to true, the AMI ID will be cached incdk.context.json
and the same value will be used on future runs. Your instances will not be replaced but your AMI version will grow old over time. To refresh the AMI lookup, you will have to evict the value from the cache using thecdk context
command. See https://docs.aws.amazon.com/cdk/latest/guide/context.html for more information. Can not be set totrue
in environment-agnostic stacks. Default: false
- Return type: