Especificación de opciones de CPU para una instancia de Amazon EC2 - Amazon Elastic Compute Cloud

Especificación de opciones de CPU para una instancia de Amazon EC2

Puede especificar las opciones de CPU durante o después de la inicialización de la instancia.

Deshabilitación del subprocesamiento múltiple simultáneo

Para deshabilitar el subprocesamiento múltiple simultáneo (SMT), también denominado hipersubprocesamiento, especifique un subproceso por núcleo.

Console
Cómo deshabilitar el SMT durante la inicialización de una instancia
  1. Siga el procedimiento Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola y configure la instancia según sea necesario.

  2. Amplíe Detalles avanzados y seleccione la casilla Especificar opciones de CPU.

  3. Para Core count (Número de núcleos), elija el número de núcleos de CPU necesarios. En este ejemplo, para especificar el número de núcleos de CPU predeterminado para una instancia r5.4xlarge, elija 8.

  4. Para deshabilitar el SMT para Subprocesos por núcleo, elija 1.

  5. En el panel Resumen, revise la configuración de la instancia y, a continuación, elija Iniciar instancia. Para obtener más información, consulte Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola.

AWS CLI
Para deshabilitar el SMT durante la inicialización de una instancia

Utilice el comando run-instances de la AWS CLI y especifique un valor de 1 para ThreadsPerCore en el parámetro --cpu-options. En CoreCount, especifique el número de núcleos de CPU. En este ejemplo, para especificar el número de núcleos de CPU predeterminado para una instancia r7i.4xlarge, especifique un valor para 8.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r7i.4xlarge \ --cpu-options "CoreCount=8,ThreadsPerCore=1" \ --key-name my-key-pair
PowerShell
Cómo deshabilitar el SMT durante la inicialización de una instancia

Utilice el comando New-EC2Instance y especifique un valor de 1 para ThreadsPerCore en el parámetro -CpuOptions. En CoreCount, especifique el número de núcleos de CPU. En este ejemplo, para especificar el número de núcleos de CPU predeterminado para una instancia r7i.4xlarge, especifique un valor para 8.

New-EC2Instance ` -ImageId 'ami-0abcdef1234567890' ` -InstanceType 'r7i.4xlarge' ` -CpuOptions @{CoreCount=8; ThreadsPerCore=1} ` -KeyName 'my-key-pair'
nota

Para inhabilitar la SMT en una instancia existente, siga el proceso que se muestra en Cambio de opciones de CPU para su instancia de EC2 y cambie el número de subprocesos que se ejecutan por núcleo a 1.

Especificar un número personalizado de vCPU en la inicialización

Puede personalizar el número de núcleos de CPU y subprocesos por núcleo al inicializar una instancia desde la consola de EC2 o la AWS CLI. En los ejemplos de esta sección, se utiliza un tipo de instancia r5.4xlarge, que tiene la siguiente configuración predeterminada:

  • Núcleos de CPU: 8

  • Subprocesos por núcleo: 2

De forma predeterminada, las instancias se inicializan con la cantidad máxima de vCPU disponibles para el tipo de instancia. Para este tipo de instancia, son 16 vCPU en total (8 núcleos que ejecutan 2 subprocesos cada uno). Para obtener más información sobre este tipo de instancia, consulte instancias optimizadas para memoria.

En el siguiente ejemplo se inicia una instancia r5.4xlarge con 4 vCPU.

Console
Especificación de un número personalizado de CPU virtuales durante la inicialización de una instancia
  1. Siga el procedimiento Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola y configure la instancia según sea necesario.

  2. Amplíe Detalles avanzados y seleccione la casilla Especificar opciones de CPU.

  3. Para obtener 4 vCPU, especifique 2 núcleos de CPU y 2 subprocesos por núcleo, como se indica a continuación:

    • En Número de núcleos, elija 2.

    • Para Threads per core (Subprocesos por núcleo), elija 2.

  4. En el panel Summary (Resumen), revise la configuración de la instancia y, a continuación, elija Launch instance (iniciar instancia). Para obtener más información, consulte Inicialización de una instancia de EC2 mediante el asistente de inicialización de instancias de la consola.

AWS CLI
Especificación de un número personalizado de CPU virtuales durante la inicialización de una instancia

Utilice el comando run-instances de la AWS CLI y especifique el número de núcleos de CPU y el número de subprocesos en el parámetro --cpu-options. Puede especificar 2 núcleos de CPU y 2 subprocesos por núcleo para obtener 4 vCPU.

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r7i.4xlarge \ --cpu-options "CoreCount=2,ThreadsPerCore=2" \ --key-name my-key-pair

También puede especificar 4 núcleos de CPU y 1 subproceso por núcleo (lo que deshabilita el SMT) para obtener 4 vCPU:

