Dedicated Hosts - Amazon Elastic Compute Cloud
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Dedicated Hosts

An Amazon EC2 Dedicated Host is a physical server that is fully dedicated for your use.

Dedicated Hosts provide visibility and control over instance placement and they support host affinity. This means that you can launch and run instances on specific hosts, and you can ensure that instances run only on specific hosts. For more information, see Understand auto-placement and affinity.

Dedicated Hosts provide comprehensive Bring Your Own License (BYOL) support. They allow you to use your existing per-socket, per-core, or per-VM software licenses, including Windows Server, SQL Server, SUSE Linux Enterprise Server, Red Hat Enterprise Linux, or other software licenses that are bound to VMs, sockets, or physical cores, subject to your license terms.

If you require your instances to run on dedicated hardware, but you do not need visibility or control over instance placement, and you do not need to use per-socket or per-core software licenses, you can consider using Dedicated Instances instead. Dedicated Instances and Dedicated Hosts can both be used to launch Amazon EC2 instances onto dedicated physical servers. There are no performance, security, or physical differences between Dedicated Instances and instances on Dedicated Hosts. However, there are some key differences between them. The following table highlights some of the key differences between Dedicated Instances and Dedicated Hosts:

Dedicated Host Dedicated Instance

Dedicated physical server

Physical server with instance capacity fully dedicated to your use.

Physical server that's dedicated to a single customer account.

Instance capacity sharing

Can share instance capacity with other accounts.

Not supported

Billing

Per-host billing

Per-instance billing

Visibility of sockets, cores, and host ID

Provides visibility of the number of sockets and physical cores

No visibility

Host and instance affinity

Allows you to consistently deploy your instances to the same physical server over time

Not supported

Targeted instance placement

Provides additional visibility and control over how instances are placed on a physical server

Not supported

Automatic instance recovery

Supported. For more information, see Host recovery.

Supported

Bring Your Own License (BYOL)

Supported

Partial support *

Capacity Reservations

Not supported

Supported

* Microsoft SQL Server with License Mobility through Software Assurance, and Windows Virtual Desktop Access (VDA) licenses can be used with Dedicated Instance.

For more information about Dedicated Instances, see Dedicated Instances.

Instance capacity configurations

Dedicated Hosts support different configurations (physical cores, sockets, and VCPUs) that allow you to run instances of different families and sizes.

When you allocate a Dedicated Host in your account, you can choose a configuration that supports either a single instance type, or multiple instance types within the same instance family. The number of instances that you can run on a host depends on the configuration you choose.

Single instance type support

You can allocate a Dedicated Host that supports only one instance type. With this configuration, every instance that you launch on the Dedicated Host must be of the same instance type, which you specify when you allocate the host.

For example, you can allocate a host that supports only the m5.4xlarge instance type. In this case, you can run only m5.4xlarge instances on that host.

The number of instances that you can launch onto the host depends on the number of physical cores provided by the host, and the number of cores consumed by the specified instance type. For example, if you allocate a host for m5.4xlarge instances, the host provides 48 physical cores, and each m5.4xlarge instance consumes 8 physical cores. This means that you can launch up to 6 instances on that host (48 physical cores / 8 cores per instance = 6 instances).

Multiple instance type support

You can allocate a Dedicated Host that supports multiple instance types within the same instance family. This allows you to run different instance types on the same host, as long as they're in the same instance family and the host has sufficient instance capacity.

For example, you can allocate a host that supports different instance types within the R5 instance family. In this case, you can launch any combination of R5 instance types, such as r5.large, r5.xlarge, r5.2xlarge, and r5.4xlarge, on that host, up to the host's physical core capacity.

The following instance families support Dedicated Hosts with multiple instance type support:

  • General purpose: A1, M5, M5n, M6i, and T3

  • Compute optimized: C5, C5n, and C6i

  • Memory optimized: R5, R5n, and R6i

The number of instances you can run on the host depends on the number of physical cores provided by the host, and the number of cores consumed by each instance type that you run on the host. For example, if you allocate an R5 host, which provides 48 physical cores, and you run two r5.2xlarge instances (4 cores x 2 instances) and three r5.4xlarge instances (8 cores x 3 instances), those instances consume a total of 32 cores, and you can run any combination of R5 instances as long as they do not exceed the remaining 16 cores.

