Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

CPU オプションの最適化

Amazon EC2 インスタンスは、単一の Intel Xeon CPU コアで同時に複数のスレッドを実行できるマルチスレッドをサポートしています。各スレッドは、インスタンスの仮想 CPU (vCPU) として表されます。インスタンスには、インスタンスタイプによって異なるデフォルト数の CPU コアがあります。たとえば、m5.xlarge インスタンスタイプには 2 つの CPU コアがあり、デフォルトでは各コアごとに 2 つのスレッドの合計で 4 つの vCPU があります。—

注記

各 vCPU は、T2 インスタンスの場合を除き、CPU コアのスレッドです。

ほとんどの場合、ワークロードに適したメモリと vCPU 数を組み合わせた Amazon EC2 インスタンスタイプがあります。ただし、特定のワークロードまたはビジネスのニーズに合わせて、インスタンスを最適化するために以下の CPU オプションを指定できます。

  • CPU コア数: インスタンスの CPU コア数をカスタマイズできます。これによって、大量のメモリを使用するワークロード用に十分な RAM 量がありながら、少ない CPU コアのインスタンスのソフトウェアのライセンスコストを最適化することにつながります。

  • コア別のスレッド: マルチスレッドを無効化するには、CPU コアごとに 1 つのスレッドを指定できます。高性能コンピューティング (HPC) のワークロードのような特定のワークロードでこれを使用できます。

この CPU オプションはインスタンスの起動時に指定できます。CPU オプションの指定には、追加あるいは割引課金はありません。デフォルト CPU オプションで起動したインスタンスと同じように課金されます。

CPU オプションを指定するためのルール

インスタンスで CPU オプションを指定するには、次のルールに注意してください。

  • CPU オプションは現在、Amazon EC2 コンソール、AWS CLI、AWS SDK、または Amazon EC2 API を使用してサポートされています。

  • CPU オプションはインスタンスの起動時のみ指定でき、起動後には変更できません。

  • インスタンスを起動するときに、CPU コア数およびコアごとのスレッドの両方をリクエストで指定する必要があります。リクエスト例については、「インスタンスの CPU オプションを変更する」を参照してください。

  • インスタンスの vCPU の数は、コア別のスレッドで乗算した CPU コアの数です。vCPU のカスタム数を指定するには、インスタンスタイプで CPU およびコア別のスレッドの有効な数を指定する必要があります。インスタンスのデフォルト vCPU の数を超えることはできません。詳細については、「インスタンスタイプあたりの CPU コアごとの CPU コアとスレッド」を参照してください。

  • マルチスレッドを無効にするには、コアごとに 1 つのスレッドを指定します。

  • 既存のインスタンスのインスタンスタイプを変更する場合、CPU オプションは自動的に新しいインスタンスタイプのデフォルト CPU オプションに変更されます。

  • 指定された CPU オプションは、インスタンスの停止、開始あるいは再起動後にも保持されます。

インスタンスタイプあたりの CPU コアごとの CPU コアとスレッド

次の表では、CPU オプションの指定をサポートしているインスタンスタイプを一覧表示しています。この表では、各タイプごとにデフォルトおよびサポートされる CPU コアの数とコアごとのスレッドを示しています。

高速コンピューティングインスタンス

インスタンスタイプ デフォルト vCPU デフォルトの CPU コア コアごとのデフォルトのスレッド CPU コアの有効数 コアごとのスレッドの有効数
f1.2xlarge 8 4 2 1、2、3、4 1、2
f1.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
f1.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
g3.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
g3.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
g3.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
g3s.xlarge 4 2 2 1、2 1、2
p2.xlarge 4 2 2 1、2 1、2
p2.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
p2.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
p3.2xlarge 8 4 2 1、2、3、4 1、2
p3.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
p3.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
p3dn.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2

コンピュート最適化インスタンス

