CpuManufacturer

class aws_cdk.aws_ec2.CpuManufacturer(*values)

Bases: Enum

CPU manufacturers supported by EC2 instances.

Restricts the acceptable CPU vendor for selected instance types.

ExampleMetadata:

infused

Example:

# vpc: ec2.Vpc
# infrastructure_role: iam.Role
# instance_profile: iam.InstanceProfile


cluster = ecs.Cluster(self, "Cluster", vpc=vpc)

# Create a Managed Instances Capacity Provider
mi_capacity_provider = ecs.ManagedInstancesCapacityProvider(self, "MICapacityProvider",
    infrastructure_role=infrastructure_role,
    ec2_instance_profile=instance_profile,
    subnets=vpc.private_subnets,
    security_groups=[ec2.SecurityGroup(self, "MISecurityGroup", vpc=vpc)],
    instance_requirements=ec2.InstanceRequirementsConfig(
        v_cpu_count_min=1,
        memory_min=Size.gibibytes(2),
        cpu_manufacturers=[ec2.CpuManufacturer.INTEL],
        accelerator_manufacturers=[ec2.AcceleratorManufacturer.NVIDIA]
    ),
    propagate_tags=ecs.PropagateManagedInstancesTags.CAPACITY_PROVIDER
)

# Add the capacity provider to the cluster
cluster.add_managed_instances_capacity_provider(mi_capacity_provider)

task_definition = ecs.Ec2TaskDefinition(self, "TaskDef")

task_definition.add_container("web",
    image=ecs.ContainerImage.from_registry("amazon/amazon-ecs-sample"),
    memory_reservation_mi_b=256
)

ecs.Ec2Service(self, "EC2Service",
    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

AMD

AMD CPUs (e.g., EPYC families).

APPLE

Apple CPUs (e.g., M1, M2).

AWS

AWS-designed CPUs (e.g., Graviton families).

INTEL

Intel CPUs (e.g., Xeon families).