Especificar opções de CPU para uma instância do Amazon EC2 - Amazon Elastic Compute Cloud

Especificar opções de CPU para uma instância do Amazon EC2

Pode-se especificar as opções de CPU durante ou após a execução da instância por meio do AWS Management Console, daAWS CLI, da API EC2 ou de SDKs. Esta página aborda os métodos AWS CLI e AWS Management Console, da seguinte forma.

Desabilitar multithreading simultâneo

Para desabilitar o multithreading simultâneo (SMT), também conhecido como hyper-threading, especifique um thread por núcleo.

Console
Desabilitar o SMT durante a inicialização da instância
  1. Siga o procedimento Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console e configure sua instância conforme necessário.

  2. Expanda Detalhes avançados e marque a caixa de seleção Especificar opções de CPU.

  3. Em Contagem de núcleos, defina o número de núcleos de CPU necessário. Neste exemplo, para especificar a contagem de núcleos de CPU para uma instância r5.4xlarge, selecione 8.

  4. Para desabilitar o SMT, em Threads por núcleo, selecione 1.

  5. No painel Resumo, analise a configuração da instância e selecione Iniciar instância. Para ter mais informações, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

AWS CLI
Desabilitar o SMT durante a inicialização da instância

Use o comando run-instances da AWS CLI e especifique um valor de 1 para ThreadsPerCore no parâmetro --cpu-options. Em CoreCount, especifique o número de núcleos de CPU. Neste exemplo, para especificar a contagem de núcleos de CPU padrão para uma instância r5.4xlarge, especifique um valor de 8.

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=8,ThreadsPerCore=1" \ --key-name MyKeyPair
nota

Para desabilitar o SMT para uma instância existente, siga o processo mostrado em Alterar opções de CPU para a instância do EC2 e altere o número de threads executados por núcleo para 1.

Especificar um número personalizado de vCPUs na inicialização

É possível personalizar o número de núcleos de CPU e de thread por núcleo da instância ao iniciar uma instância do console do EC2 ou da AWS CLI. Os exemplos nesta seção usam um tipo de instância r5.4xlarge, que tem as seguintes configurações padrão:

  • Núcleos de CPU: 8

  • Threads por núcleo: 2

Por padrão, as instâncias são iniciadas com o número máximo de vCPUs disponíveis para o tipo de instância. Para esse tipo de instância, são 16 vCPUs no total (8 núcleos executando 2 threads cada). Para obter mais informações sobre este tipo de instância, consulte Instâncias otimizadas para memória.

O exemplo apresentado a seguir inicia uma instância r5.4xlarge com quatro vCPUs.

Console
Para especificar um número personalizado de vCPUs durante a execução da instância
  1. Siga o procedimento Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console e configure sua instância conforme necessário.

  2. Expanda Detalhes avançados e marque a caixa de seleção Especificar opções de CPU.

  3. Para obter quatro vCPUs, especifique dois núcleos de CPU e dois threads por núcleo, da seguinte forma:

    • Em Contagem de núcleos, selecione 2.

    • For Threads por núcleo, selecione 2.

  4. No painel Resumo, analise a configuração da instância e selecione Iniciar instância. Para mais informações, consulte Executar uma instância do EC2 usando o assistente de inicialização de instâncias no console.

AWS CLI
Para especificar um número personalizado de vCPUs durante a execução da instância

Use o comando run-instances da AWS CLI e especifique o número de núcleos de CPU e o número de threads no parâmetro --cpu-options. É possível especificar dois núcleos de CPU e dois threads por núcleo para obter quatro vCPUs.

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=2,ThreadsPerCore=2" \ --key-name MyKeyPair

Como alternativa, especifique quatro núcleos de CPU e um thread por núcleo (desabilitar o SMT) para obter quatro vCPUs:

aws ec2 run-instances \ --image-id ami-1a2b3c4d \ --instance-type r5.4xlarge \ --cpu-options "CoreCount=4,ThreadsPerCore=1" \ --key-name MyKeyPair

Especificar um número personalizado de vCPUs em um modelo de execução

É possível personalizar o número de núcleos de CPU e de threads por núcleo para a instância em um modelo de execução. Os exemplos nesta seção usam um tipo de instância r5.4xlarge, que tem as seguintes configurações padrão:

  • Núcleos de CPU: 8

  • Threads por núcleo: 2

Por padrão, as instâncias são iniciadas com o número máximo de vCPUs disponíveis para o tipo de instância. Para esse tipo de instância, são 16 vCPUs no total (8 núcleos executando 2 threads cada). Para obter mais informações sobre este tipo de instância, consulte Instâncias otimizadas para memória.

O exemplo apresentado a seguir cria um modelo de execução que especifica a configuração para uma instância r5.4xlarge com quatro vCPUs.