aws ec2 run-instances \ --image-id ami-0abcdef1234567890 \ --instance-type r7i.4xlarge \ --cpu-options "CoreCount=4,ThreadsPerCore=1" \ --key-name my-key-pair
PowerShell
Especificación de un número personalizado de CPU virtuales durante la inicialización de una instancia

Utilice el comando New-EC2Instance y especifique el número de núcleos de CPU y el número de subprocesos en el parámetro -CpuOptions. Puede especificar 2 núcleos de CPU y 2 subprocesos por núcleo para obtener 4 vCPU.

New-EC2Instance ` -ImageId 'ami-0abcdef1234567890' ` -InstanceType 'r7i.4xlarge' ` -CpuOptions @{CoreCount=2; ThreadsPerCore=2} ` -KeyName 'my-key-pair'

También puede especificar 4 núcleos de CPU y 1 subproceso por núcleo (lo que deshabilita el SMT) para obtener 4 vCPU:

New-EC2Instance ` -ImageId 'ami-0abcdef1234567890' ` -InstanceType 'r7i.4xlarge' ` -CpuOptions @{CoreCount=4; ThreadsPerCore=1} ` -KeyName 'my-key-pair'

Especificación de un número personalizado de vCPU en la plantilla de inicialización

Puede personalizar el número de núcleos de CPU y subprocesos por núcleo para la instancia en una plantilla de inicialización. En los ejemplos de esta sección, se utiliza un tipo de instancia r5.4xlarge, que tiene la siguiente configuración predeterminada:

  • Núcleos de CPU: 8

  • Subprocesos por núcleo: 2

De forma predeterminada, las instancias se inicializan con la cantidad máxima de vCPU disponibles para el tipo de instancia. Para este tipo de instancia, son 16 vCPU en total (8 núcleos que ejecutan 2 subprocesos cada uno). Para obtener más información sobre este tipo de instancia, consulte instancias optimizadas para memoria.

En el siguiente ejemplo se crea una plantilla de inicialización que especifica la configuración de una instancia r5.4xlarge con 4 vCPU.

Console
Para especificar un número personalizado de vCPU en la plantilla de inicialización
  1. Siga el procedimiento Creación de una plantilla de inicialización con la especificación de parámetros y configure la plantilla de inicialización según sea necesario.

  2. Amplíe Detalles avanzados y seleccione la casilla Especificar opciones de CPU.

  3. Para obtener 4 vCPU, especifique 2 núcleos de CPU y 2 subprocesos por núcleo, como se indica a continuación:

    • En Número de núcleos, elija 2.

    • Para Threads per core (Subprocesos por núcleo), elija 2.

  4. En el panel Resumen, revise la configuración de la instancia y, a continuación, elija Crear plantilla de inicialización. Para obtener más información, consulte Almacenamiento de parámetros de inicialización de instancias en plantillas de inicialización de Amazon EC2.

AWS CLI
Para especificar un número personalizado de vCPU en la plantilla de inicialización

Utilice el comando de AWS CLI create-launch-template y especifique el número de núcleos de CPU y el número de subprocesos en el parámetro CpuOptions. Puede especificar 2 núcleos de CPU y 2 subprocesos por núcleo para obtener 4 vCPU.

aws ec2 create-launch-template \ --launch-template-name TemplateForCPUOptions \ --version-description CPUOptionsVersion1 \ --launch-template-data file://template-data.json

A continuación se muestra un archivo JSON de ejemplo que contiene los datos de la plantilla de inicialización, entre los que se incluye las opciones de CPU, de la configuración de la instancia de este ejemplo.

{ "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-0abcdef1234567890" }], "ImageId": "ami-0abcdef1234567890", "InstanceType": "r5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":2, "ThreadsPerCore":2 } }

También puede especificar 4 núcleos de CPU y 1 subproceso por núcleo (lo que deshabilita el SMT) para obtener 4 vCPU:

{ "NetworkInterfaces": [{ "AssociatePublicIpAddress": true, "DeviceIndex": 0, "Ipv6AddressCount": 1, "SubnetId": "subnet-0abcdef1234567890" }], "ImageId": "ami-0abcdef1234567890", "InstanceType": "r5.4xlarge", "TagSpecifications": [{ "ResourceType": "instance", "Tags": [{ "Key":"Name", "Value":"webserver" }] }], "CpuOptions": { "CoreCount":4, "ThreadsPerCore":1 } }
PowerShell
Para especificar un número personalizado de vCPU en la plantilla de inicialización

Utilice el comando New-EC2LaunchTemplate.

