このトピックでは、スケールアウト時に一意のシーケンシャルECS (Elastic Compute Service) インスタンス名またはホスト名を生成するための命名規則を設定する方法について説明します。 名前を使用して、ECSインスタンスを効率的に管理できます。
背景情報
Auto Scalingでは、スケーリングルールを実行して、1つ以上のECSインスタンスを同時に、または異なるバッチで作成できます。 起動テンプレートまたはスケーリング設定で、スケールアウト中に作成されたECSインスタンスの命名規則を設定できます。
命名規則の設定に使用される方法は、シナリオによって異なります。 このトピックでは、シナリオ1に適した方法を使用して、命名規則を設定する方法を示します。
シナリオ
移動方法
関連ドキュメント
シナリオ1: スケールアウト中にスケーリンググループに作成されるすべてのECSインスタンスには、一意のシーケンシャル名またはホスト名が必要です。
スケーリング設定の命名規則に基づいて、命名形式を設定します。 このシナリオでは、起動テンプレートを使用してECSインスタンスの命名形式を設定することはできません。
重要ECSインスタンス名またはホスト名は順次生成されますが、必ずしも連続して生成されるとは限りません。 たとえば、スケールアウト中にスケーリンググループに作成されたECSインスタンスのホスト名は、ess-node-0999、ess-node-1000、およびess-node-1002です。 essノード1001のECSインスタンスが期待どおりに起動しません。 したがって、インスタンスは異常と見なされ、削除されます。 その結果、Auto Scalingはess-node-1002という名前の別のECSインスタンスを作成します。
シナリオ2: 同じスケールアウト中にスケーリンググループに作成されたECSインスタンスの名前またはホスト名は、シーケンシャルで一意である必要があります。 名前またはホスト名は、スケーリンググループの別のスケールアウトで作成されたECSインスタンスで使用できます。
指定されたランキング順に基づいて、ECSインスタンスの命名形式を設定します。
シナリオ3: スケーリンググループのスケールアウト中に作成されるECSインスタンスの名前またはホスト名には要件が課されていません。
ECSインスタンスのカスタム名またはホスト名を設定します。
たとえば、スケールアウト時に作成されるすべてのECSインスタンスのホスト名として "hostname" を指定できます。
非該当
方法1: Auto ScalingコンソールでECSインスタンスの命名規則を設定する
スケーリンググループを作成します。
詳細については、「スケーリンググループの作成」をご参照ください。
スケーリング設定を作成して有効にします。
詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。 [スケーリング設定の作成] ページの [詳細設定] セクションで、[インスタンス名] および [ホスト名] パラメーターを設定して、命名形式を指定します。
この例では、Instance Nameパラメーターは
ess-node-(AUTO_INCREMENT)[0,3]
に設定され、Host Nameパラメーターはess-node-(AUTO_INCREMENT)[0,3]-ecshost
に設定されています。説明この例では、ECSインスタンス名またはホスト名が順番に増加します。 詳細については、「 (推奨) 固定値による増分」をご参照ください。 シーケンシャルインスタンス名またはホスト名を動的に生成する場合は、「拡張シーケンシャル値による動的ソート」をご参照ください。
スケーリンググループの有効化
詳細については、「スケーリンググループの有効化」をご参照ください。
スケーリングルールを作成して実行します。
スケーリングルールを作成します。
詳細については、「スケーリングルールの作成」をご参照ください。
この例では、単純なスケーリングルールが作成されます。 Auto Scalingは、ルールが実行されると3つのECSインスタンスを作成します。
スケーリングルールを実行します。
詳細については、「スケーリングルールの実行」をご参照ください。
スケールアウトが完了すると、次のインスタンス名とホスト名を持つ3つのECSインスタンスがスケーリンググループに追加されます。
インスタンス名: ess-node-000、ess-node-001、およびess-node-002
ホスト名: ess-node-000-ecshost、ess-node-001-ecshost、ess-node-002-ecshost
方法2: API操作を呼び出してECSインスタンスの命名規則を設定する
CreateScalingGroup APIを呼び出して、スケーリンググループを作成します。
詳細については、「CreateScalingGroup」をご参照ください。
CreateScalingConfiguration APIを呼び出して、スケーリング設定を作成します。
詳細については、「CreateScalingConfiguration」をご参照ください。 [リクエストパラメーター] セクションで、[InstanceName] および [HostName] パラメーターを設定します。
この例では、InstanceNameパラメーターは
ess-node-(AUTO_INCREMENT)[0,3]
に設定され、HostNameパラメーターはess-node-(AUTO_INCREMENT)[0,3]-ecshost
に設定されています。説明この例では、ECSインスタンス名またはホスト名が順番に増加します。 詳細については、「 (推奨) 固定値による増分」をご参照ください。 シーケンシャルインスタンス名またはホスト名を動的に生成する場合は、「拡張シーケンシャル値による動的ソート」をご参照ください。
EnableScalingGroup APIを呼び出して、スケーリンググループを有効にします。
詳細については、「EnableScalingGroup」をご参照ください。
スケーリングルールを作成して実行します。
CreateScalingRule APIを呼び出して、スケーリングルールを作成します。
詳細については、「CreateScalingRule」をご参照ください。
この例では、単純なスケーリングルールが作成されます。 Auto Scalingは、ルールが実行されると3つのECSインスタンスを作成します。
ExecuteScalingRule APIを呼び出して、スケーリングルールを実行します。
詳細については、「ExecuteScalingRule」をご参照ください。
スケールアウトが完了すると、次のインスタンス名とホスト名を持つ3つのECSインスタンスがスケーリンググループに追加されます。
インスタンス名: ess-node-000、ess-node-001、およびess-node-002
ホスト名: ess-node-000-ecshost、ess-node-001-ecshost、ess-node-002-ecshost
(推奨) 固定値による増分
インスタンス名とホスト名は、name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffixの形式である必要があります。
インスタンス名とホスト名の命名規則は同じロジックに従います。 次の表に、ホスト名の形式のみを示します。
表 1. Parameters
項目 | 必須 | 説明 | 例 |
name_prefix | 課金されます | ホスト名のプレフィックス。 | ess-node- |
(AUTO_INCREMENT) | 課金されます | ソートモードを指定する固定値。 | (AUTO_INCREMENT) |
[begin_number,bits] | 課金されます | ホスト名のシーケンシャルな値。 このパラメーターを設定すると、ホスト名のシーケンシャル値が指定された固定値だけ増加します。 重要 [begin_number,bits] フィールドにはスペースを含めることはできません。 デフォルトでは、ホスト名のシーケンシャル名は固定値に基づいて増加します。 スケールアウト中にAuto Scalingがスケーリンググループ内のECSインスタンスを起動できなかった場合、Auto scalingはスケーリンググループからECSインスタンスを削除し、別のECSインスタンスを作成します。 この場合、スケーリンググループ内のECSインスタンスのホスト名は、断続的に増加するパターンを持つ可能性があります。
説明 bitsフィールドを3以上に設定することを推奨します。 そうでなければ、連続値の上限に短時間で到達することができる。 上限に達した後、Auto ScalingがさらにECSインスタンスを作成する必要がある場合、エラーが報告され、スケールアウトが停止されます。 この場合、ホスト名を生成するためのルールを再設定する必要があります。 | [0,6] |
name_suffix | 課金されません | ホスト名のサフィックス。 | -ecshost |
表 2. サンプルホスト名
例 | 最大シーケンシャル値を持つ既存のホスト名 | 3つ追加されたECSインスタンスのホスト名 | 説明 |
ess-node-(AUTO_INCREMENT)[0,3]-ecshost | 非該当 | ess-node-000-ecshost、ess-node-001-ecshost、ess-node-002-ecshost | すべてのシーケンシャル値の桁数がビット値です。 Auto Scalingがスケーリンググループにインスタンスを初めて作成するとき、シーケンシャル値はbegin_number値から始まり、作成されたインスタンスの数に基づいて順次増加します。 |
| 非該当 | ess-node-000000-ecshost、ess-node-000001-ecshost、ess-node-000002-ecshost | begin_numberまたはbitsフィールドを設定しない場合、begin_numberフィールドのデフォルト値は0になり、bitsフィールドのデフォルト値は6になります。 |
ess-node-(AUTO_INCREMENT)[99,1]-ecshost | ess-node-000099-ecshost | ess-node-000100-ecshost、ess-node-000101-ecshost、ess-node-000102-ecshost |
|
ess-node-(AUTO_INCREMENT)[0,2]-ecshost | ess-node-99-ecshost | エラーが報告され、スケールアウトが停止されます。 |
|
ess-node-(AUTO_INCREMENT)[0,4] | ess-node-0998-ecshost | ess-node-0999、ess-node-1000、およびess-node-1002 |
|
拡張シーケンシャル値による動的ソート
インスタンス名とホスト名は、name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffixの形式である必要があります。
インスタンス名とホスト名の命名規則は同じロジックに従います。 次の表に、ホスト名の形式のみを示します。
表 3. Parameters
項目 | 必須 | 説明 | 例 |
name_prefix | 課金されます | ホスト名のプレフィックス。 | ess-node- |
(ess_extend_begin,ess_extend_bits) | 課金されます | ホスト名の拡張シーケンシャル値。 スケーリンググループ内の既存のホスト名の基本シーケンシャル値が最大シーケンシャル値に等しい場合、拡張シーケンシャル値に1つの値が追加されます。 その後、ベースシーケンシャル値は再び0から上限に達するまで増加します。
重要 ベースおよび拡張シーケンシャル値の上限に達したときに、Auto ScalingがさらにECSインスタンスを作成する必要がある場合、エラーが返され、スケールアウトが停止されます。 この場合、ホスト名を生成するためのルールを再設定する必要があります。 (ess_extend_begin,ess_extend_bits) フィールドにはスペースを含めることはできません。 指定されたess_extend_begin値の桁数がbits値より大きい場合、bitsフィールドは自動的に3に設定されます。 | (0,3) |
[begin_number,bits] | 課金されます | ホスト名の基本シーケンシャル値。 このフィールドを設定すると、ホスト名の基本シーケンシャル値が最大値まで増加します。 次に、拡張されたシーケンシャル値に1つの値が加算され、ベースシーケンシャル値は、上限に達するまで再び0から増加します。 重要 デフォルトでは、ホスト名は順次増加します。 スケールアウト中にAuto Scalingがスケーリンググループ内のECSインスタンスを起動できなかった場合、Auto scalingはスケーリンググループからECSインスタンスを削除し、別のECSインスタンスを作成します。 この場合、スケーリンググループ内のECSインスタンスのホスト名は、断続的に増加するパターンを持つ可能性があります。
重要
[begin_number,bits] フィールドにはスペースを含めることはできません。 指定されたbegin_number値の桁数がbits値より大きい場合、bitsフィールドは自動的に6に設定されます。 | [0,6] |
name_suffix | 課金されません | ホスト名のサフィックス。 | -ecshost |
表 4. サンプルホスト名
例 | 最大シーケンシャル値を持つ既存のホスト名 | 3つ追加されたECSインスタンスのホスト名 | 説明 |
ess-node-(0,3)[0,3]-ecshost | 非該当 | ess-node-000000-ecshost、ess-node-000001-ecshost、ess-node-000002-ecshost | Auto Scalingがスケーリンググループに初めてインスタンスを作成するとき、ホスト名のシーケンシャル値は次のルールに基づいて指定されます。
|
| 非該当 | ess-node-000000000-ecshost、ess-node-000000001-ecshost、ess-node-000000002-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-08-ecshost | ess-node-10-ecshost、ess-node-11-ecshost、ess-node-12-ecshost |
|
ess-node-(0,1)[0,1]-ecshost | ess-node-Z9-ecshost | エラーが報告され、スケールアウトが停止されます。 |
|
ess-node-(0,1)[0,3] | ess-node-0099-ecshost | ess-node-0100、ess-node-0101、およびess-node-0103 |
|
ess-node-(0,1)[99,1]-ecshost | ess-node-0000099-ecshost | ess-node-0000100-ecshost、ess-node-0000101-ecshost、ess-node-0000102-ecshost |
|