Console
Para especificar um número personalizado de vCPUs em um modelo de execução
  1. Siga o procedimento Criar um modelo de execução especificando parâmetros e configure seu modelo de execução conforme necessário.

  2. Expanda Detalhes avançados e marque a caixa de seleção Especificar opções de CPU.

  3. Para obter quatro vCPUs, especifique dois núcleos de CPU e dois threads por núcleo, da seguinte forma:

    • Em Contagem de núcleos, selecione 2.

    • For Threads por núcleo, selecione 2.

  4. No painel Resumo, analise a configuração da sua instância e selecione Criar modelo de execução. Para mais informações, consulte Armazenar os parâmetros de execução de instâncias nos modelos de execução do Amazon EC2.

AWS CLI
Para especificar um número personalizado de vCPUs em um modelo de execução

Use o comando create-launch-template da AWS CLI e especifique o número de núcleos de CPU e o número de threads no parâmetro CpuOptions. É possível especificar dois núcleos de CPU e dois threads por núcleo para obter quatro vCPUs.

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

Veja a seguir um exemplo de arquivo JSON que contém os dados do modelo de execução, que incluem as opções de CPU, para a configuração da instância para este exemplo.

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

Outra alternativa é especificar quatro núcleos de CPU e um thread por núcleo (desabilite o SMT) para obter quatro vCPUs:

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

Alterar opções de CPU para a instância do EC2

À medida que suas necessidades mudam com o tempo, talvez seja necessário alterar a configuração das opções de CPU para uma instância existente. Cada thread executado na instância é conhecido como CPU virtual (vCPU). É possível alterar o número total de vCPUs que são executadas em uma instância existente no console, na AWS CLI, na API ou nos SDKs do Amazon EC2. O estado da instância deve ser Stopped antes que se possa fazer essa alteração.

Para visualizar as etapas do console ou da linha de comando, selecione a guia que corresponde ao ambiente. Para obter informações sobre solicitações e respostas de API, consulte ModifyInstanceCpuOptions na Referência de API do Amazon EC2.

Console

Siga este procedimento para alterar o número de vCPUs ativas para sua instância usando o AWS Management Console.

  1. Abra o console do Amazon EC2 em https://console.aws.amazon.com/ec2/.

  2. No painel de navegação à esquerda, selecione Instâncias. Esse procedimento abre a lista de instâncias definidas para a Região da AWS atual.

  3. Na lista de Instâncias, selecione a instância. Outra alternativa é selecionar o link da instância para abrir a página de detalhes da instância.

  4. Caso a instância esteja em execução, é necessário interrompê-la antes de continuar. No menu Estado da instância, selecione Interromper instância.

  5. Para alterar sua configuração de vCPU, selecione Alterar opções de CPU em Configurações de instância no menu Ações. Esse procedimento abre a página Alterar opções de CPU.

  6. Selecione uma das seguintes opções de CPU para alterar a configuração da instância.

    Nenhum

    Essa opção redefine sua instância para o número padrão de vCPUs para o tipo de instância. O padrão é executar todos os threads para todos os núcleos da CPU.

    Especificar opções de CPU

    Essa opção permite a configuração do número de vCPUs em execução na sua instância.

  7. Caso tenha selecionado Especificar opções de CPU, a configuração vCPU ativa será exibida.

    • O primeiro seletor configura o número de threads que são executados para cada núcleo da CPU. Para desabilitar o multithreading simultâneo, altere o número de threads executados por núcleo para 1.

    • O segundo seletor configura o número de CPUs em execução na sua instância.

    Os campos a seguir são atualizados dinamicamente à medida que são realizadas alterações nos seletores de opções da CPU.

    • vCPUs ativas: o número total de núcleos de CPU multiplicado pelos threads por núcleo, com base nas seleções realizadas. Por exemplo, caso tenha selecionado 2 threads e 4 núcleos, isso equivaleria a 8 vCPUs.

    • Total de vCPUs: o número máximo de vCPUs para o tipo de instância. Por exemplo, para um tipo de instância m6i.4xlarge, são 16 vCPUs (8 núcleos executando 2 threads cada).

  8. Para aplicar suas atualizações, selecione Alterar.

AWS CLI

Siga este procedimento para alterar o número de vCPUs ativas para sua instância usando o AWS CLI.

Use o comando modify-instance-cpu-options e especifique o número de núcleos de CPU que são executados no parâmetro --core-count e o número de threads executados por núcleo no parâmetro --threads-per-core.

Os exemplos a seguir mostram duas configurações possíveis em um tipo de instância m6i.4xlarge para executar 8 vCPUs na instância especificada. O padrão para esse tipo de instância é 16 vCPUs (8 núcleos executando 2 threads cada).

Exemplo 1: execute 4 núcleos de CPU com 2 threads por núcleo, totalizando 8 vCPUs.

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

Exemplo 2: desabilite o multithreading simultâneo alterando o número de threads executados por núcleo para 1. A configuração resultante também executa um total de 8 vCPUs (8 núcleos de CPU com 1 thread por núcleo).

aws ec2 modify-instance-cpu-options \ --instance-id i-1234567890abcdef0 \ --core-count=8 \ --threads-per-core=1