すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:ECSインスタンスの命名規則の設定

最終更新日:Sep 12, 2024

このトピックでは、スケールアウト時に一意のシーケンシャル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インスタンスの命名規則を設定する

  1. スケーリンググループを作成します。

    詳細については、「スケーリンググループの作成」をご参照ください。

  2. スケーリング設定を作成して有効にします。

    詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。 [スケーリング設定の作成] ページの [詳細設定] セクションで、[インスタンス名] および [ホスト名] パラメーターを設定して、命名形式を指定します。

    この例では、Instance Nameパラメーターはess-node-(AUTO_INCREMENT)[0,3] に設定され、Host Nameパラメーターはess-node-(AUTO_INCREMENT)[0,3]-ecshostに設定されています。

    説明

    この例では、ECSインスタンス名またはホスト名が順番に増加します。 詳細については、「 (推奨) 固定値による増分」をご参照ください。 シーケンシャルインスタンス名またはホスト名を動的に生成する場合は、「拡張シーケンシャル値による動的ソート」をご参照ください。

  3. スケーリンググループの有効化

    詳細については、「スケーリンググループの有効化」をご参照ください。

  4. スケーリングルールを作成して実行します。

    1. スケーリングルールを作成します。

      詳細については、「スケーリングルールの作成」をご参照ください。

      この例では、単純なスケーリングルールが作成されます。 Auto Scalingは、ルールが実行されると3つのECSインスタンスを作成します。

    2. スケーリングルールを実行します。

      詳細については、「スケーリングルールの実行」をご参照ください。

      スケールアウトが完了すると、次のインスタンス名とホスト名を持つ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インスタンスの命名規則を設定する

  1. CreateScalingGroup APIを呼び出して、スケーリンググループを作成します。

    詳細については、「CreateScalingGroup」をご参照ください。

  2. CreateScalingConfiguration APIを呼び出して、スケーリング設定を作成します。

    詳細については、「CreateScalingConfiguration」をご参照ください。 [リクエストパラメーター] セクションで、[InstanceName] および [HostName] パラメーターを設定します。

    この例では、InstanceNameパラメーターはess-node-(AUTO_INCREMENT)[0,3] に設定され、HostNameパラメーターはess-node-(AUTO_INCREMENT)[0,3]-ecshostに設定されています。

    説明

    この例では、ECSインスタンス名またはホスト名が順番に増加します。 詳細については、「 (推奨) 固定値による増分」をご参照ください。 シーケンシャルインスタンス名またはホスト名を動的に生成する場合は、「拡張シーケンシャル値による動的ソート」をご参照ください。

  3. EnableScalingGroup APIを呼び出して、スケーリンググループを有効にします。

    詳細については、「EnableScalingGroup」をご参照ください。

  4. スケーリングルールを作成して実行します。

    1. CreateScalingRule APIを呼び出して、スケーリングルールを作成します。

      詳細については、「CreateScalingRule」をご参照ください。

      この例では、単純なスケーリングルールが作成されます。 Auto Scalingは、ルールが実行されると3つのECSインスタンスを作成します。

    2. 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インスタンスのホスト名は、断続的に増加するパターンを持つ可能性があります。

  • begin_number: シーケンシャル値の開始値。 有効な値: 0 ~ 999999

    • Auto Scalingがスケーリンググループにインスタンスを初めて作成するときに、指定した開始値が有効になります。 開始値を指定しない場合は、0が使用されます。

    • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、開始値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • bits: シーケンシャル値の桁数。 有効な値:0〜6。 指定されたbegin_number値の桁数がbitsフィールドの値より大きい場合、bitsフィールドは自動的に6に設定されます。

説明

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-(AUTO_INCREMENT)[]-ecshost

  • ess-node-(AUTO_INCREMENT)[,]-ecshost

非該当

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

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、シーケンシャル値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • 指定されたbegin_number値の桁数がbitsフィールドの値より大きい場合、bitsフィールドは自動的に6に設定されます。

ess-node-(AUTO_INCREMENT)[0,2]-ecshost

ess-node-99-ecshost

エラーが報告され、スケールアウトが停止されます。

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、シーケンシャル値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • 上限に達した後、Auto ScalingがさらにECSインスタンスを作成する必要がある場合、エラーが報告され、スケールアウトが停止されます。 この場合、ホスト名を生成するためのルールを再設定する必要があります。

ess-node-(AUTO_INCREMENT)[0,4]

ess-node-0998-ecshost

ess-node-0999、ess-node-1000、およびess-node-1002

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、シーケンシャル値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • デフォルトでは、シーケンシャル値は自動的に増加します。 スケーリンググループ内のECSインスタンスを起動できない場合、Auto scalingはスケーリンググループからインスタンスを削除し、別のインスタンスを作成します。 したがって、スケーリンググループ内のECSインスタンスのホスト名を連続的に増やすことはできません。

拡張シーケンシャル値による動的ソート

インスタンス名とホスト名は、name_prefix(AUTO_INCREMENT)[begin_number,bits]name_suffixの形式である必要があります。

説明

インスタンス名とホスト名の命名規則は同じロジックに従います。 次の表に、ホスト名の形式のみを示します。

表 3. Parameters

項目

必須

説明

name_prefix

課金されます

ホスト名のプレフィックス。

ess-node-

(ess_extend_begin,ess_extend_bits)

