Amazon EC2 인스턴스의 CPU 옵션 지정
AWS Management Console,AWS CLI, EC2 API 또는 SDK를 통해 인스턴스 시작 도중 또는 이후에 CPU 옵션을 지정할 수 있습니다. 이 페이지에서는 다음과 같이 AWS Management Console 및 AWS CLI 방법을 다룹니다.
동시 멀티스레딩 비활성화
하이퍼스레딩이라고도 하는 동시 멀티스레딩(SMT)을 비활성화하려면 코어당 스레드 하나를 지정하세요.
- Console
-
인스턴스 시작 중 SMT 비활성화
-
콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 절차를 수행하고 필요에 따라 인스턴스를 구성합니다.
-
고급 세부 정보를 확장하고 CPU 옵션 지정 확인란을 선택합니다.
-
코어 수에 대해 필요한 CPU 코어 수를 선택합니다. 이 예에서 r5.4xlarge
인스턴스에 필요한 기본 CPU 코어 개수를 지정하려면 8
을 선택합니다.
-
SMT를 비활성화하려면 코어당 스레드로 1을 선택하세요.
-
Summary(요약) 패널에서 인스턴스 구성을 검토한 다음 Launch instance(인스턴스 시작)를 선택합니다. 자세한 내용은 콘솔에서 인스턴스 시작 마법사를 사용하여 EC2 인스턴스 시작 단원을 참조하십시오.
- AWS CLI
-
인스턴스 시작 중 SMT 비활성화
run-instances AWS CLI 명령을 사용하여 1
파라미터의 ThreadsPerCore
에 값을 --cpu-options
로 지정합니다. CoreCount
에 대해 CPU 코어 수를 지정합니다. 이 예에서 r5.4xlarge
인스턴스에 필요한 기본 CPU 코어 개수를 지정하려면 값을 8
로 지정합니다.
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=8
,ThreadsPerCore=1
" \
--key-name MyKeyPair
시작 시 vCPU 사용자 지정 수 지정
EC2 콘솔 또는 AWS CLI에서 인스턴스를 시작할 때 인스턴스의 코어당 CPU 코어와 스레드 수를 사용자 지정할 수 있습니다. 이 섹션의 예제는 r5.4xlarge
인스턴스 유형을 사용하며 다음과 같은 기본 설정을 포함합니다.
기본적으로 인스턴스 유형에 사용할 수 있는 최대 수의 vCPU를 사용하여 인스턴스를 시작합니다. 이 인스턴스 유형의 경우 총 16개의 vCPU(각각 2개의 스레드를 실행하는 코어 8개)입니다. 이 인스턴스 유형에 대한 자세한 내용은 메모리 최적화 인스턴스 섹션을 참조하세요.
다음 예제는 4개의 vCPU로 r5.4xlarge
인스턴스를 시작합니다.
- Console
-
- AWS CLI
-
인스턴스 시작 중 vCPU 수 사용자 지정
run-instances AWS CLI 명령을 사용하여 --cpu-options
파라미터에서 CPU 코어 수와 스레드 수를 지정합니다. 4개의 vCPU를 얻기 위해 2개의 CPU 코어와 코어당 2개의 스레드를 지정할 수 있습니다.
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=2
,ThreadsPerCore=2
" \
--key-name MyKeyPair
또는 4개의 vCPU를 얻기 위해 4개의 CPU 코어와 코어당 1개의 스레드(SMT 비활성화)를 지정합니다.
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=4
,ThreadsPerCore=1
" \
--key-name MyKeyPair
시작 템플릿에 vCPU 사용자 지정 수 지정
시작 템플릿에서 인스턴스의 코어당 CPU 코어와 스레드 수를 사용자 지정할 수 있습니다. 이 섹션의 예제는 r5.4xlarge
인스턴스 유형을 사용하며 다음과 같은 기본 설정을 포함합니다.
기본적으로 인스턴스 유형에 사용할 수 있는 최대 수의 vCPU를 사용하여 인스턴스를 시작합니다. 이 인스턴스 유형의 경우 총 16개의 vCPU(각각 2개의 스레드를 실행하는 코어 8개)입니다. 이 인스턴스 유형에 대한 자세한 내용은 메모리 최적화 인스턴스 섹션을 참조하세요.
다음 예제에서는 vCPU가 4개 있는 r5.4xlarge
인스턴스의 구성을 지정하는 시작 템플릿을 생성합니다.
- Console
-
시작 템플릿에 vCPU 사용자 지정 수 지정
-
파라미터를 지정하여 시작 템플릿 생성 절차를 수행하고 필요에 따라 시작 템플릿을 구성합니다.
-
고급 세부 정보를 확장하고 CPU 옵션 지정 확인란을 선택합니다.
-
4개의 vCPU를 얻기 위해 다음과 같이 2개의 CPU 코어와 코어당 2개의 스레드를 지정합니다.
-
코어 수로 2를 선택합니다.
-
코어당 스레드로 2를 선택합니다.
-
요약 패널에서 인스턴스 구성을 검토한 다음 인스턴스 시작을 선택합니다. 자세한 내용은 Amazon EC2 시작 템플릿에 인스턴스 시작 파라미터 저장 단원을 참조하십시오.
- AWS CLI
-
시작 템플릿에 vCPU 사용자 지정 수 지정
create-launch-template AWS CLI 명령을 사용하여 CpuOptions
파라미터에서 CPU 코어 수와 스레드 수를 지정합니다. 4개의 vCPU를 얻기 위해 2개의 CPU 코어와 코어당 2개의 스레드를 지정할 수 있습니다.
aws ec2 create-launch-template \
--launch-template-name TemplateForCPUOptions
\
--version-description CPUOptionsVersion1
\
--launch-template-data file://template-data
.json
다음은 이 예제의 인스턴스 구성에 대한 CPU 옵션 등 시작 템플릿 데이터를 포함하는 JSON 파일 예제입니다.
{
"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
}
}
또는 4개의 vCPU를 얻기 위해 4개의 CPU 코어와 코어당 1개의 스레드(SMT 비활성화)를 지정합니다.
{
"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
}
}
EC2 인스턴스의 CPU 옵션 변경
시간이 지나면서 요구 사항이 변하면 기존 인스턴스의 CPU 옵션 구성을 변경하는 것이 좋습니다. 인스턴스에서 실행되는 각 스레드를 가상 CPU(vCPU)라고 합니다. Amazon EC2 콘솔, AWS CLI, API 또는 SDK에서 기존 인스턴스에서 실행되는 vCPU 수를 변경할 수 있습니다. 이렇게 변경하려면 먼저 인스턴스 상태가 Stopped
이어야 합니다.
콘솔 또는 명령줄 단계를 보려면 환경에 맞는 탭을 선택합니다. API 요청 및 응답 정보는 Amazon EC2 API 참조의 ModifyInstanceCpuOptions을 참조하세요.
- Console
-
다음 절차에 따라 AWS Management Console에서 인스턴스의 활성 vCPU 수를 에서 변경합니다.
https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.
-
왼쪽 탐색 창에서 인스턴스를 선택합니다. 그러면 현재 AWS 리전에 정의된 인스턴스 목록이 열립니다.
-
인스턴스 목록에서 인스턴스를 선택합니다. 또는 인스턴스 링크를 선택하여 인스턴스 세부 정보 페이지를 열 수도 있습니다.
-
인스턴스가 실행 중인 경우 진행하기 전에 인스턴스를 중지해야 합니다. 인스턴스 상태 메뉴에서 인스턴스 중지를 선택합니다.
-
vCPU 구성을 변경하려면 작업 메뉴의 인스턴스 설정에서 CPU 옵션 변경을 선택합니다. 그러면 CPU 옵션 변경 페이지가 열립니다.
-
다음 CPU 옵션 중 하나를 선택하여 인스턴스의 구성을 변경합니다.
- None(없음)
-
이 옵션은 인스턴스 유형의 기본 vCPU 수로 인스턴스를 재설정합니다. 기본값은 모든 CPU 코어에 대해 모든 스레드를 실행하는 것입니다.
- CPU 옵션 지정
-
이 옵션을 사용하면 인스턴스에서 실행 중인 vCPU 수를 구성할 수 있습니다.
-
CPU 옵션 지정을 선택한 경우 활성 vCPU 구성이 표시됩니다.
CPU 옵션 선택기를 변경하면 다음 필드가 동적으로 업데이트됩니다.
-
업데이트를 적용하려면 변경을 선택합니다.
- AWS CLI
-
다음 절차에 따라 AWS CLI에서 인스턴스의 활성 vCPU 수를 에서 변경합니다.
modify-instance-cpu-options AWS CLI 명령을 사용하여 --core-count
파라미터에서 실행되는 CPU 코어 수와 --threads-per-core
파라미터에서 코어당 실행되는 스레드 수를 지정합니다.
다음 예제는 지정된 인스턴스에서 vCPU 8개를 실행할 수 있는 m6i.4xlarge
인스턴스 유형의 두 가지 구성을 보여줍니다. 이 인스턴스 유형의 기본값은 16개의 vCPU(각각 2개의 스레드를 실행하는 코어 8개)입니다.
예제 1: 코어당 스레드 2개로 CPU 코어 4개를 실행하여 총 8개의 vCPU를 실행합니다.
aws ec2 modify-instance-cpu-options \
--instance-id i-1234567890abcdef0
\
--core-count=4
\
--threads-per-core=2
예제 2: 동시 멀티스레딩을 사용하지 않도록 설정하려면 코어당 실행되는 스레드 수를 1
로 변경할 수 있습니다. 또한 결과 구성에서는 총 8개의 vCPU(코어당 스레드 1개, CPU 코어 8개)를 실행합니다.
aws ec2 modify-instance-cpu-options \
--instance-id i-1234567890abcdef0
\
--core-count=8
\
--threads-per-core=1