Amazon EC2 인스턴스의 CPU 옵션 지정하기

Amazon EC2 인스턴스의 CPU 옵션 지정하기 (Specify CPU options for an Amazon EC2 instance)

인스턴스 시작 시 또는 시작 후에 CPU 옵션을 지정할 수 있어요.

작업 (Tasks)

  • 동시 멀티스레딩 비활성화하기
  • 시작 시 사용자 지정 vCPU 수 지정하기
  • 시작 템플릿에서 사용자 지정 vCPU 수 지정하기
  • EC2 인스턴스의 CPU 옵션 변경하기

동시 멀티스레딩 비활성화하기

동시 멀티스레딩(SMT, simultaneous multithreading)을 비활성화하려면(하이퍼스레딩이라고도 함) 코어당 스레드를 1로 지정하세요.

콘솔

인스턴스 시작 중 SMT를 비활성화하려면

  1. '콘솔에서 시작 마법사를 사용해 EC2 인스턴스 시작하기' 절차를 따르고 필요에 따라 인스턴스를 구성하세요.
  2. Advanced details를 펼치고 Specify CPU options 체크박스를 선택하세요.
  3. Core count에서 필요한 CPU 코어 수를 선택하세요. 이 예시에서 r5.4xlarge 인스턴스의 기본 CPU 코어 수를 지정하려면 8을 선택하세요.
  4. SMT를 비활성화하려면 Threads per core에서 1을 선택하세요.
  5. Summary 패널에서 인스턴스 구성을 검토한 뒤 Launch instance를 선택하세요. 자세한 내용은 '콘솔에서 시작 마법사를 사용해 EC2 인스턴스 시작하기'를 참고하세요.

AWS CLI

인스턴스 시작 중 SMT를 비활성화하려면

run-instances AWS CLI 명령을 사용하고 --cpu-options 매개변수의 ThreadsPerCore에 1을 지정하세요. CoreCount에는 CPU 코어 수를 지정하세요. 이 예시에서 r7i.4xlarge 인스턴스의 기본 CPU 코어 수를 지정하려면 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

인스턴스 시작 중 SMT를 비활성화하려면

New-EC2Instance 명령을 사용하고 -CpuOptions 매개변수의 ThreadsPerCore에 1을 지정하세요. CoreCount에는 CPU 코어 수를 지정하세요. 이 예시에서 r7i.4xlarge 인스턴스의 기본 CPU 코어 수를 지정하려면 8을 지정하세요.

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

참고 기존 인스턴스의 SMT를 비활성화하려면 'EC2 인스턴스의 CPU 옵션 변경하기'에 표시된 절차를 따르고 코어당 실행 스레드 수를 1로 변경하세요.

시작 시 사용자 지정 vCPU 수 지정하기

EC2 콘솔이나 AWS CLI로 인스턴스를 시작할 때 CPU 코어 수와 코어당 스레드 수를 사용자 지정할 수 있어요. 이 섹션의 예시는 다음 기본 설정을 가진 r5.4xlarge 인스턴스 유형을 사용해요.

  • CPU 코어: 8
  • 코어당 스레드: 2

인스턴스는 기본적으로 인스턴스 유형에 사용할 수 있는 최대 vCPU 수로 시작돼요. 이 인스턴스 유형의 경우 총 16개 vCPU(각각 2개 스레드를 실행하는 8개 코어)예요. 이 인스턴스 유형에 대한 자세한 내용은 '메모리 최적화 인스턴스'를 참고하세요.

다음 예시는 4개 vCPU를 가진 r5.4xlarge 인스턴스를 시작해요.

콘솔

인스턴스 시작 중 사용자 지정 vCPU 수를 지정하려면

  1. '콘솔에서 시작 마법사를 사용해 EC2 인스턴스 시작하기' 절차를 따르고 필요에 따라 인스턴스를 구성하세요.
  2. Advanced details를 펼치고 Specify CPU options 체크박스를 선택하세요.
  3. 4개 vCPU를 얻으려면 다음과 같이 CPU 코어 2개와 코어당 스레드 2개를 지정하세요.
    • Core count에서 2를 선택하세요.
    • Threads per core에서 2를 선택하세요.
  4. Summary 패널에서 인스턴스 구성을 검토한 뒤 Launch instance를 선택하세요. 자세한 내용은 '콘솔에서 시작 마법사를 사용해 EC2 인스턴스 시작하기'를 참고하세요.

AWS CLI

인스턴스 시작 중 사용자 지정 vCPU 수를 지정하려면

