スケールアウト時にスケーリンググループで在庫不足が発生した場合、フォールバックモードを使用すると、Auto Scaling は指定された範囲内で代替のインスタンスタイプまたはゾーンを自動的に使用し、成功率を向上させます。
仕組み
スケーリンググループが単一のインスタンスタイプまたは限られたゾーンを使用している場合、在庫不足によりスケールアウトが失敗する可能性があります。フォールバックモードは、リアルタイムの在庫データを使用して、定義された範囲内で利用可能なインスタンスタイプとゾーンを自動的に補完し、成功率を向上させます。
フォールバックモードを有効にする場合、以下のオプションでその範囲を制御できます。
|
オプション |
説明 |
|
[価格の上限] |
フォールバックインスタンスタイプの 1 時間あたりの最大価格です。フォールバックタイプはこの制限を超えません。たとえば、選択したタイプの中で最高価格が 5.00 元/時間の場合、制限を 6.00 元/時間に設定できます。 制限を設定しない場合、フォールバックモードは選択したインスタンスタイプの中で最も高い価格をデフォルトの制限として使用します。 |
|
他の世代のインスタンスタイプを許可 |
有効にすると、フォールバックの範囲が拡張され、他の世代の同じサイズのインスタンスタイプが含まれます。たとえば、プライマリタイプが ecs.c7.large の場合、Auto Scaling は ecs.c6.large または ecs.c8.large を代替として使用する場合があります。 |
|
[他のゾーンの vSwitch の追加を許可] |
有効にすると、選択したすべてのゾーンで在庫切れの場合、Auto Scaling はリアルタイムの在庫に基づいて別のゾーンに vSwitch を作成し、それをスケーリンググループに追加します。このオプションを有効にする場合は、vSwitch の CIDR ブロックを指定する必要があります。たとえば、スケーリンググループが cn-hangzhou-h と cn-hangzhou-g を使用していて、どちらのゾーンにも在庫がない場合、Auto Scaling は cn-hangzhou-k に vSwitch を作成し、それをスケーリンググループに追加する場合があります。 |
前提条件
-
ECS スケーリンググループを作成 しておく必要があります。
-
伸縮構成のインスタンス設定方法はインスタンスタイプの指定です。フォールバックモードは[インスタンス属性の指定]方法ではサポートされていません。
制限事項
他のゾーンの vSwitch の追加を許可 を有効にした場合、vSwitch CIDR ブロックを指定する必要があります。CIDR ブロックは、次の要件を満たす必要があります。
-
vSwitch CIDR ブロックのプレフィックス長は 16~29 ビットである必要があります。
-
vSwitch CIDR ブロックは、VPC の CIDR ブロックの範囲内である必要があります。詳細については、「VPC とは」をご参照ください。
-
vSwitch CIDR ブロックは、VPC 内のいずれのルートエントリの宛先 CIDR ブロックとも一致してはなりませんが、そのサブセットであることは可能です。
-
vSwitch CIDR ブロックは
100.64.0.0/10またはそのサブネットであってはなりません。
フォールバックモードの有効化
コンソール、CLI、または API を使用してスケーリング設定を作成または変更する際に、フォールバックモードを有効にできます。
コンソール
Auto Scalingコンソールにログインします。
-
左側のナビゲーションペインで、スケーリンググループ をクリックします。上部のナビゲーションバーで、リージョンを選択します。
-
[スケーリンググループ] ページで、対象のスケーリンググループを見つけて、その名前をクリックします。
-
スケーリング構成 タブで、次のいずれかの操作を実行します。
-
新しいスケーリング設定を作成するには、スケーリング設定の作成 をクリックします。
-
既存のスケーリング設定を変更するには、対象の設定を見つけ、「操作」列の変更をクリックします。
-
-
[イメージおよびインスタンス] セクションで、インスタンス設定モード を インスタンスタイプの指定 に設定し、希望のインスタンスタイプを選択します。
-
選択したインスタンスタイプのリストの上部で、代替モード ボタンをクリックします。
代替可能なタイプの範囲の設定 ダイアログボックスが表示されます。
-
代替可能なタイプの範囲の設定 ダイアログボックスで、必要に応じてフォールバックスコープを設定します。次の表でパラメーターについて説明します。
パラメータ
説明
[価格の上限]
フォールバックインスタンスタイプの最大時間単価です。システムは参考として [選択したタイプの最高単価] を表示します。フォールバックプールを拡張するには、上限を現在の最大値よりわずかに高く (最大 10% 高く) 設定します。
[インスタンスタイプ]
他の世代の同じサイズのインスタンスタイプを含めるには、[他の世代のインスタンスタイプを許可] スイッチをオンにします。たとえば、プライマリタイプが ecs.c7.large の場合、代替として ecs.c6.large または ecs.c8.large が許可されます。
[Vpc_vSwitch]
[他のゾーンの補足 vSwitch を許可]スイッチをオンにします。選択したすべてのゾーンで在庫切れの場合、スケーリンググループは自動的に別のゾーンに vSwitch を作成し、それをスケーリンググループに追加します。
[vSwitch CIDR ブロック]
他のゾーンの vSwitch の追加を許可 を有効にした場合にのみ必須です。自動作成される vSwitch の IPv4 CIDR ブロックを指定します。要件:
-
プレフィックス長は 16~29 ビットである必要があります。
-
CIDR ブロックは VPC CIDR ブロック内に収まる必要があります。
-
CIDR ブロックは VPC 内のルートエントリの宛先 CIDR ブロックと一致してはなりませんが、そのサブセットであることは可能です。
-
CIDR ブロックは 100.64.0.0/10 またはそのサブネットであってはなりません。
-
-
OK をクリックして設定を保存します。
スケーリング設定ページでは、インスタンスタイプリストの下に、スコープ設定に基づいて使用される可能性のあるインスタンスタイプとゾーンを示す代替可能なタイプと代替可能なゾーンのプレビューが表示されます。
-
その他の設定を構成した後、作成 または 変更 をクリックして、スケーリング設定を完了します。
-
(オプション) スケーリング設定を有効にします。
CLI/API
CLI または SDK を介して CreateScalingConfiguration API または ModifyScalingConfiguration API を呼び出す場合、次のパラメータを使用してフォールバックモードを設定します。
|
パラメータ |
タイプ |
必須 |
説明 |
|
InstanceTypeCandidateOptions.Enabled |
boolean |
いいえ |
フォールバックモードを有効にするかどうかを指定します。有効な値:
|
|
InstanceTypeCandidateOptions.MaxPrice |
float |
いいえ |
フォールバックインスタンスタイプの 1 時間あたりの最大価格です。フォールバックインスタンスはこの制限を超えません。 |
|
InstanceTypeCandidateOptions.AllowDifferentGeneration |
boolean |
いいえ |
他の世代のインスタンスタイプを許可するかどうかを指定します。たとえば、プライマリタイプが ecs.c7.large の場合、これを有効にすると、Auto Scaling は ecs.c6.large または ecs.c8.large を使用できます。 |
|
InstanceTypeCandidateOptions.AllowCrossAz |
boolean |
いいえ |
他のゾーンの補足 vSwitch を許可するかどうかを指定します。このオプションを有効にし、選択したゾーンで在庫が利用できない場合、Auto Scaling はリアルタイムの在庫に基づいて別のゾーンに vSwitch を作成し、それをスケーリンググループに追加します。このパラメータを true に設定する場合は、AllowCidrBlocks も指定する必要があります。 |
|
InstanceTypeCandidateOptions.AllowCidrBlocks.N |
array of string |
いいえ |
他のゾーンの補足 vSwitch の CIDR ブロックのリストです。要件:プレフィックス長は 16~29 ビットである必要があります。CIDR ブロックは VPC CIDR ブロック内に収まる必要があります。VPC 内のいずれのルートエントリの宛先 CIDR ブロックとも同じであってはなりませんが、そのサブセットであることは可能です。 |
フォールバックモード設定の表示
コンソール、CLI、または API を介してスケーリング設定のフォールバックモード設定を表示できます。
コンソール
-
スケーリング設定リスト: フォールバックモードが有効になっているスケーリング設定には、簡単に識別できるように 代替モード タグが表示されます。
-
スケーリング設定の詳細:スケーリング設定 ID をクリックして詳細を開くと、完全なフォールバックモード設定が表示されます。
-
フォールバックモードが有効かどうか。
-
価格制限。
-
他の世代のインスタンスタイプが許可されているかどうか。
-
他のアベイラビリティーゾーンの補足 vSwitch が許可されているかどうか。
-
設定されている場合、vSwitch CIDR ブロック。
-
CLI/API
CLI または SDK を介して DescribeScalingConfigurations API を呼び出します。レスポンスには次のフォールバックモードフィールドが含まれます。
|
パラメータ |
タイプ |
説明 |
|
InstanceTypeCandidateOptions.Enabled |
boolean |
フォールバックモードが有効かどうかを示します。 |
|
InstanceTypeCandidateOptions.MaxPrice |
float |
フォールバックインスタンスタイプの 1 時間あたりの最大価格です。 |
|
InstanceTypeCandidateOptions.AllowDifferentGeneration |
boolean |
他の世代のインスタンスタイプが許可されているかどうかを示します。 |
|
InstanceTypeCandidateOptions.AllowCrossAz |
boolean |
他のゾーンの補足 vSwitch が許可されているかどうかを示します。 |
|
InstanceTypeCandidateOptions.AllowCidrBlocks |
array of string |
補足 vSwitch の CIDR ブロックのリストです。 |
フォールバックモード設定の変更
コンソール
Auto Scalingコンソールにログインします。
-
左側のナビゲーションペインで、スケーリンググループ をクリックします。上部のナビゲーションバーで、リージョンを選択します。
-
[スケーリンググループ] ページで、対象のスケーリンググループを見つけて、その名前をクリックします。
-
スケーリング構成 タブで目的の設定を見つけ、[操作] 列の 変更 をクリックします。
-
代替可能な範囲の編集 をクリックします。代替可能なタイプの範囲の設定 ダイアログボックスで、必要に応じて範囲を設定します。次の表に、各パラメーターを示します。
パラメータ
説明
[価格の上限]
フォールバックインスタンスタイプの最大時間単価です。システムは参考として [選択したタイプの最高単価] を表示します。フォールバックプールを拡張するには、上限を現在の最大値よりわずかに高く (最大 10% 高く) 設定します。
[インスタンスタイプ]
他の世代の同じサイズのインスタンスタイプを含めるには、[他の世代のインスタンスタイプを許可] スイッチをオンにします。たとえば、プライマリタイプが ecs.c7.large の場合、代替として ecs.c6.large または ecs.c8.large が許可されます。
[Vpc_vSwitch]
[他のゾーンの補足 vSwitch を許可]スイッチをオンにします。選択したすべてのゾーンで在庫切れの場合、スケーリンググループは自動的に別のゾーンに vSwitch を作成し、それをスケーリンググループに追加します。
[vSwitch CIDR ブロック]
他のゾーンの vSwitch の追加を許可 を有効にした場合にのみ必須です。自動作成される vSwitch の IPv4 CIDR ブロックを指定します。要件:
-
プレフィックス長は 16~29 ビットである必要があります。
-
CIDR ブロックは VPC CIDR ブロック内に収まる必要があります。
-
CIDR ブロックは VPC 内のルートエントリの宛先 CIDR ブロックと一致してはなりませんが、そのサブセットであることは可能です。
-
CIDR ブロックは 100.64.0.0/10 またはそのサブネットであってはなりません。
-
-
変更をクリックして、スケーリング設定への変更を保存します。
スケーリング設定でフォールバックモードを変更した後、新しい ECS インスタンスは更新された設定を使用します。既存のインスタンスは影響を受けません。
CLI/API
CLI または SDK を介して ModifyScalingConfiguration API を呼び出して、次のパラメータでフォールバックモードを設定します。
|
パラメータ |
タイプ |
必須 |
説明 |
|
InstanceTypeCandidateOptions.Enabled |
boolean |
いいえ |
フォールバックモードを有効にするかどうかを指定します。有効な値:
|
|
InstanceTypeCandidateOptions.MaxPrice |
float |
いいえ |
フォールバックインスタンスタイプの 1 時間あたりの最大価格です。フォールバックインスタンスはこの制限を超えません。 |
|
InstanceTypeCandidateOptions.AllowDifferentGeneration |
boolean |
いいえ |
他の世代のインスタンスタイプを許可するかどうかを指定します。たとえば、プライマリタイプが ecs.c7.large の場合、これを有効にすると、Auto Scaling は ecs.c6.large または ecs.c8.large を使用できます。 |
|
InstanceTypeCandidateOptions.AllowCrossAz |
boolean |
いいえ |
他のゾーンの補足 vSwitch を許可するかどうかを指定します。このオプションを有効にし、選択したゾーンで在庫が利用できない場合、Auto Scaling はリアルタイムの在庫に基づいて別のゾーンに vSwitch を作成し、それをスケーリンググループに追加します。このパラメータを true に設定する場合は、AllowCidrBlocks も指定する必要があります。 |
|
InstanceTypeCandidateOptions.AllowCidrBlocks.N |
array of string |
いいえ |
他のゾーンの補足 vSwitch の CIDR ブロックのリストです。要件:プレフィックス長は 16~29 ビットである必要があります。CIDR ブロックは VPC CIDR ブロック内に収まる必要があります。VPC 内のいずれのルートエントリの宛先 CIDR ブロックとも同じであってはなりませんが、そのサブセットであることは可能です。 |
フォールバックモードの無効化
コンソール
Auto Scalingコンソールにログインします。
-
左側のナビゲーションペインで、スケーリンググループ をクリックします。上部のナビゲーションバーで、リージョンを選択します。
-
[スケーリンググループ] ページで、対象のスケーリンググループを見つけて、その名前をクリックします。
-
スケーリング構成 タブで、設定を見つけ、「操作」列の 変更 をクリックします。
-
インスタンスタイプ選択の右側で、代替モード スイッチをオフにします。
-
変更 をクリックして、スケーリング設定への変更を保存します。
CLI/API
CLI または SDK を介して ModifyScalingConfiguration API を呼び出して、InstanceTypeCandidateOptions.Enabledをfalseに設定します。
フォールバックモードを無効にすると、スケーリンググループはスケールアウト時に他のインスタンスタイプやゾーンを補完しなくなります。設定されたインスタンスタイプとゾーンで在庫が不足している場合、スケールアウトが失敗する可能性があります。
例
次の例は、在庫不足時にフォールバックモードがスケールアウトの成功率を向上させる方法を示しています。
シナリオ:スケーリンググループは cn-hangzhou-j で ecs.c7.large を使用しています。このゾーンでこのインスタンスタイプの在庫切れにより、スケールアウトイベントが頻繁に失敗します。
ソリューション:次の設定でフォールバックモードを有効にします。
|
パラメータ |
値 |
|
価格制限 |
1.10 元/時間 (現在のインスタンス価格 1.00 元/時間の 10% 増) |
|
他の世代のインスタンスタイプを許可 |
有効 |
|
他のゾーンの補足 vSwitch を許可 |
有効 |
|
vSwitch CIDR ブロック |
192.168.3.0/24 |
結果:cn-hangzhou-j で ecs.c7.large の在庫切れの場合、スケーリンググループは自動的に次の操作を実行します。
-
ecs.c6.large や ecs.c8.large などのフォールバックタイプを使用して、cn-hangzhou-j でインスタンスを作成しようとします。
-
cn-hangzhou-j ですべてのフォールバックタイプも在庫切れの場合、cn-hangzhou-k などの別のゾーンに vSwitch を作成し、そこでプライマリタイプまたはフォールバックタイプを使用してインスタンスを作成します。
フォールバックモードは、手動介入なしでスケールアウトの成功率を向上させます。
関連トピック
-
パラメータの詳細については、「スケーリング設定の作成 (ECS インスタンス)」をご参照ください。
-
スケーリング設定を管理 (有効化、変更、削除) するには、「スケーリング設定の管理」をご参照ください。
-
属性を指定してインスタンスタイプを自動選択するには、「インスタンス属性を指定してスケーリング設定を構成する」をご参照ください。
-
CreateScalingConfiguration API または ModifyScalingConfiguration API を呼び出して、
InstanceTypeCandidateOptionsパラメータでフォールバックモードを設定します。 -
DescribeScalingConfigurations API を呼び出して、フォールバックモード設定を照会します。