vCPU数などのパフォーマンスメトリックに基づいて、さまざまなインスタンスタイプの重みを設定できます。 スケーリンググループ内の特定のインスタンスタイプの単一のインスタンスの容量を指定できます。 重みを設定した後、Auto Scalingはパフォーマンスメトリックを使用してスケーリンググループの容量を測定できます。 これにより、スケーリンググループの全体的なパフォーマンスをより正確に判断できます。
このタスクについて
デフォルトでは、Auto Scalingは、スケーリンググループ内のECSインスタンスの数に基づいてスケーリンググループの容量を測定します。 スケーリンググループのアクティブなスケーリング設定で単一のインスタンスタイプのみを指定した場合、スケーリンググループ内のインスタンスの数は、スケーリンググループの全体的なパフォーマンスに比例します。 ただし、スケーリンググループのアクティブなスケーリング設定で仕様が異なる複数のインスタンスタイプを指定し、複数のインスタンスタイプのインスタンスを作成した場合、スケーリンググループ内のインスタンスの数は、スケーリンググループの全体的なパフォーマンスを正確に反映できません。 たとえば、10 ecs.c5.xlarge (4 vCPUおよび8 GiBメモリ) インスタンスのパフォーマンスは、10 ecs.c5.large (2 vCPUおよび4 GiBメモリ) インスタンスの2倍です。
インスタンスタイプの重みを指定できます。 Auto Scalingがスケーリンググループに異なるインスタンスタイプの複数のインスタンスを作成する場合でも、スケーリンググループのパフォーマンスを正確に測定できます。 たとえば、スケーリンググループ内のvCPUの数に基づいてインスタンスタイプの重みを設定した場合、スケーリンググループの容量は、スケーリンググループ内のすべてのインスタンスのvCPUの合計数を示します。
用語
用語 | API パラメーター | 説明 |
重み | 加重容量 | インスタンスタイプの重み。 vCPUの数などのパフォーマンスメトリックに基づいて、インスタンスタイプの重みを設定できます。 スケーリンググループ内の特定のインスタンスタイプの単一のインスタンスの容量を指定できます。 |
総容量 | TotalCapacity | スケーリンググループ内のすべてのインスタンスの合計容量。 |
最大容量 | MaxSize | スケーリンググループの合計容量の最大値。 説明 スケーリンググループでスケールアウトイベントが実行された後、スケーリンググループの合計容量が最大容量を超える場合があります。 これは、最大容量が単一のインスタンスタイプの重みで割り切れない可能性があるためです。 しかし、余分な容量は最大重量よりも小さい。 |
最小容量 | MinSize | スケーリンググループの合計容量の最小値。 |
予想容量 | DesiredCapacity | スケーリンググループの総容量の期待値。 Auto Scalingは、総容量が予想容量を下回らないようにします。 説明 スケーリンググループでスケールアウトイベントが実行された後、スケーリンググループの合計容量が予想容量を超える場合があります。 これは、予想される容量が単一のインスタンスタイプの重みで割り切れない可能性があるためです。 しかし、余分な容量は最大重量よりも小さい。 |
スケーリングのルール
スケーリンググループの合計容量が予想容量または最小容量よりも小さい場合、スケールアウトイベントがトリガーされます。
スケーリンググループの合計容量が予想容量と最大重みの合計以上になると、スケールインイベントがトリガーされます。
Auto Scalingは、スケーリンググループに指定されたスケーリングポリシーに基づいて優先的に自動スケーリングを実行します。 スケーリンググループのコスト最適化ポリシーを設定すると、Auto Scalingは加重単価に基づいてインスタンスを昇順で作成します。Auto Scalingは、加重単価の降順でインスタンスをリリースします。 加重単価の計算方法については、「加重単価の計算」をご参照ください。
使用上の注意
スケーリンググループ内のすべてのインスタンスタイプに重みを設定する必要があります。
スケーリンググループのアクティブなスケーリング設定で指定されたインスタンスタイプを削除した場合、このインスタンスタイプのインスタンスの重みはスケーリンググループで変更されません。
スケーリンググループ内のインスタンスタイプの重みを変更した後、このインスタンスタイプのインスタンスが作成された場合、Auto Scalingは変更された重みに基づいてスケーリンググループの容量を再計算します。 スケーリングアクティビティがトリガーされる可能性があります。
手順
この例では、スケーリング設定をスケーリンググループの設定ソースとして使用して、インスタンスタイプの重みを設定します。
起動テンプレートを構成ソースとして使用することもできます。 CreateScalingGroup操作で、LaunchTemplateOverride.N.InstanceTypeおよびLaunchTemplateOverride.N.WeightedCapacityパラメーターを指定して、インスタンスタイプの重みを設定できます。詳細については、「Create a scaling group」をご参照ください。
スケーリンググループを作成します。
この手順では、マルチゾーンスケーリングポリシーに関連するパラメーターについて説明します。 スケーリンググループの他のパラメータについては、「スケーリンググループの管理」をご参照ください。
ネットワークタイプをVPCに設定し、同じVPC内の複数のvSwitchを選択します。
1つのvSwitchは1つのゾーンにのみ属します。 スケーリンググループに複数のvSwitchを設定すると、Auto scalingは複数のゾーンにECSインスタンスを作成できます。 これにより、異なるゾーンで利用可能なECSリソースを利用できます。
マルチゾーンスケーリングポリシーを [コスト最適化ポリシー] に設定します。
スケーリンググループの他のパラメーターを設定します。
スケーリング設定を作成します。
この手順では、vCPUの数に基づいてインスタンスタイプの重みを設定するためのパラメーターについて説明します。スケーリング設定の他のパラメータについては、「ECSタイプのスケーリング設定を作成する」をご参照ください。
課金方法を従量課金に設定します。
複数のインスタンスタイプを選択します。 最大 10 個のインスタンスタイプを選択します。
[vCPU容量の設定] を選択します。 デフォルトでは、vCPUの数に基づいて、選択したすべてのインスタンスタイプの重みが設定されます。
インスタンスタイプの重みをカスタマイズできます。 重みをカスタマイズするときは、次の項目に注意することをお勧めします:
インスタンスタイプに関連するパフォーマンスメトリックを使用して重みを設定します。 たとえば、CPUコアの数やメモリの量に基づいて重みを設定できます。1つのvCPUと1つのGiBメモリを持つインスタンスタイプ、またはスケーリンググループの容量単位として最小のパフォーマンスを提供するインスタンスタイプを使用できます。 スケーリンググループの容量は、容量単位に基づいて計算されます。
スケーリンググループの現在の容量がインスタンスタイプの最大重みの2〜3倍になるように、適切な重み値を設定します。
異なるインスタンスタイプの重みを、差が小さい値に設定します。 たとえば、仕様が低いインスタンスタイプの重みを1に設定し、仕様が高いインスタンスタイプの重みを200に設定しないでください。 スケーリンググループ内のインスタンスタイプの重みの差が大きい場合、スケーリンググループの全体的なコストが増加する可能性があります。
複数のインスタンスタイプを使用してインスタンスを作成する場合の優先度については、「加重単価の計算」をご参照ください。
スケーリング設定の他のパラメーターを設定します。
スケーリンググループを有効化します。
スケーリングルールを作成します。
この手順では、コスト最適化ポリシーを検証するための単純なスケーリングルールを作成するためのパラメーターについて説明します。 スケーリングルールのその他のパラメーターについては、「スケーリングルールの管理」をご参照ください。
ルールタイプを [単純スケーリングルール] に設定します。
操作をAdd 10 Capacity Unitに設定します。
スケーリングルールの他のパラメーターを設定します。
スケーリングルールを実行します。
この例では、ecs.c5.2xlargeインスタンスタイプの加重単価が最も低くなっています。 したがって、Auto Scalingは、スケーリンググループに対してecs.c5.2xlargeインスタンスタイプの2つのインスタンスを作成します。 これにより、スケーリンググループに16単位の容量が追加されます。
加重単価の計算
スケーリンググループのマルチゾーンスケーリングポリシーを [コスト最適化ポリシー] に設定し、インスタンスタイプの重みを設定した場合、Auto scalingは、重み付けされた単価に基づいて昇順でインスタンスを作成しようとします。 詳細については、「コスト最適化ポリシーと複数のインスタンスタイプの選択を組み合わせる」をご参照ください。
次の表は、異なるインスタンスタイプの加重単価を計算する方法の例を示しています。
次の表のインスタンスタイプの市場価格は参照専用です。 実際の市場価格については、Elastic Compute Serviceページの [料金] タブ」をご参照ください。
インスタンスタイプ | vCPU | 市場価格 | 重み付け | 加重単価 |
ecs.c5.large | 2 | USD 0.073 /時間 | 2 | USD 0.037 /時間 |
ecs.c5.xlarge | 4 | USD 0.144 /時間 | 4 | USD 0.036/Hour |
ecs.c5.2xlarge | 8 | USD 0.288 /時間 | 8 | USD 0.036 /時間 |