However, for each instance family, there is a limit on the number of instances that can be run for each instance size. For example, an R5 Dedicated Host supports a maximum of 2 r5.8xlarge instances, which uses 32 of the physical cores. In this case, additional R5 instances of smaller sizes can then be used to fill the host to core capacity. For the supported number of instance sizes for each instance family, see the Dedicated Hosts Configuration Table.

The following table shows example instance type combinations:

Instance family Example instance size combinations

R5

  • Example 1: 4 x r5.4xlarge + 4 x r5.2xlarge

  • Example 2: 1 x r5.12xlarge + 1 x r5.4xlarge + 1 x r5.2xlarge + 5 x r5.xlarge + 2 x r5.large

C5

  • Example 1: 1 x c5.9xlarge + 2 x c5.4xlarge + 1 x c5.xlarge

  • Example 2: 4 x c5.4xlarge + 1 x c5.xlarge + 2 x c5.large

M5

  • Example 1: 4 x m5.4xlarge + 4 x m5.2xlarge

  • Example 2: 1 x m5.12xlarge + 1 x m5.4xlarge + 1 x m5.2xlarge + 5 x m5.xlarge + 2 x m5.large

Considerations

Keep the following in mind when working with Dedicated Hosts that support multiple instance types:

  • With N-type Dedicated Hosts, such as C5n, M5n, and R5n, you can't mix smaller instance sizes (2xlarge and smaller) with larger instance sizes (4xlarge and larger, including metal). If you require smaller and larger instance sizes on N-type Dedicated Hosts at the same time, you must allocate separate hosts for the smaller and larger instance sizes.

  • We recommend that you launch larger instance types first, and then fill the remaining instance capacity with smaller instance types as needed.

Bring your own license

Dedicated Hosts allow you to use your existing per-socket, per-core, or per-VM software licenses. When you bring your own license, you are responsible for managing your own licenses. However, Amazon EC2 has features that help you maintain license compliance, such as instance affinity and targeted placement.

These are the general steps to follow in order to bring your own volume licensed machine image into Amazon EC2.

  1. Verify that the license terms controlling the use of your machine images allow usage in a virtualized cloud environment.

  2. After you have verified that your machine image can be used within Amazon EC2, import it using VM Import/Export. For information about how to import your machine image, see the VM Import/Export User Guide.

  3. After you import your machine image, you can launch instances from it onto active Dedicated Hosts in your account.

  4. When you run these instances, depending on the operating system, you might be required to activate these instances against your own KMS server.

Note

To track how your images are used in Amazon, enable host recording in Amazon Config. You can use Amazon Config to record configuration changes to a Dedicated Host and use the output as a data source for license reporting. For more information, see Track configuration changes.

Dedicated Hosts restrictions

Before you allocate Dedicated Hosts, take note of the following limitations and restrictions:

  • To run RHEL, SUSE Linux, and SQL Server on Dedicated Hosts, you must bring your own AMIs. RHEL, SUSE Linux, and SQL Server AMIs that are offered by Amazon or that are available on Amazon Web Services Marketplace can't be used with Dedicated Hosts. For more information on how to create your own AMI, see Bring your own license.

    This restriction does not apply to hosts allocated for high memory instances (u-6tb1.metal, u-9tb1.metal, u-12tb1.metal, u-18tb1.metal, and u-24tb1.metal). RHEL and SUSE Linux AMIs that are offered by Amazon or that are available on Amazon Web Services Marketplace can be used with these hosts.

  • There is a limit on the number of running Dedicated Hosts per instance family per Amazon account per Region. Quotas apply to running instances only. If your instance is pending, stopping, or stopped, it does not count towards your quota. To view the quotas for your account, or to request a quota increase, use the Service Quotas console.

  • The instances that run on a Dedicated Host can only be launched in a VPC.

  • Auto Scaling groups are supported when using a launch template that specifies a host resource group. For more information, see Create a launch template using advanced settings in the Amazon EC2 Auto Scaling User Guide.

  • Amazon RDS instances are not supported.

  • The Amazon Free Usage tier is not available for Dedicated Hosts.

  • Instance placement control refers to managing instance launches onto Dedicated Hosts. You cannot launch Dedicated Hosts into placement groups.

  • If you allocate a host for a virtualized instance type, you can't modify the instance type to a .metal instance type after the host is allocated. For example, if you allocate a host for the m5.large instance type, you can't modify the instance type to m5.metal.

    Similarly, if you allocate a host for a .metal instance type, you can't modify the instance type to a virtualized instance type after the host is allocated. For example, if you allocate a host for the m5.metal instance type, you can't modify the instance type to m5.large.