run-instances AWS CLI 명령을 사용하고 --cpu-options 매개변수에 CPU 코어 수와 스레드 수를 지정하세요. CPU 코어 2개와 코어당 스레드 2개를 지정해 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

또는 4개 vCPU를 얻기 위해 CPU 코어 4개와 코어당 스레드 1개(SMT 비활성화)를 지정할 수도 있어요.

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

PowerShell

인스턴스 시작 중 사용자 지정 vCPU 수를 지정하려면

New-EC2Instance 명령을 사용하고 -CpuOptions 매개변수에 CPU 코어 수와 스레드 수를 지정하세요. CPU 코어 2개와 코어당 스레드 2개를 지정해 4개 vCPU를 얻을 수 있어요.

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

또는 4개 vCPU를 얻기 위해 CPU 코어 4개와 코어당 스레드 1개(SMT 비활성화)를 지정할 수도 있어요.

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

시작 템플릿에서 사용자 지정 vCPU 수 지정하기

시작 템플릿에서 인스턴스의 CPU 코어 수와 코어당 스레드 수를 사용자 지정할 수 있어요. 이 섹션의 예시는 다음 기본 설정을 가진 r5.4xlarge 인스턴스 유형을 사용해요.

  • CPU 코어: 8
  • 코어당 스레드: 2

인스턴스는 기본적으로 인스턴스 유형에 사용할 수 있는 최대 vCPU 수로 시작돼요. 이 인스턴스 유형의 경우 총 16개 vCPU(각각 2개 스레드를 실행하는 8개 코어)예요. 이 인스턴스 유형에 대한 자세한 내용은 '메모리 최적화 인스턴스'를 참고하세요.

다음 예시는 4개 vCPU를 가진 r5.4xlarge 인스턴스의 구성을 지정하는 시작 템플릿을 만들어요.

콘솔

시작 템플릿에서 사용자 지정 vCPU 수를 지정하려면

  1. '매개변수 지정으로 시작 템플릿 만들기' 절차를 따르고 필요에 따라 시작 템플릿을 구성하세요.
  2. Advanced details를 펼치고 Specify CPU options 체크박스를 선택하세요.
  3. 4개 vCPU를 얻으려면 다음과 같이 CPU 코어 2개와 코어당 스레드 2개를 지정하세요.
    • Core count에서 2를 선택하세요.
    • Threads per core에서 2를 선택하세요.
  4. Summary 패널에서 인스턴스 구성을 검토한 뒤 Create launch template을 선택하세요. 자세한 내용은 'Amazon EC2 시작 템플릿에 인스턴스 시작 매개변수 저장하기'를 참고하세요.

AWS CLI

시작 템플릿에서 사용자 지정 vCPU 수를 지정하려면

create-launch-template AWS CLI 명령을 사용하고 CpuOptions 매개변수에 CPU 코어 수와 스레드 수를 지정하세요. CPU 코어 2개와 코어당 스레드 2개를 지정해 4개 vCPU를 얻을 수 있어요.

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-0abcdef1234567890"
    }],
    "ImageId": "ami-0abcdef1234567890",
    "InstanceType": "r5.4xlarge",
    "TagSpecifications": [{
        "ResourceType": "instance",
        "Tags": [{
            "Key":"Name",
            "Value":"webserver"
        }]
    }],
    "CpuOptions": {
        "CoreCount":2,
        "ThreadsPerCore":2
    }
}

또는 4개 vCPU를 얻기 위해 CPU 코어 4개와 코어당 스레드 1개(SMT 비활성화)를 지정할 수도 있어요.