インスタンスタイプ デフォルト vCPU デフォルトの CPU コア コアごとのデフォルトのスレッド CPU コアの有効数 コアごとのスレッドの有効数
c4.large 2 1 2 1 1、2
c4.xlarge 4 2 2 1、2 1、2
c4.2xlarge 8 4 2 1、2、3、4 1、2
c4.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
c4.8xlarge 36 18 2 2、4、6、8、10、12、14、16、18 1、2
c5.large 2 1 2 1 1、2
c5.xlarge 4 2 2 2 1、2
c5.2xlarge 8 4 2 2、4 1、2
c5.4xlarge 16 8 2 2、4、6、8 1、2
c5.9xlarge 36 18 2 2、4、6、8、10、12、14、16、18 1、2
c5.18xlarge 72 36 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36 1、2
c5d.large 2 1 2 1 1、2
c5d.xlarge 4 2 2 2 1、2
c5d.2xlarge 8 4 2 2、4 1、2
c5d.4xlarge 16 8 2 2、4、6、8 1、2
c5d.9xlarge 36 18 2 2、4、6、8、10、12、14、16、18 1、2
c5d.18xlarge 72 36 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36 1、2
c5n.large 2 1 2 1 1、2
c5n.xlarge 4 2 2 2 1、2
c5n.2xlarge 8 4 2 2、4 1、2
c5n.4xlarge 16 8 2 2、4、6、8 1、2
c5n.9xlarge 36 18 2 2、4、6、8、10、12、14、16、18 1、2
c5n.18xlarge 72 36 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36 1、2

汎用インスタンス

インスタンスタイプ デフォルト vCPU デフォルトの CPU コア コアごとのデフォルトのスレッド CPU コアの有効数 コアごとのスレッドの有効数
m5.large 2 1 2 1 1、2
m5.xlarge 4 2 2 2 1、2
m5.2xlarge 8 4 2 2、4 1、2
m5.4xlarge 16 8 2 2、4、6、8 1、2
m5.12xlarge 48 24 2 2、4、6、8、10、12、14、16、18、20、22、24 1、2
m5.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2
m5a.large 2 1 2 1 1、2
m5a.xlarge 4 2 2 2 1、2
m5a.2xlarge 8 4 2 2、4 1、2
m5a.4xlarge 16 8 2 2、4、6、8 1、2
m5a.12xlarge 48 24 2 6, 12, 18, 24 1、2
m5a.24xlarge 96 48 2 12, 18, 24, 36, 48 1、2
m5ad.large 2 1 2 1 1、2
m5ad.xlarge 4 2 2 2 1、2
m5ad.2xlarge 8 4 2 2、4 1、2
m5ad.4xlarge 16 8 2 2、4、6、8 1、2
m5ad.12xlarge 48 24 2 6, 12, 18, 24 1、2
m5ad.24xlarge 96 48 2 12, 18, 24, 36, 48 1、2
m5d.large 2 1 2 1 1、2
m5d.xlarge 4 2 2 2 1、2
m5d.2xlarge 8 4 2 2、4 1、2
m5d.4xlarge 16 8 2 2、4、6、8 1、2
m5d.12xlarge 48 24 2 2、4、6、8、10、12、14、16、18、20、22、24 1、2
m5d.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2
t3.nano 2 1 2 1 1、2
t3.micro 2 1 2 1 1、2
t3.small 2 1 2 1 1、2
t3.medium 2 1 2 1 1、2
t3.large 2 1 2 1 1、2
t3.xlarge 4 2 2 2 1、2
t3.2xlarge 8 4 2 2、4 1、2
t3a.nano 2 1 2 1 1、2
t3a.micro 2 1 2 1 1、2
t3a.small 2 1 2 1 1、2
t3a.medium 2 1 2 1 1、2
t3a.large 2 1 2 1 1、2
t3a.xlarge 4 2 2 2 1、2
t3a.2xlarge 8 4 2 2、4 1、2

メモリ最適化インスタンス

