Amazon EC2 インスタンスに関する CPU オプションを指定する - Amazon Elastic Compute Cloud

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 を無効にするには
  1. コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する の手順に従い、必要に応じてインスタンスを設定します。

  2. [詳細設定] を展開し、[CPU オプションの指定] チェックボックスをオンにします。

  3. [Core count (コア数)] では、必要な CPU コア数を選択します。この例では、r5.4xlarge インスタンスにデフォルトの CPU コア数を指定するには、8 を選択します。

  4. SMT を無効にするには、[コアごとのスレッド] で、[1] を選択します。

  5. [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
インスタンス起動中に vCPU のカスタム数を指定するには
  1. コンソールのインスタンス起動ウィザードを使用して EC2 インスタンスを起動する の手順に従い、必要に応じてインスタンスを設定します。

  2. [詳細設定] を展開し、[CPU オプションの指定] チェックボックスをオンにします。

  3. 4 つの vCPU を取得するには、次のように、2 つの CPU コアおよびコアごとに 2 つのスレッドを指定します。

    • [コアカウント] には 2 を選択します。

    • [Threads per core (コアごとのスレッド)] には、[2] を選択します。

  4. [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-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
起動テンプレートで vCPU のカスタム数を指定するには
  1. パラメータを指定して起動テンプレートを作成する」の手順に従い、必要に応じて起動テンプレートを設定します。

  2. [詳細設定] を展開し、[CPU オプションの指定] チェックボックスをオンにします。

  3. 4 つの vCPU を取得するには、次のように、2 つの CPU コアおよびコアごとに 2 つのスレッドを指定します。

    • [コアカウント] には 2 を選択します。

    • [Threads per core (コアごとのスレッド)] には、[2] を選択します。

  4. [概要] パネルでインスタンスの設定を確認し、[起動テンプレートの作成] を選択します。詳細については、「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-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 } }