{
    "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

시작 템플릿에서 사용자 지정 vCPU 수를 지정하려면

New-EC2LaunchTemplate를 사용하세요.

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

EC2 인스턴스의 CPU 옵션 변경하기

시간이 지나면서 필요가 바뀌면 기존 인스턴스의 CPU 옵션 구성을 변경하고 싶을 수 있어요. 인스턴스에서 실행되는 각 스레드는 가상 CPU(vCPU)라고 불러요. Amazon EC2 콘솔, AWS CLI, API, SDK에서 기존 인스턴스로 실행되는 vCPU 수를 변경할 수 있어요. 이 변경을 하려면 인스턴스 상태가 Stopped여야 해요.

콘솔이나 명령줄 단계를 보려면 환경에 맞는 탭을 선택하세요. API 요청·응답 정보는 Amazon EC2 API Reference의 ModifyInstanceCpuOptions를 참고하세요.

콘솔

AWS Management Console에서 인스턴스의 활성 vCPU 수를 변경하려면 다음 절차를 따르세요.

  1. Amazon EC2 콘솔을 https://console.aws.amazon.com/ec2/ 에서 엽니다.
  2. 왼쪽 탐색 창에서 Instances를 선택하세요. 현재 AWS 리전에 정의된 인스턴스 목록이 열려요.
  3. Instances 목록에서 인스턴스를 선택하세요. 또는 인스턴스 링크를 선택해 인스턴스 세부 정보 페이지를 열 수도 있어요.
  4. 인스턴스가 실행 중이라면 계속하기 전에 중지해야 해요. Instance state 메뉴에서 Stop instance를 선택하세요.
  5. vCPU 구성을 변경하려면 Actions 메뉴의 Instance settings에서 Change CPU options를 선택하세요. Change CPU options 페이지가 열려요.
  6. 인스턴스 구성을 변경하려면 다음 CPU 옵션 중 하나를 선택하세요.
    • Use default CPU options – 인스턴스를 인스턴스 유형의 기본 vCPU 수로 재설정해요. 기본값은 모든 CPU 코어의 모든 스레드를 실행하는 것이에요.
    • Specify CPU options – 인스턴스에서 실행되는 vCPU 수를 구성할 수 있게 해요.
  7. Specify CPU options를 선택했다면 Active vCPUs 필드가 표시돼요.
    • 첫 번째 선택기를 사용해 각 CPU 코어의 스레드 수를 구성하세요. 동시 멀티스레딩을 비활성화하려면 1을 선택하세요.
    • 두 번째 선택기를 사용해 인스턴스에서 실행되는 CPU 수를 구성하세요.
    • CPU 옵션 선택기를 변경하면 다음 필드가 동적으로 업데이트돼요.
      • Active vCPUs – 선택한 내용에 따라 CPU 코어 수에 코어당 스레드를 곱한 값이에요. 예를 들어 스레드 2개와 코어 4개를 선택했다면 8개 vCPU가 돼요.
      • Total vCPUs – 인스턴스 유형의 최대 vCPU 수예요. 예를 들어 m6i.4xlarge 인스턴스 유형의 경우 16개 vCPU(각각 2개 스레드를 실행하는 8개 코어)예요.
  8. 업데이트를 적용하려면 Change를 선택하세요.

AWS CLI

AWS CLI에서 인스턴스의 활성 vCPU 수를 변경하려면 다음 절차를 따르세요.

modify-instance-cpu-options 명령을 사용하고 --core-count 매개변수에 실행할 CPU 코어 수를, --threads-per-core 매개변수에 코어당 실행할 스레드 수를 지정하세요.

다음 예시는 지정된 인스턴스에서 8개 vCPU를 실행하기 위한 m6i.4xlarge 인스턴스 유형의 두 가지 가능한 구성을 보여줘요. 이 인스턴스 유형의 기본값은 16개 vCPU(각각 2개 스레드를 실행하는 8개 코어)예요.

  • 예시 1: 총 8개 vCPU를 위해 CPU 코어 4개를 코어당 스레드 2개로 실행해요.
aws ec2 modify-instance-cpu-options \
    --instance-id i-1234567890abcdef0 \

    --core-count=4 \
    --threads-per-core=2
  • 예시 2: 코어당 실행 스레드 수를 1로 변경해 동시 멀티스레딩을 비활성화해요. 결과 구성도 총 8개 vCPU(코어당 스레드 1개인 8개 CPU 코어)를 실행해요.
aws ec2 modify-instance-cpu-options \
    --instance-id 1234567890abcdef0 \
    --core-count=8 \
    --threads-per-core=1

PowerShell

인스턴스의 활성 vCPU 수를 변경하려면

Edit-EC2InstanceCpuOption cmdlet을 사용하고 -CoreCount 매개변수에 실행할 CPU 코어 수를, ThreadsPerCore 매개변수에 코어당 실행할 스레드 수를 지정하세요.

  • 예시 1: 총 8개 vCPU를 위해 CPU 코어 4개를 코어당 스레드 2개로 실행해요.
Edit-EC2InstanceCpuOption `
    -InstanceId 'i-1234567890abcdef0' `
    -CoreCount 4 `
    -ThreadsPerCore 2
  • 예시 2: 코어당 실행 스레드 수를 1로 변경해 동시 멀티스레딩을 비활성화해요. 결과 구성도 총 8개 vCPU(코어당 스레드 1개인 8개 CPU 코어)를 실행해요.
Edit-EC2InstanceCpuOption `
    -InstanceId 'i-1234567890abcdef0' `
    -CoreCount 8 `
    -ThreadsPerCore 1

더 알아보기 (Learn more)