インスタンスタイプ デフォルト vCPU デフォルトの CPU コア コアごとのデフォルトのスレッド CPU コアの有効数 コアごとのスレッドの有効数
r4.large 2 1 2 1 1、2
r4.xlarge 4 2 2 1、2 1、2
r4.2xlarge 8 4 2 1、2、3、4 1、2
r4.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
r4.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
r4.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
r5.large 2 1 2 1 1、2
r5.xlarge 4 2 2 2 1、2
r5.2xlarge 8 4 2 2、4 1、2
r5.4xlarge 16 8 2 2、4、6、8 1、2
r5.12xlarge 48 24 2 2、4、6、8、10、12、14、16、18、20、22、24 1、2
r5.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2
r5a.large 2 1 2 1 1、2
r5a.xlarge 4 2 2 2 1、2
r5a.2xlarge 8 4 2 2、4 1、2
r5a.4xlarge 16 8 2 2、4、6、8 1、2
r5a.12xlarge 48 24 2 6, 12, 18, 24 1、2
r5a.24xlarge 96 48 2 12, 18, 24, 36, 48 1、2
r5ad.large 2 1 2 1 1、2
r5ad.xlarge 4 2 2 2 1、2
r5ad.2xlarge 8 4 2 2、4 1、2
r5ad.4xlarge 16 8 2 2、4、6、8 1、2
r5ad.12xlarge 48 24 2 6, 12, 18, 24 1、2
r5ad.24xlarge 96 48 2 12, 18, 24, 36, 48 1、2
r5d.large 2 1 2 1 1、2
r5d.xlarge 4 2 2 2 1、2
r5d.2xlarge 8 4 2 2、4 1、2
r5d.4xlarge 16 8 2 2、4、6、8 1、2
r5d.12xlarge 48 24 2 2、4、6、8、10、12、14、16、18、20、22、24 1、2
r5d.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2
x1.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
x1.32xlarge 128 64 2 4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64 1、2
x1e.xlarge 4 2 2 1、2 1、2
x1e.2xlarge 8 4 2 1、2、3、4 1、2
x1e.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
x1e.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
x1e.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
x1e.32xlarge 128 64 2 4、8、12、16、20、24、28、32、36、40、44、48、52、56、60、64 1、2
z1d.large 2 1 2 1 1、2
z1d.xlarge 4 2 2 2 1、2
z1d.2xlarge 8 4 2 2、4 1、2
z1d.3xlarge 12 6 2 2、4、6 1、2
z1d.6xlarge 24 12 2 2、4、6、8、10、12 1、2
z1d.12xlarge 48 24 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24 1、2

ストレージ最適化インスタンス

インスタンスタイプ デフォルト vCPU デフォルトの CPU コア コアごとのデフォルトのスレッド CPU コアの有効数 コアごとのスレッドの有効数
i3en.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2
d2.xlarge 4 2 2 1、2 1、2
d2.2xlarge 8 4 2 1、2、3、4 1、2
d2.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
d2.8xlarge 36 18 2 2、4、6、8、10、12、14、16、18 1、2
h1.2xlarge 8 4 2 1、2、3、4 1、2
h1.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
h1.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
h1.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
i3.large 2 1 2 1 1、2
i3.xlarge 4 2 2 1、2 1、2
i3.2xlarge 8 4 2 1、2、3、4 1、2
i3.4xlarge 16 8 2 1、2、3、4、5、6、7、8 1、2
i3.8xlarge 32 16 2 1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16 1、2
i3.16xlarge 64 32 2 2、4、6、8、10、12、14、16、18、20、22、24、26、28、30、32 1、2
i3en.large 2 1 2 1 1、2
i3en.xlarge 4 2 2 2 1、2
i3en.2xlarge 8 4 2 2、4 1、2
i3en.3xlarge 12 6 2 2、4、6 1、2
i3en.6xlarge 24 12 2 2、4、6、8、10、12 1、2
i3en.12xlarge 48 24 2 2、4、6、8、10、12、14、16、18、20、22、24 1、2
i3en.24xlarge 96 48 2 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48 1、2

インスタンスの CPU オプションを変更する

インスタンスの起動時に CPU オプションを指定できます。以下の例は、次の デフォルト値がある r4.4xlarge インスタンスタイプの場合です。

  • デフォルトの CPU コア: 8

  • コアごとのデフォルトのスレッド: 2

  • デフォルト vCPU: 16 (8 x 2)

  • CPU コアの有効数: 1、2、3、4、5、6、7、8

  • コアごとのスレッドの有効数: 1、2

マルチスレッドの無効化

マルチスレッドを無効にするには、コアごとに 1 つのスレッドを指定します。

インスタンスの起動時にマルチスレッドを無効にするには (コンソール)

  1. インスタンス起動ウィザードを使用してインスタンスを起動する」の手順に従います。

  2. [CPU オプション] の [インスタンスの詳細設定] ページで、[CPU オプションを指定] を指定します。

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

  4. マルチスレッドを無効にするには、[Threads per core (コアごとのスレッド)] で、[1] を選択します。

  5. ウィザードに従って続行します。[Review Instance Launch (インスタンス作成の確認)] ページでオプションの確認が終了したら、[Launch (起動)] を選択します。詳細については、「インスタンス起動ウィザードを使用してインスタンスを起動する」を参照してください。

