Amazon EC2 インスタンスに関する CPU オプションを指定する
インスタンスの起動中または起動後に CPU オプションを指定できます。
同時マルチスレッドを無効にする
ハイパースレッディングとも呼ばれる同時マルチスレッド (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 コア数を指定します。この例ではr7i.4xlarge
インスタンスにデフォルトの CPU コア数を指定するには8
の値を選択してください。aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typer7i.4xlarge
\ --cpu-options "CoreCount=8
,ThreadsPerCore=1
" \ --key-namemy-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
インスタンスを起動します。
- Console
-
インスタンス起動中に vCPU のカスタム数を指定するには
-
コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する の手順に従い、必要に応じてインスタンスを設定します。
-
[高度な詳細] を展開し、[CPU オプションの指定] チェックボックスをオンにします。
-
4 つの vCPU を取得するには次のように、2 つの CPU コアおよびコアごとに 2 つのスレッドを指定します。
-
[コアカウント] には 2 を選択してください。
-
[Threads per core (コアごとのスレッド)] には[2] を選択してください。
-
-
[Summary] (概要) パネルでインスタンスの設定を確認し、[Launch instance] (インスタンスを起動) を選択してください。詳細については、「コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する」を参照してください。
-
- AWS CLI
-
インスタンス起動中に vCPU のカスタム数を指定するには
run-instances
AWS CLI コマンドを使用して、 --cpu-options
パラメータの CPU コア数およびスレッドの数を指定します。2 つの CPU コアおよびコアごとに 2 つのスレッドを指定すると、4 つの vCPU を取得できます。aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typer7i.4xlarge
\ --cpu-options "CoreCount=2
,ThreadsPerCore=2
" \ --key-namemy-key-pair
また、4 つの CPU コアおよびコアごとに 1 つのスレッドを指定 (SMT を無効化) して、4 つの vCPU を取得することもできます。
aws ec2 run-instances \ --image-id
ami-0abcdef1234567890
\ --instance-typer7i.4xlarge
\ --cpu-options "CoreCount=4
,ThreadsPerCore=1
" \ --key-namemy-key-pair
- PowerShell
-
インスタンス起動中に vCPU のカスタム数を指定するには
New-EC2Instance コマンドを使用し、
-CpuOptions
パラメータに CPU コア数とスレッド数を指定します。2 つの CPU コアおよびコアごとに 2 つのスレッドを指定すると、4 つの vCPU を取得できます。New-EC2Instance ` -ImageId '
ami-0abcdef1234567890
' ` -InstanceType 'r7i.4xlarge
' ` -CpuOptions @{CoreCount=2
; ThreadsPerCore=2
} ` -KeyName 'my-key-pair
'また、4 つの CPU コアおよびコアごとに 1 つのスレッドを指定 (SMT を無効化) して、4 つの vCPU を取得することもできます。
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 個のコア) です。インスタンスタイプの詳細については「メモリ最適化インスタンス」を参照してください。
次の例ではvCPU が 4 つの r5.4xlarge
インスタンスの設定を指定する起動テンプレートを作成します。
- Console
-
起動テンプレートで vCPU のカスタム数を指定するには
-
「パラメータを指定して起動テンプレートを作成する」の手順に従い、必要に応じて起動テンプレートを設定します。
-
[高度な詳細] を展開し、[CPU オプションの指定] チェックボックスをオンにします。
-
4 つの vCPU を取得するには次のように、2 つの CPU コアおよびコアごとに 2 つのスレッドを指定します。
-
[コアカウント] には 2 を選択してください。
-
[Threads per core (コアごとのスレッド)] には[2] を選択してください。
-
-
[概要] パネルでインスタンスの設定を確認し、[起動テンプレートの作成] を選択してください。詳細については、「Amazon EC2 起動テンプレートにインスタンス起動パラメータを保存する」を参照してください。
-
- 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-descriptionCPUOptionsVersion1
\ --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 つの CPU コアおよびコアごとに 1 つのスレッドを指定 (SMT を無効化) して、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
-
起動テンプレートで 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
にする必要があります。
- Console
-
インスタンスのアクティブな vCPU の数を変更するには
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/
を開いてください。 -
左のナビゲーションペインで、[Instances] (インスタンス) をクリックしてください。これにより、現在の AWS リージョンに定義されているインスタンスのリストが開きます。
-
[インスタンス] の一覧から、インスタンスを選択してください。またはインスタンスリンクを選択して、インスタンスの詳細ページを開くこともできます。
-
インスタンスが実行中の場合はまず進む前に停止する必要があります。[インスタンスの状態] メニューから [インスタンスの停止] を選択してください。
-
vCPU 設定を変更するには[アクション] メニューの [インスタンス設定] から [CPU オプションの変更] を選択してください。これにより、[CPU オプションの変更] ページが開きます。
-
インスタンスの設定を変更するには次のいずれかの CPU オプションを選択してください。
- [デフォルトの CPU オプションを使用する]
-
このオプションはインスタンスをインスタンスタイプのデフォルトの vCPU 数にリセットします。デフォルトではすべての CPU コアのすべてのスレッドを実行します。
- [CPU オプションを指定する]
-
このオプションはインスタンスで実行されている vCPU の数の設定を有効にします。
-
[CPU オプションを指定] を選択した場合、[アクティブな vCPU] 設定が表示されます。
-
最初のセレクタは各 CPU コアに対して実行されるスレッドの数を設定します。同時マルチスレッドを無効にするにはコアごとに実行されるスレッドの数を
1
に変更できます。 -
2 番目のセレクタはインスタンスで実行されている CPU の数を設定します。
CPU オプションセレクタを変更すると、次のフィールドが動的に更新されます。
-
[アクティブな vCPU]: 行った選択に基づいて、CPU コアの数にコアあたりのスレッドを乗算します。例えば、2 つのスレッドと 4 つのコアを選択した場合、8 つの vCPU となります。
-
[vCPU の合計]: インスタンスタイプの vCPU の最大数。例えば、
m6i.4xlarge
インスタンスタイプの場合、これは 16 vCPU (それぞれ 2 つのスレッドを実行する 8 個のコア) です。
-
-
[変更] を選択して更新を適用します。
- AWS CLI
-
インスタンスのアクティブな vCPU の数を変更するには
modify-instance-cpu-options
--core-count
コマンドを使用して、 パラメータで実行される CPU コアの数と、--threads-per-core
パラメータでコアごとに実行されるスレッドの数を指定します。次の例は指定したインスタンスで 8 つの vCPU を実行するために、
m6i.4xlarge
インスタンスタイプで 2 つの設定候補を示しています。このインスタンスタイプのデフォルトは 16 vCPU (それぞれ 2 つのスレッドを実行する 8 個のコア) です。例 1: 4 つの CPU コアを 1 コアあたり 2 つのスレッドで実行し、合計 8 つの vCPU を実行します。
aws ec2 modify-instance-cpu-options \ --instance-id
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 コマンドレットを使用し、
-CoreCount
パラメータで実行する CPU コアの数を指定し、ThreadsPerCore
パラメータでコアごとに実行するスレッドの数を指定します。例 1: 4 つの CPU コアを 1 コアあたり 2 つのスレッドで実行し、合計 8 つの vCPU を実行します。
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