New-EC2LaunchTemplate ` -LaunchTemplateName 'TemplateForCPUOptions' ` -VersionDescription 'CPUOptionsVersion1' ` -LaunchTemplateData (Get-Content -Path 'template-data.json' | ConvertFrom-Json)

Cambio de opciones de CPU para su instancia de EC2

A medida que sus necesidades cambien con el tiempo, es posible que desee modificar la configuración de las opciones de CPU de una instancia existente. Cada subproceso que se ejecuta en una instancia se conoce como una CPU virtual (vCPU). Puede cambiar el número de vCPU que se ejecutan para una instancia existente en la consola de Amazon EC2, la AWS CLI, la API o los SDK. Antes de que pueda realizar este cambio, el estado de la instancia debe ser Stopped.

Console
Para cambiar el número de vCPU activas de una instancia
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación izquierdo, seleccione Instancias y seleccione la instancia.

  3. Si la instancia está en ejecución, debe detenerla antes de continuar. Elija Instance state (Estado de la instancia) y Stop instance (Detener instancia).

  4. Para cambiar la configuración de su vCPU, seleccione Acciones, Configuraciones de la instancia, Cambiar opciones de CPU.

  5. Seleccione una de las siguientes opciones de CPU:

    • Para restablecer la instancia al número predeterminado de vCPU para su tipo de instancia, seleccione Usar opciones de CPU predeterminadas. La opción predeterminada es ejecutar todos los subprocesos de todos los núcleos de CPU.

    • Para configurar el número de vCPU en su instancia, seleccione Especificar opciones de CPU.

  6. Si seleccionó Especificar opciones de CPU, se mostrarán los campos vCPU activas.

    1. Utilice el primer selector para configurar el número de subprocesos para cada núcleo de CPU. Para deshabilitar la multitarea simultánea, seleccione 1.

    2. Utilice el segundo selector para configurar la cantidad de CPU para su instancia.

    Los siguientes campos se actualizan de forma dinámica a medida que realiza cambios en los selectores de opciones de CPU:

    • VCPU activas: el número de núcleos de CPU multiplicado por el número de subprocesos por núcleo, según las selecciones que realizó. Por ejemplo, si seleccionó 2 subprocesos y 4 núcleos, eso equivaldría a 8 vCPU.

    • Total de vCPU: el número máximo de vCPU para el tipo de instancia. Por ejemplo, para un tipo de instancia m6i.4xlarge, esto equivale a 16 vCPU (8 núcleos que ejecutan 2 subprocesos cada uno).

  7. Elija Change.

AWS CLI
Para cambiar el número de vCPU activas de una instancia

Utilice el comando modify-instance-cpu-options y especifique la cantidad de núcleos de CPU que se ejecutan en el parámetro --core-count y la cantidad de subprocesos que se ejecutan por núcleo en el parámetro --threads-per-core.

En los siguientes ejemplos, se muestran dos configuraciones posibles en un tipo de instancia m6i.4xlarge para ejecutar 8 vCPU en la instancia especificada. La configuración predeterminada para este tipo de instancia es de 16 vCPU (8 núcleos que ejecutan 2 subprocesos cada uno).

Ejemplo 1: ejecutar 4 núcleos de CPU con 2 subprocesos por núcleo, para un total de 8 vCPU.

aws ec2 modify-instance-cpu-options \ --instance-id 1234567890abcdef0 \ --core-count=4 \ --threads-per-core=2

Ejemplo 2: deshabilitar los subprocesos múltiples simultáneos al cambiar el número de subprocesos que se ejecutan por núcleo a 1. La configuración resultante también ejecuta un total de 8 vCPU (8 núcleos de CPU con 1 subproceso por núcleo).

aws ec2 modify-instance-cpu-options \ --instance-id 1234567890abcdef0 \ --core-count=8 \ --threads-per-core=1
PowerShell
Para cambiar el número de vCPU activas de una instancia

Utilice el cmdlet Edit-EC2InstanceCpuOption y especifique la cantidad de núcleos de CPU que se ejecutan en el parámetro -CoreCount y la cantidad de subprocesos que se ejecutan por núcleo en el parámetro ThreadsPerCore.

Ejemplo 1: ejecutar 4 núcleos de CPU con 2 subprocesos por núcleo, para un total de 8 vCPU.

Edit-EC2InstanceCpuOption ` -InstanceId 'i-1234567890abcdef0' ` -CoreCount 4 ` -ThreadsPerCore 2

Ejemplo 2: deshabilitar los subprocesos múltiples simultáneos al cambiar el número de subprocesos que se ejecutan por núcleo a 1. La configuración resultante también ejecuta un total de 8 vCPU (8 núcleos de CPU con 1 subproceso por núcleo).

Edit-EC2InstanceCpuOption ` -InstanceId 'i-1234567890abcdef0' ` -CoreCount 8 ` -ThreadsPerCore 1