インスタンスの起動時にマルチスレッドを無効にするには (AWS CLI)

  • run-instances AWS CLI コマンドを使用して、--cpu-options パラメータの ThreadsPerCore1 の値を指定します。[CoreCount] では、CPU コア数を指定します。この例では、r4.4xlarge インスタンスにデフォルトの CPU コア数を指定するには、8 の値を選択します。

    aws ec2 run-instances --image-id ami-1a2b3c4d --instance-type r4.4xlarge --cpu-options "CoreCount=8,ThreadsPerCore=1" --key-name MyKeyPair

vCPU のカスタム数を指定するには

インスタンスの CPU コア数とコアあたりのスレッドの数をカスタマイズできます。

インスタンス起動中に vCPU のカスタム数を指定するには (コンソール)

次の例では、6 つの vCPU で r4.4xlarge インスタンスを起動します。

  1. インスタンス起動ウィザードを使用してインスタンスを起動する」の手順に従います。

  2. [CPU オプション] の [インスタンスの詳細設定] ページで、[CPU オプションを指定] を指定します。

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

    • [Core count (コア数)] には、[3] を選択します。

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

  4. ウィザードに従って続行します。[Review Instance Launch (インスタンス作成の確認)] ページでオプションの確認が終了したら、[Launch (起動)] を選択します。詳細については、「インスタンス起動ウィザードを使用してインスタンスを起動する」を参照してください。

インスタンス起動中に vCPU のカスタム数を指定するには (AWS CLI)

次の例では、6 つの vCPU で r4.4xlarge インスタンスを起動します。

  1. run-instances AWS CLI コマンドを使用して、--cpu-options パラメータの CPU コア数およびスレッドの数を指定します。6 つの vCPU には、3 つの CPU コアとコアごとに 2 つのスレッドを指定できます。

    aws ec2 run-instances --image-id ami-1a2b3c4d --instance-type r4.4xlarge --cpu-options "CoreCount=3,ThreadsPerCore=2" --key-name MyKeyPair
  2. また、6 つの CPU コアとコアごとに 1 つのスレッドを指定 (マルチスレッドを無効化) して、6 つの vCPU を取得することもできます。

    aws ec2 run-instances --image-id ami-1a2b3c4d --instance-type r4.4xlarge --cpu-options "CoreCount=6,ThreadsPerCore=1" --key-name MyKeyPair

インスタンスの CPU オプションを表示する

AWS CLI を使用してインスタンスを記述し、Amazon EC2 コンソールで既存のインスタンスの CPU オプションを表示できます。

インスタンスの CPU オプションを表示するには (コンソール)

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. 左ナビゲーションペインで [Instances] を選択し、インスタンスを選択します。

  3. [説明] を選択し、[vCPU の数] フィールドを表示します。

  4. にコア数とコアごとのスレッド数を表示するには、[vCPU の数 ] フィールド値を選択します。

インスタンスの CPU オプションを表示するには (AWS CLI)

  • describe-instances AWS CLI コマンドを使用します。

    aws ec2 describe-instances --instance-ids i-123456789abcde123
    ... "Instances": [ { "Monitoring": { "State": "disabled" }, "PublicDnsName": "ec2-198-51-100-5.eu-central-1.compute.amazonaws.com", "State": { "Code": 16, "Name": "running" }, "EbsOptimized": false, "LaunchTime": "2018-05-08T13:40:33.000Z", "PublicIpAddress": "198.51.100.5", "PrivateIpAddress": "172.31.2.206", "ProductCodes": [], "VpcId": "vpc-1a2b3c4d", "CpuOptions": { "CoreCount": 34, "ThreadsPerCore": 1 }, "StateTransitionReason": "", ...

    返される出力の CoreCount フィールドは、そのインスタンスのコア数を示しています。ThreadsPerCore フィールドは、コア別のスレッド数を示します。

また、インスタンスを接続し、のツール (lscpu など) を使用して、インスタンスの CPU 情報を表示することもできます。

インスタンスの終了を含む、インスタンスにおける設定変更の記録、判断、監査、評価のために、AWS Config を使用できます。詳細については、『AWS Config Developer Guide』の「AWS Configの使用開始 」を参照してください。