CapacityOptionType
- class aws_cdk.aws_ecs.CapacityOptionType(*values)
Bases:
EnumThe capacity option type for instances launched by a Managed Instances Capacity Provider.
- ExampleMetadata:
infused
Example:
# vpc: ec2.Vpc cluster = ecs.Cluster(self, "Cluster", vpc=vpc) security_group = ec2.SecurityGroup(self, "SecurityGroup", vpc=vpc, description="Security group for managed instances" ) mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider", capacity_option_type=ecs.CapacityOptionType.SPOT, subnets=vpc.private_subnets, security_groups=[security_group], instance_requirements=ec2.InstanceRequirementsConfig( v_cpu_count_min=1, memory_min=Size.gibibytes(2) ) ) # Optionally configure security group rules using IConnectable interface mi_capacity_provider.connections.allow_from(ec2.Peer.ipv4(vpc.vpc_cidr_block), ec2.Port.tcp(80)) # Add the capacity provider to the cluster cluster.add_managed_instances_capacity_provider(mi_capacity_provider) task_definition = ecs.TaskDefinition(self, "TaskDef", memory_mi_b="512", cpu="256", network_mode=ecs.NetworkMode.AWS_VPC, compatibility=ecs.Compatibility.MANAGED_INSTANCES ) task_definition.add_container("web", image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"), memory_reservation_mi_b=256 ) ecs.FargateService(self, "FargateService", cluster=cluster, task_definition=task_definition, min_healthy_percent=100, capacity_provider_strategies=[ecs.CapacityProviderStrategy( capacity_provider=mi_capacity_provider.capacity_provider_name, weight=1 ) ] )
Attributes
- ON_DEMAND
Launch instances as On-Demand instances.
- SPOT
Launch instances as Spot instances.