課金されます

ホスト名の拡張シーケンシャル値。 スケーリンググループ内の既存のホスト名の基本シーケンシャル値が最大シーケンシャル値に等しい場合、拡張シーケンシャル値に1つの値が追加されます。 その後、ベースシーケンシャル値は再び0から上限に達するまで増加します。

  • ess_extend_begin: 拡張シーケンシャル値の開始値。 有効値: 0〜ZZZ。 各有効値は、0〜9、a〜z、およびA〜Zの範囲である。例えば、9に1つの値を加算すると、aが得られる。 zに1つの値を加えると、Aが得られる。

    • Auto Scalingがスケーリンググループにインスタンスを初めて作成するときに、指定した開始値が有効になります。 開始値を指定しない場合は、0が使用されます。

    • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、開始値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • ess_extend_bits: 拡張シーケンシャル値の桁数。 有効な値: 1 ~ 3。 デフォルト値: 3

重要

ベースおよび拡張シーケンシャル値の上限に達したときに、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: 基本シーケンシャル値の開始値。 有効な値: 0 ~ 999999

    • Auto Scalingがスケーリンググループにインスタンスを初めて作成するときに、指定した開始値が有効になります。 開始値を指定しない場合は、0が使用されます。

    • 次回Auto Scalingがスケーリンググループにインスタンスを作成するとき、開始値はスケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • bits: 基数シーケンシャル値の桁数。 有効な値:0〜6。 デフォルト値: 6

重要
  • 既存のホスト名の最大ベースシーケンシャル値とスケーリンググループに作成するインスタンス数の合計が最大ベースシーケンシャル値以上の場合、スケーリンググループ内のECSインスタンスのホスト名は断続的に増加するパターンを持つ可能性があります。 断続的な増分を防ぐために、ベースシーケンシャル値に少なくとも3桁を指定することを推奨します。

  • ベースおよび拡張シーケンシャル値の上限に達したときに、Auto Scalingがさらに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_extend_bits値です。 拡張シーケンシャル値の開始値は、ess_extend_begin値です。 ベースシーケンシャル値が最大値に達すると、拡張シーケンシャル値に1つの値が加算され、ベースシーケンシャル値は再び0から増加します。

  • ベースシーケンシャル値: ベースシーケンシャル値の桁数はビット値です。 基本シーケンシャル値は、スケールアウトするECSインスタンスの数に基づいて、begin_number値から増加します。 ベースシーケンシャル値が最大値に達すると、拡張シーケンシャル値に1つの値が加算され、ベースシーケンシャル値は再び0から増加します。

  • ess-node-()[]-ecshost

  • ess-node-(,)[,]-ecshost

非該当

ess-node-000000000-ecshost、ess-node-000000001-ecshost、ess-node-000000002-ecshost

  • 拡張シーケンシャル値: ess_extend_beginまたはess_extend_bitsフィールドを設定しない場合、ess_extend_beginフィールドのデフォルト値は0ess_extend_bitsフィールドのデフォルト値は3です。

  • 基本シーケンシャル値: begin_numberフィールドまたはbitsフィールドが指定されていない場合、begin_numberフィールドのデフォルト値は0bitsフィールドのデフォルト値は6です。

ess-node-(0,1)[0,1]-ecshost

ess-node-08-ecshost

ess-node-10-ecshost、ess-node-11-ecshost、ess-node-12-ecshost

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するときに、基本シーケンシャル値は、スケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • 既存のホスト名の最大ベースシーケンシャル値とスケーリンググループに作成するインスタンス数の合計が最大ベースシーケンシャル値以上の場合、スケーリンググループ内のECSインスタンスのホスト名は断続的に増加するパターンを持つ可能性があります。 断続的な増分を防ぐために、ベースシーケンシャル値に少なくとも3桁を指定することを推奨します。

ess-node-(0,1)[0,1]-ecshost

ess-node-Z9-ecshost

エラーが報告され、スケールアウトが停止されます。

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するときに、基本シーケンシャル値は、スケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • 拡張シーケンシャル値とベースシーケンシャル値の上限に達した後、Auto ScalingがさらにECSインスタンスを作成する必要がある場合、エラーが報告され、スケールアウトが停止されます。 この場合、ホスト名を生成するためのルールを再設定する必要があります。

ess-node-(0,1)[0,3]

ess-node-0099-ecshost

ess-node-0100、ess-node-0101、およびess-node-0103

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するときに、基本シーケンシャル値は、スケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • デフォルトでは、ホスト名のシーケンシャル値は増加するパターンに基づいて増加します。 スケーリンググループ内のECSインスタンスを起動できない場合、Auto scalingはスケーリンググループからインスタンスを削除し、別のインスタンスを作成します。 したがって、スケーリンググループ内のECSインスタンスのホスト名を連続的に増やすことはできません。

ess-node-(0,1)[99,1]-ecshost

ess-node-0000099-ecshost

ess-node-0000100-ecshost、ess-node-0000101-ecshost、ess-node-0000102-ecshost

  • 次回Auto Scalingがスケーリンググループにインスタンスを作成するときに、基本シーケンシャル値は、スケーリンググループ内の既存のホスト名の最大シーケンシャル値から増加します。

  • 指定されたbegin_number値の桁数がbitsフィールドの値より大きい場合、bitsフィールドは自動的に6に設定されます。