Amazon EC2 インスタンスに関する CPU オプションを指定する
インスタンスの起動時に CPU オプションを指定できます。
次の例は、EC2 コンソールのインスタンス起動ウィザードと run-instances AWS CLI コマンド、および EC2 コンソールの起動設定テンプレートページと create-launch-template AWS CLI コマンドを使用する際に CPU オプションを指定する方法を示しています。EC2 フリートまたはスポットフリートの場合は、起動テンプレートで CPU オプションを指定する必要があります。
以下の例は、次の デフォルト値がある r5.4xlarge
インスタンスタイプの場合です。
-
デフォルトの CPU コア: 8
-
コアごとのデフォルトのスレッド: 2
-
デフォルト vCPU: 16 (8 x 2)
-
CPU コアの有効数: 2, 4, 6, 8
-
コアごとのスレッドの有効数: 1、2
同時マルチスレッドを無効にする
ハイパースレッディングとも呼ばれる同時マルチスレッド (SMT) を無効にするには、コア 1 個あたり 1 つのスレッドを指定します。
- Console
-
インスタンスの起動時に SMT を無効にするには
-
コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する の手順に従い、必要に応じてインスタンスを設定します。
-
[詳細設定] を展開し、[CPU オプションの指定] チェックボックスをオンにします。
-
[Core count (コア数)] では、必要な 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 のカスタム数の指定
インスタンスの CPU コア数とコアあたりのスレッドの数をカスタマイズできます。
次の例では、4 つの vCPU で r5.4xlarge
インスタンスを起動します。
- Console
-
- AWS CLI
-
インスタンス起動中に vCPU のカスタム数を指定するには
run-instances AWS CLI コマンドを使用して、--cpu-options
パラメータの CPU コア数およびスレッドの数を指定します。2 つの CPU コアおよびコアごとに 2 つのスレッドを指定すると、4 つの vCPU を取得できます。
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=2
,ThreadsPerCore=2
" \
--key-name MyKeyPair
また、4 つの CPU コアおよびコアごとに 1 つのスレッドを指定 (SMT を無効化) して、4 つの vCPU を取得することもできます。
aws ec2 run-instances \
--image-id ami-1a2b3c4d
\
--instance-type r5.4xlarge
\
--cpu-options "CoreCount=4
,ThreadsPerCore=1
" \
--key-name MyKeyPair
起動テンプレートでの vCPU のカスタム数の指定
起動テンプレートでインスタンスの CPU コア数とコアごとのスレッドの数をカスタマイズできます。
次の例では、vCPU が 4 つの r5.4xlarge
インスタンスの設定を指定する起動テンプレートを作成します。
- Console
-
- AWS CLI
-
起動テンプレートで vCPU のカスタム数を指定するには
create-launch-template AWS CLI コマンドを使用して、CpuOptions
パラメータで CPU コア数およびスレッドの数を指定します。2 つの CPU コアおよびコアごとに 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-7b16de0c
"
}],
"ImageId": "ami-8c1be5f6
",
"InstanceType": "r5.4xlarge
",
"TagSpecifications": [{
"ResourceType": "instance",
"Tags": [{
"Key":"Name
",
"Value":"webserver
"
}]
}],
"CpuOptions": {
"CoreCount":2
,
"ThreadsPerCore":2
}
}
また、4 つの CPU コアおよびコアごとに 1 つのスレッドを指定 (SMT を無効化) して、4 つの vCPU を取得することもできます。
{
"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
}
}