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

Auto Scaling:ECI スケーリンググループの作成

最終更新日:Apr 22, 2026

スケーリンググループは、同じアプリケーションシナリオとインスタンスタイプ (Elastic Compute Service (ECS) または Elastic Container Instance (ECI)) を共有するインスタンスのコレクションです。ECI でコンテナアプリケーションを実行する場合、Auto Scaling はワークロードに基づいてインスタンスをスケーリングできます。これにより、サービスのパフォーマンスが維持され、使用コストが削減されます。

操作手順

Alibaba Cloud は、スケーリンググループを作成するためのいくつかの方法を提供しています。次のオプションを確認して、シナリオに最適な方法を選択してください。

方法 1:既存のインスタンスからスケーリンググループを作成

既存の ECI の設定から ECI スケーリンググループを作成するには、次の手順に従います。

  1. 作成 ページに移動します。

    1. Auto Scaling コンソールにログインします。

    2. 上部のナビゲーションバーで、Auto Scaling が有効化されているリージョンを選択します。

    3. 左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。

    4. スケーリンググループ ページで 作成 をクリックして、作成 ページに移動します。

  2. フォームから作成する タブをクリックし、プロンプトに従ってスケーリンググループのパラメーターを設定します。

    次の表に、この方法の必須パラメーターを示します。すべてのパラメーターの完全なリストについては、「パラメーターの説明」をご参照ください。

    必須パラメーター

    パラメーター

    説明

    スケーリンググループ名

    プロンプトに従ってスケーリンググループの名前を入力します。

    タイプ

    スケーリンググループ内のインスタンスのタイプを選択します。[ECI] を選択します。

    インスタンス設定ソース

    既存のインスタンスを選択 を選択します。Auto Scaling は、選択されたインスタンスの構成に基づいて新しいインスタンスを作成します。

    最小インスタンス数

    スケーリンググループで必要なインスタンスの最小数です。インスタンス数がこの値を下回った場合、Auto Scaling は最小数を満たすようにインスタンスを追加します。

    最大インスタンス数

    スケーリンググループで許容されるインスタンスの最大数です。インスタンス数がこの値を超えた場合、Auto Scaling は最大数を満たすようにインスタンスを削除します。

    デフォルトのクールダウン時間

    スケーリングアクティビティの完了後のデフォルトのクールダウン時間 (秒) です。デフォルト値の 300 を使用できます。詳細については、「クールダウン時間」をご参照ください。

    VPC

    スケーリンググループ内のすべてのインスタンスは、この VPC 内に作成されます。既存の Elastic Container Instance に基づいてスケーリンググループを作成する場合、VPC は選択されたインスタンスに基づいて自動的に構成されます。この構成は変更することも可能です。

    警告

    VPC は、スケーリンググループの作成後は変更できません。

    VSwitch の選択

    VPC を選択した後、その VPC に属する vSwitch を選択できます。スケーリンググループ内のすべてのインスタンスは、指定された vSwitch 内に作成されます。

    重要

    複数のアベイラビリティゾーンにある vSwitch を選択することを推奨します。単一のアベイラビリティゾーンの vSwitch を選択した場合、在庫が不足しているとインスタンスの作成に失敗する可能性があります。

  3. 作成する をクリックしてスケーリンググループを作成します。

説明
  • 既存の ECI に基づいてスケーリンググループを作成すると、Auto Scaling はスケーリンググループのスケーリング設定を自動的に作成します。スケーリング設定を管理するには、「スケーリング設定の管理」をご参照ください。

  • スケーリンググループをすぐに有効化するには、有効にします。詳細については、「スケーリンググループの有効化または無効化」をご参照ください。

方法 2:新規作成

スケーリンググループのインスタンス構成ソースを後で設定する場合は、次の手順に従ってください。

  1. 作成 ページに移動します。

    1. Auto Scaling コンソールにログインします。

    2. 上部のナビゲーションバーで、Auto Scaling が有効化されているリージョンを選択します。

    3. 左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。

    4. スケーリンググループ ページで 作成 をクリックして、作成 ページに移動します。

  2. フォームから作成する タブをクリックし、プロンプトに従ってスケーリンググループのパラメーターを設定します。

    次の表に、ECI スケーリンググループを新規に迅速に作成するための必須パラメーターを示します。すべてのパラメーターの詳細については、「パラメーターの説明」をご参照ください。

    必須パラメーター

    パラメーター

    説明

    スケーリンググループ名

    プロンプトに従ってスケーリンググループの名前を入力します。

    タイプ

    スケーリンググループ内のインスタンスのタイプを選択します。[ECI] を選択します。

    説明

    このトピックでは、ECI スケーリンググループの作成方法について説明します。ECS スケーリンググループを作成するには、「ECS スケーリンググループの作成」をご参照ください。

    インスタンス設定ソース

    新規作成 を選択します。まずスケーリンググループを作成し、その後で インスタンス設定ソース を設定できます。詳細については、「インスタンス構成ソースの概要」をご参照ください。

    最小インスタンス数

    スケーリンググループで必要な最小インスタンス数。インスタンス数がこの値を下回ると、Auto Scaling は最小値を満たすためにインスタンスを追加します。

    最大インスタンス数

    スケーリンググループで許可される最大インスタンス数。インスタンス数がこの値を超えると、Auto Scaling は最大値を満たすためにインスタンスを削除します。

    [デフォルトのクールダウンタイム]

    スケーリングアクティビティ完了後のデフォルトのクールダウン時間 (秒単位)。デフォルト値の 300 を使用できます。詳細については、「クールダウン時間」をご参照ください。

    VPC

    スケーリンググループ内のすべてのインスタンスは、選択した VPC 内に作成されます。

    警告

    スケーリンググループの作成後は、VPC を変更できません。

    VSwitch の選択

    VPC を選択した後、VPC に属する vSwitch を選択できます。スケーリンググループ内のすべてのインスタンスは、指定された vSwitch 内に作成されます。

    重要

    複数のアベイラビリティゾーンで vSwitch を選択することを推奨します。単一のアベイラビリティゾーンで vSwitch を選択した場合、在庫が不足しているとインスタンスの作成が失敗する可能性があります。

  3. 作成する をクリックしてスケーリンググループを作成します。

説明

スケーリンググループを作成した後、画面の指示に従ってスケーリング設定の作成ページに移動できます。後でスケーリンググループのスケーリング設定を作成することもできます。詳細については、「ECI インスタンスのスケーリング設定を作成する」をご参照ください。

方法 3:YAML ファイルを使用して作成

Kubernetes スタイルの YAML 定義を使用してスケーリンググループを作成するには、次の手順に従います。

コンソール

このセクションでは、`nginx:latest` イメージを例として、Auto Scaling コンソールで YAML ファイルから ECI スケーリンググループを作成する方法について説明します。

  1. 作成 ページに移動します。

    1. Auto Scaling コンソールにログインします。

    2. 上部のナビゲーションバーで、Auto Scaling が有効化されているリージョンを選択します。

    3. 左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。

    4. スケーリンググループ ページで 作成 をクリックして、作成 ページに移動します。

  2. YAML から作成する タブをクリックし、YAML ファイルを作成します。

    次の YAML ファイルをリファレンスとして使用できます。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        # スケーリンググループ名
        k8s.aliyun.com/ess-scaling-group-name: use-yaml-create-scaling-group
        # スケーリンググループの最小インスタンス数
        k8s.aliyun.com/ess-scaling-group-min-size: '0'
        # スケーリンググループの最大インスタンス数
        k8s.aliyun.com/ess-scaling-group-max-size: '5'
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      # スケーリンググループの期待インスタンス数
      replicas: 1
      template:
        metadata:
          labels:
              app: nginx-demo
          annotations:
            # EIP を自動的に作成して関連付けるかどうか
            k8s.aliyun.com/eci-with-eip: 'true'
            # vSwitch ID。同じ VPC 内で最大 8 つの vSwitch を指定できます。複数の vSwitch ID はカンマ (,) で区切ります。
            k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
            # セキュリティグループ ID。同じ VPC 内で最大 5 つのセキュリティグループを指定できます。複数のセキュリティグループ ID はカンマ (,) で区切ります。
            k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
        spec:
          containers:
            - name: nginx
              # イメージ
              image: nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    

    次の表に、サンプル YAML ファイルのパラメーターを示します。サポートされているパラメーターの詳細については、「YAML 設定パラメーター」をご参照ください。

    サンプル YAML パラメーター

    パラメーター

    説明

    k8s.aliyun.com/ess-scaling-group-name

    スケーリンググループの名前。

    use-yaml-create-scaling-group

    k8s.aliyun.com/ess-scaling-group-min-size

    スケーリンググループの最小インスタンス数。

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    スケーリンググループの最大インスタンス数。

    5

    k8s.aliyun.com/eci-with-eip

    EIP を自動的に割り当てるかどうかを指定します。有効値:`true` および `false`。`true` は、EIP が自動的に割り当てられることを示します。

    true

    k8s.aliyun.com/eci-vswitch

    vSwitch の ID。同じ VPC 内で最大 8 つの vSwitch を指定できます。複数の vSwitch ID はカンマ (,) で区切ります。

    重要

    VPC と vSwitch を指定しない場合、Auto Scaling はデフォルトの VPC と vSwitch を使用または作成します。詳細については、「デフォルト VPC と vSwitch」をご参照ください。

    vsw-bp******1,vsw-bp******2,vsw-bp******3

    k8s.aliyun.com/eci-security-group

    セキュリティグループの ID。同じ VPC 内で最大 5 つのセキュリティグループを指定できます。

    重要

    セキュリティグループは、vSwitch と同じ VPC にある必要があります。

    sg-bp******1,sg-bp******2

  3. 作成する をクリックしてスケーリンググループを作成します。

CLI

Alibaba Cloud CLI を使用して、コマンドラインからスケーリンググループを管理できます。このセクションでは、`nginx:latest` イメージを例として、Alibaba Cloud CLI を使用して YAML ファイルから ECI スケーリンググループを作成する方法について説明します。

重要

開始する前に、Alibaba Cloud CLI をインストールし、その認証情報と環境変数を設定していることを確認してください。詳細については、「Alibaba Cloud CLI とは」をご参照ください。

  1. 次の内容で `use-yaml-create-scaling-group.yaml` という名前のファイルを作成します。

    次の YAML ファイルをリファレンスとして使用できます。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        # スケーリンググループ名
        k8s.aliyun.com/ess-scaling-group-name: use-yaml-create-scaling-group
        # スケーリンググループの最小インスタンス数
        k8s.aliyun.com/ess-scaling-group-min-size: '0'
        # スケーリンググループの最大インスタンス数
        k8s.aliyun.com/ess-scaling-group-max-size: '5'
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      # スケーリンググループの期待インスタンス数
      replicas: 1
      template:
        metadata:
          labels:
              app: nginx-demo
          annotations:
            # EIP を自動的に作成して関連付けるかどうか
            k8s.aliyun.com/eci-with-eip: 'true'
            # vSwitch ID。同じ VPC 内で最大 8 つの vSwitch を指定できます。複数の vSwitch ID はカンマ (,) で区切ります。
            k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
            # セキュリティグループ ID。同じ VPC 内で最大 5 つのセキュリティグループを指定できます。複数のセキュリティグループ ID はカンマ (,) で区切ります。
            k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
        spec:
          containers:
            - name: nginx
              # イメージ
              image: nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    

    次の表に、サンプル YAML ファイルのパラメーターを示します。サポートされているパラメーターの詳細については、「YAML 設定パラメーター」をご参照ください。

    サンプル YAML パラメーター

    パラメーター

    説明

    k8s.aliyun.com/ess-scaling-group-name

    スケーリンググループの名前。

    use-yaml-create-scaling-group

    k8s.aliyun.com/ess-scaling-group-min-size

    スケーリンググループの最小インスタンス数。

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    スケーリンググループの最大インスタンス数。

    5

    k8s.aliyun.com/eci-with-eip

    EIP を自動的に割り当てるかどうかを指定します。有効値:`true` および `false`。`true` は、EIP が自動的に割り当てられることを示します。

    true

    k8s.aliyun.com/eci-vswitch

    vSwitch の ID。同じ VPC 内で最大 8 つの vSwitch を指定できます。複数の vSwitch ID はカンマ (,) で区切ります。

    重要

    VPC と vSwitch を指定しない場合、Auto Scaling はデフォルトの VPC と vSwitch を使用または作成します。詳細については、「デフォルト VPC と vSwitch」をご参照ください。

    vsw-bp******1,vsw-bp******2,vsw-bp******3

    k8s.aliyun.com/eci-security-group

    セキュリティグループの ID。同じ VPC 内で最大 5 つのセキュリティグループを指定できます。

    重要

    セキュリティグループは、vSwitch と同じ VPC にある必要があります。

    sg-bp******1,sg-bp******2

  2. `use-yaml-create-scaling-group.yaml` ファイルと同じディレクトリで、次のコマンドを実行してスケーリンググループを作成します。

    重要
    • この例では、中国 (杭州) リージョンにスケーリンググループを作成します。--RegionId パラメーターを、スケーリンググループを作成するリージョンに変更できます。

    • このコマンドは、ApplyScalingGroup API オペレーションを呼び出します。この API オペレーションの詳細については、「ApplyScalingGroup - 設定ファイルに基づいてスケーリンググループを管理する」をご参照ください。

    aliyun ess ApplyScalingGroup --RegionId cn-hangzhou --Content "$(cat test-aliyun-cli-create-group.yaml)" --version 2022-02-22 --method POST --force

パラメーター

スケーリンググループの基本設定

パラメーター

説明

スケーリンググループ名

名前は 2~64 文字で、文字、数字、または漢字で始まる必要があり、ピリオド (.)、アンダースコア (_)、ハイフン (-) を含めることができます。

[スケーリンググループタイプ]

スケーリンググループで使用されるインスタンスのタイプを指定します。Auto Scaling は、スケーリングアクティビティ中に指定されたタイプのインスタンスを追加または削除します。

  • ECS:スケーリンググループ内のすべてのインスタンスは ECS インスタンスです。

  • ECI:スケーリンググループ内のすべてのインスタンスは ECI インスタンスです。

[インスタンス構成のソース]

インスタンスを作成するための構成のソース。次のソースがサポートされています。

  • [起動テンプレート]:キーペア、RAM ロール、インスタンスタイプ、ネットワーク設定などの構成情報を含みますが、パスワードは除外されます。このオプションは、[スケーリンググループタイプ][ECS] に設定されている場合にのみ使用できます。

    単一のインスタンスタイプが在庫切れの場合、スケールアウトが失敗する可能性があります。[拡張起動テンプレート構成] を使用して複数のインスタンスタイプを選択し、スケールアウトの成功率を向上させることができます。詳細については、「起動テンプレートを使用して複数のインスタンスタイプを構成し、スケールアウトの成功率を向上させる」をご参照ください。

  • [既存インスタンスの選択]:既存のインスタンスを選択する必要があります。Auto Scaling は、インスタンスから基本構成を自動的に抽出し、デフォルトのスケーリング設定を作成します。

    重要
    • 抽出されたスケーリング設定には、インスタンスタイプ、ネットワークタイプ、セキュリティグループ、ベースイメージなどの基本設定が含まれます。ログインパスワードやタグは含まれません。ベースイメージは既存のインスタンスからのものであり、アプリケーションなどのインスタンスデータは含まれません。インスタンスのシステム構成とデータを含めるには、インスタンスからカスタムイメージを作成します。

  • [新規作成]:初期のインスタンス構成なしでスケーリンググループを作成できます。スケーリンググループが作成された後、スケーリング設定を作成するか、起動テンプレートを指定できます。スケーリング設定を作成する手順は、スケーリンググループのタイプによって異なります。詳細については、「スケーリング設定の作成 (ECS インスタンス用)」および「スケーリング設定の作成 (ECI インスタンス用)」をご参照ください。

説明

ECS コンソールでインスタンスからスケーリンググループを作成すると、Auto Scaling はインスタンス構成ソースとネットワークタイプ情報を自動的に入力します。デフォルト設定を維持してください。

[一時停止プロセス]

特定の操作を実行する前に、指定されたプロセスを一時停止します。たとえば、インスタンスを停止する前にヘルスチェックプロセスを一時停止して、Auto Scaling がそれを不健康とマークしてスケーリンググループから削除するのを防ぐことができます。次のプロセスを一時停止できます。

  • [スケールアウト]:スケーリンググループはすべてのスケールアウトアクティビティを拒否します。

  • [スケールイン]:スケーリンググループはすべてのスケールインアクティビティを拒否します。

  • [ヘルスチェック]:ヘルスチェックを一時停止します。Auto Scaling はインスタンスを不健康とマークしたり、削除したりしません。

  • [定期タスク]:定期タスクがスケーリングルールをトリガーするのを防ぎます。

  • [イベントトリガータスク]:アラームが報告されたときにイベントトリガータスクがスケーリングルールをトリガーするのを防ぎます。

詳細については、「スケーリンググループプロセスの一次停止と再開」をご参照ください。

スケーリンググループの保護を有効にする

有効にすると、スケーリンググループは Auto Scaling コンソールまたは API 呼び出しで削除できなくなります。これにより、スケーリンググループの偶発的な削除を防ぎます。

[インスタンスのヘルスチェック]

ヘルスチェックを有効にすると、Auto Scaling は定期的にインスタンスの実行ステータスをチェックします。インスタンスが実行中状態でない場合、Auto Scaling はそれを不健康とみなし、スケーリンググループから削除します。詳細については、「スケーリンググループ内のインスタンスのライフサイクル」をご参照ください。次のオプションが利用可能です。

  • [無効化]:この機能を無効にします。

  • [インスタンスステータスチェック]:スケーリンググループ内のインスタンスのステータスに関するヘルスチェックを実行します。

  • [ロードバランサーのヘルスチェック]:関連付けられた Application Load Balancer (ALB) または Network Load Balancer (NLB) からのヘルスチェック結果を使用します。このオプションは、クラシックロードバランサー (CLB) をサポートしていません。

[最大インスタンスライフタイム (秒)]

スケーリンググループ内のインスタンスの最大ライフタイム (秒単位)。インスタンスがこのライフタイムを超えると、Auto Scaling は自動的に新しいインスタンスを作成して置き換えます。

説明

このパラメーターは、[スケーリンググループタイプ][ECS] に設定されている場合にのみ使用できます。

インスタンス数の設定

パラメーター

説明

[最小インスタンス数]

スケーリンググループのインスタンス数がこの制限を下回った場合、Auto Scaling は自動的にインスタンスを追加してこの最小値を満たします。

[最大インスタンス数]

スケーリンググループのインスタンス数がこの制限を超えた場合、Auto Scaling は自動的にインスタンスを削除してこの制限内に収めます。削除ポリシーの詳細については、「スケーリンググループの削除ポリシーを設定する」をご参照ください。

希望キャパシティ

スケーリンググループの目標インスタンス数。Auto Scaling は、このキャパシティを維持するためにインスタンスを自動的に追加または削除します。詳細については、「期待されるキャパシティ」をご参照ください。

インスタンスのスケーリング設定

重要

ECI スケーリンググループの場合、[スケーリングポリシー][削除ポリシー]、または [インスタンスの回収モード] を変更することはできません。ECI スケーリンググループには、次のデフォルト設定が適用されます。

  • スケーリングポリシー優先ポリシー

  • [削除ポリシー][最も古いスケーリング設定] で作成されたインスタンスの中から最も古いインスタンスを削除し、次に [最も古いインスタンス] を削除します。

  • [インスタンスの回収モード][リリースモード]

パラメーター

説明

スケーリングポリシー

デフォルトでは、スケーリンググループは設定した vSwitch の順序に基づいてインスタンスをスケーリングします。この動作は優先ポリシーと呼ばれます。拡張および縮小戦略 を変更して、他の戦略を実装できます。

重要

この設定は、タイプ[ECS] で、ネットワークタイプVPC の場合にのみ変更できます。タイプ[ECI] の場合、デフォルトの 拡張および縮小戦略優先ポリシー です。

  • 優先ポリシー (デフォルトポリシー)

    vSwitch に定義した優先度に基づいてスケールアウトまたはスケールインします。スケールアウトイベント中、システムはまず最高優先度の vSwitch のゾーンでインスタンスを作成しようとします。作成が失敗した場合、システムは自動的に次に高い優先度の vSwitch のゾーンを試します。

  • 分散バランスポリシー

    このポリシーを使用して、スケーリンググループ内のインスタンスを複数のゾーンに均等に分散させ、マルチゾーンのディザスタリカバリを実現します。在庫不足などの理由でゾーン間の ECS インスタンス数が不均衡になった場合、リバランスを実行できます。詳細については、「ECS インスタンスのリバランス」をご参照ください。

  • コスト最適化ポリシー

    コストが最優先事項である場合は、コスト最適化ポリシー を使用します。スケールアウト中、このポリシーは vCPU 単位価格の昇順でインスタンスを起動しようとします。スケーリング設定にスポットインスタンスとして作成できる複数のインスタンスタイプが含まれている場合、ポリシーはこれらのスポットインスタンスを優先します。在庫不足などの理由でスポットインスタンスの起動が失敗した場合、ポリシーは自動的に従量課金インスタンスを作成しようとします。スケールイン中、vCPU 単位価格が最も高いインスタンスが最初に削除されます。

  • カスタム組み合わせポリシー

    このポリシーにより、キャパシティの分散を詳細に制御できます。これを使用して、従量課金インスタンスとスポットインスタンスの比率を調整し、ゾーン間のキャパシティをバランスさせ、インスタンスタイプの選択戦略を定義できます。

設定手順については、「スケーリングポリシーの設定」をご参照ください。

[削除ポリシー]

スケールインイベント中に最初に削除するインスタンスを定義します。ポリシーの結果、複数の削除候補がある場合は、ランダムに 1 つが選択されます。このパラメーターは、[スケーリンググループタイプ][ECS] に設定されている場合にのみ使用できます。オプションは次のとおりです。

  • [最も古いスケーリング設定]:最も早く追加されたスケーリング設定に関連付けられているインスタンスを選択します。手動で追加されたインスタンスは、スケーリング設定や起動テンプレートに関連付けられていないため、最初に選択されません。関連付けられているすべてのインスタンスが削除され、さらにインスタンスを削除する必要がある場合、手動で追加されたインスタンスがランダムに削除されます。

    重要
    • この文脈での「スケーリング設定」は、スケーリング設定と起動テンプレートの両方のリソースを指します。

    • このオプションは、起動テンプレートのバージョンではなく、テンプレートがスケーリンググループに設定された時期に基づいています。例:

      スケーリンググループが最初に起動テンプレートのバージョン 2 を使用し、後でバージョン 1 にロールバックされた場合でも、バージョン 2 が最も古いスケーリング設定と見なされます。

  • [最も古いインスタンス]:最も早く作成されたインスタンスを選択します。

  • [最も新しいインスタンス]:最も最近作成されたインスタンスを選択します。

  • [カスタムポリシー]:Function Compute 関数を使用して、削除するインスタンスを決定するカスタム削除ポリシーを定義します。

[削除ポリシー][最も古いスケーリング設定] または [カスタムポリシー] に設定した場合、複数のインスタンスが基準を満たす可能性があります。2 次レベルのポリシーを設定して、選択をさらに絞り込むことができます。

  • [ポリシーなし]:2 次レベルのフィルタリングは実行されません。

  • [最も古いインスタンス]:最初のステップでフィルタリングされたインスタンスの中から、最も早く作成されたものを選択します。

  • [最も新しいインスタンス]:最初のステップでフィルタリングされたインスタンスの中から、最も最近作成されたものを選択します。

説明

インスタンスの削除は、スケーリンググループの [スケーリングポリシー] にも影響されます。詳細については、「スケーリンググループの削除ポリシーを設定する」をご参照ください。

インスタンス回収モード

スケーリンググループから削除された後のインスタンスに対するアクションを決定します。次の回収モードが利用可能です。

説明

このパラメーターは、[スケーリンググループタイプ][ECS] で、[ネットワークタイプ][Virtual Private Cloud] に設定されている場合にのみ使用できます。ECI スケーリンググループのデフォルトの回収モードは [リリースモード] です。

  • [リリースモード]:削除されたインスタンスはリリースされ、リソースは保持されません。スケールアウト中、Auto Scaling は新しいインスタンスを作成し、スケーリンググループに追加します。

  • [停止モード]:削除された ECS インスタンスは停止され、エコノミーモードが有効になります。一部のリソースは保持され、引き続き課金されます。スケールアウト中、Auto Scaling は新しいインスタンスを起動するよりも、これらの停止したインスタンスを再起動することを優先します。このモードはスケーリング効率を向上させることができます。詳細については、「エコノミーモードを使用してスケーリング効率を向上させる」をご参照ください。

    重要
    • インスタンスが回収された後のデータ損失のリスクを避けるため、アプリケーションデータやログをインスタンスのローカルディスクに保存しないでください。

    • 停止したインスタンスは、次のシナリオでリリースされる可能性があります。

      • グループの最大サイズを実行中および停止中のインスタンスの合計数より少なくすると、Auto Scaling は停止した ECS インスタンスのリリースを優先します。

      • 在庫不足や支払い遅延により、停止したインスタンスが再起動に失敗する場合があります。この場合、インスタンスはリリースされます。

    • 停止モードの効果は、従量課金インスタンスのエコノミーモードに影響されます。詳細については、「エコノミーモード」の「有効化条件」、「適用可能なリソース」、および「効果」セクションをご参照ください。

  • [強制リリースモード]:このモードを選択すると、システムはスケールインイベント中に [実行中] (Running) 状態のインスタンスを強制的にリリースします。

    警告

    インスタンスの強制リリースは、電源オフ操作に相当し、インスタンスのメモリとストレージから一時データを消去します。このデータは回復できません。このオプションは注意して選択してください。

  • [強制停止モード]:このモードを選択すると、システムはスケールインイベント中に [実行中] (Running) 状態のインスタンスを強制的に停止します。

    警告

    インスタンスの強制停止は、電源オフ操作に相当し、インスタンスのメモリとストレージから一時データを消去します。このデータは回復できません。このオプションは注意して選択してください。

ネットワーク設定

重要

[インスタンス構成のソース][起動テンプレート] または [既存インスタンスの選択] に設定されている場合、[ネットワークタイプ][Virtual Private Cloud][VSwitch] などの設定は、起動テンプレートまたは選択したインスタンスに基づいて自動的に入力されます。必要に応じて、スケーリンググループのネットワーク設定を再構成できます。

パラメーター

説明

ネットワークタイプ

スケーリンググループ内のインスタンスのネットワークタイプです。[仮想プライベートクラウド][クラシックネットワーク] に対応しています。

警告

[ネットワークタイプ] は、スケーリンググループの作成後は変更できません。

重要

[Virtual Private Cloud] を選択することを推奨します。[VPC] ベースのスケーリンググループは、より多くのスケーリングポリシー、インスタンスの回収モード、Application Load Balancer (ALB) および Network Load Balancer (NLB) との関連付けなど、高度な設定をサポートします。VPC の詳細については、「Virtual Private Cloud (VPC) とは」をご参照ください。

仮想プライベートクラウド

このパラメーターは、[ネットワークタイプ][Virtual Private Cloud] に設定されている場合に使用できます。VPC を選択すると、スケーリンググループ内のすべてのインスタンスがこの VPC 内に作成されます。

警告

[Virtual Private Cloud] は、スケーリンググループの作成後は変更できません。

VSwitch の選択

[Virtual Private Cloud] を選択した後、VPC に属する VSwitch を選択できます。スケーリンググループ内のすべてのインスタンスは、選択した VSwitch 内に作成されます。

重要

複数のアベイラビリティゾーンで VSwitch を選択することを推奨します。これにより、単一のアベイラビリティゾーンでのリソース不足によるスケールアウトの失敗を防ぎます。ECS スケーリンググループを使用する場合、[スケーリングポリシー] を変更して、異なるアベイラビリティゾーン間でのインスタンスの分散を制御することもできます。

関連サービス

パラメーター

説明

[RDS、Redis、MongoDB インスタンスの関連付け]

スケーリンググループ内のインスタンスが RDS、Redis、または MongoDB データベースにアクセスする必要がある場合、この設定を使用して ECS または ECI インスタンスの内部 IP アドレスをデータベースインスタンスの IP ホワイトリストに自動的に追加できます。

説明

クラシックロードバランサー (CLB) の関連付け

クラシックロードバランサー (CLB) インスタンスに関連付けられると、新しいインスタンスはトラフィックを処理するためのバックエンドサーバーとして自動的に登録されます。

インスタンスを追加するサーバーグループを指定できます。次のサーバーグループタイプがサポートされています。

  • デフォルトサーバーグループ:フロントエンドリクエストを受信するインスタンスを含みます。リスナーが vServer グループまたはプライマリ/セカンダリサーバーグループで設定されていない場合、リクエストはデフォルトサーバーグループのインスタンスに転送されます。

  • vServer グループ:異なるリクエストを異なるバックエンドサーバーに転送する必要がある場合、またはドメイン名と URL に基づいてリクエストを転送する必要がある場合は、vServer グループを使用します。

デフォルトサーバーグループと複数の vServer グループの両方を指定した場合、インスタンスはこれらすべてのサーバーグループに追加されます。

説明

スケーリンググループに関連付けられる CLB インスタンスと vServer グループの数は制限されています。クォータを表示したり、クォータの増加をリクエストしたりするには、クォータセンターに移動してください。

[ALB および NLB サーバーグループの関連付け]

重要

このパラメーターは、[ネットワークタイプ][Virtual Private Cloud] に設定されている場合にのみ使用できます。

ALB または NLB サーバーグループに関連付けられると、新しいインスタンスは ALB または NLB インスタンスによって分散されるリクエストを処理するためのバックエンドサーバーとして自動的に追加されます。バックエンドサーバーのポートと重みも指定する必要があります。デフォルトの重みは 50 です。重みが大きいほど、インスタンスにより多くのトラフィックが送られます。重みが 0 の場合、インスタンスはアクセスリクエストを受信しません。

スケーリンググループを複数の ALB または NLB サーバーグループに関連付けた場合、スケーリンググループに追加されたインスタンスはこれらすべてのサーバーグループに追加されます。

説明

スケーリンググループに関連付けられる ALB および NLB サーバーグループの数は制限されています。クォータを表示したり、クォータの増加をリクエストしたりするには、クォータセンターに移動してください。

その他の設定

パラメーター

説明

[タグ]

タグは、スケーリンググループの検索と整理に役立ちます。詳細については、「タグ」をご参照ください。

説明

ここで指定されたタグは、スケーリンググループ自体に適用されます。スケーリンググループ内のインスタンスにタグを追加するには、スケーリング設定または起動テンプレートで設定します。

[インスタンスに伝播するタグ]

スケールアウト中に作成された新しいインスタンスに、選択したスケーリンググループのタグを伝播します。

[既存インスタンスの追加]

このパラメーターは、[スケーリンググループタイプ][ECS] で、[インスタンス構成のソース][起動テンプレート] または [既存インスタンスの選択] に設定されている場合に使用できます。

期待されるキャパシティを設定し、同時に既存のインスタンスを追加すると、最終的な期待されるキャパシティは追加されたインスタンスの数だけ増加します。たとえば、期待されるキャパシティを 1 に設定し、2 つの既存のインスタンスを追加すると、最終的な期待されるキャパシティは 3 になります。

[インスタンスのライフサイクルをスケーリンググループに委任する] チェックボックスを選択することで、既存のインスタンスのライフサイクルをスケーリンググループに委任できます。

  • 委任した場合、インスタンスは (ヘルスチェックの失敗や手動削除など) 何らかの理由でスケーリンググループから削除されると自動的にリリースされます。

  • 委任しない場合、インスタンスはスケーリンググループから削除されてもリリースされません。

説明

サブスクリプションインスタンスをスケーリンググループに追加することはできますが、そのライフサイクルをスケーリンググループに委任することはできません。

[通知方法の設定]

スケーリングアクティビティの通知を設定します。Auto Scaling は、アクティビティが成功、失敗、または拒否された場合に、SMS、サイト内メッセージ、または電子メールで通知を送信できます。詳細については、「通知の設定」をご参照ください。

[リソースグループ]

リソースの隔離と権限制御のために、スケーリンググループを特定のリソースグループに割り当てます。詳細については、「リソースグループを使用してスケーリンググループを管理する」をご参照ください。

[スケーリンググループのアラートルールを CloudMonitor に同期する]

スケーリンググループの作成時にのみ設定できます。有効にすると、Auto Scaling は CloudMonitor アプリケーショングループを作成し、スケーリンググループに関連付けます。スケーリンググループのアラートルールは、CloudMonitor コンソールに同期されて表示されます。

YAML パラメーター

サポートされている Kubernetes YAML フィールド

Kubernetes YAML ファイルを使用して ECI のスケーリンググループをデプロイする場合、Kubernetes Deployment リソースの次の YAML フィールドのみがサポートされます。

説明

YAML ファイルのテンプレート構造については、Kubernetes 公式ウェブサイトのサンプル Deployment をご参照ください。YAML ファイルは主に kindmetadata、および spec フィールドで構成されます。

サポートされている Kubernetes YAML フィールド

  • kind:リソースタイプ。値は `Deployment` である必要があります。

  • metadata.name:リソース名。このフィールドはスケーリンググループでは使用されません。k8s.aliyun.com/ess-scaling-group-name アノテーションが有効な名前を指定します。

  • spec.replicas:Pod レプリカの数。これは、スケーリンググループ内の期待インスタンス数に対応します。

  • spec.template.spec:Pod の設定を定義します。次の表に、サポートされている機能を示します。

    特徴

    YAML フィールド

    説明

    DNS 設定

    dnsPolicy

    DNS ポリシー。

    dnsConfig.nameservers

    DNS サーバの IP アドレスのリスト。

    dnsConfig.searches

    DNS 検索ドメインのリスト。

    dnsConfig.options.name

    オプションの名前。

    dnsConfig.options.value

    オプションの値。

    コンテナ設定

    containers.name

    コンテナ名。

    containers.image

    コンテナイメージ。

    containers.command

    コンテナの起動コマンド。

    containers.args

    コンテナの起動コマンドの引数。

    containers.imagePullPolicy

    イメージのプルポリシー。

    containers.stdin

    stdin にバッファーを割り当てるかどうかを指定します。

    containers.stdinOnce

    stdin に 1 回限りのバッファーを割り当てるかどうかを指定します。

    containers.tty

    TTY を割り当てるかどうかを指定します。

    containers.ports

    containerPort

    ポート番号。

    protocol

    TCP や UDP などのプロトコル。

    containers.env

    name

    環境変数の名前。

    value

    環境変数の値。

    containers.resources

    requests.cpu

    CPU リクエスト。

    requests.memory

    メモリリクエスト。

    limits.cpu

    CPU 制限。

    limits.memory

    メモリ制限。

    limits.nvidia.com/gpu

    Pod メタデータにアノテーションを追加して、GPU 仕様を指定できます。

    GPU 仕様を指定した後、コンテナの `resources` セクションに `nvidia.com/gpu` フィールドを追加して、必要な GPU リソースを宣言する必要があります。

    containers.securityContext

    runAsUser

    コンテナを実行するために使用されるユーザー ID。

    readOnlyRootFilesystem

    コンテナのルートファイルシステムが読み取り専用かどうかを指定します。

    capabilities.add

    コンテナ内のプロセスに追加するケーパビリティを指定します。

    containers.volumeMounts

    name

    これはボリュームの名前と一致する必要があります。

    mountPath

    コンテナ内のボリュームのマウントパス。

    mountPropagation

    マウントがホストからコンテナへ、またはその逆にどのように伝播されるかを決定します。

    readOnly

    有効値:

    • true:ボリュームを読み取り専用モードでマウントします。

    • false:ボリュームを読み書きモードでマウントします。

    デフォルト値:false。

    subPath

    ボリューム内のパス。

    containers.livenessProbe

    • initialDelaySeconds

    • periodSeconds

    • successThreshold

    • timeoutSeconds

    • failureThreshold

    • exec.command

    • tcpSocket.port

    • httpGet.scheme

    • httpGet.port

    • httpGet.path

    詳細については、「liveness、readiness、startup プローブの設定」をご参照ください。

    containers.readinessProbe

    • initialDelaySeconds

    • periodSeconds

    • successThreshold

    • timeoutSeconds

    • failureThreshold

    • exec.command

    • tcpSocket.port

    • httpGet.scheme

    • httpGet.port

    • httpGet.path

    init コンテナ設定

    initContainers.name

    init コンテナの名前。

    initContainers.image

    init コンテナのイメージ。

    initContainers.command

    init コンテナの起動コマンド。

    initContainers.args

    init コンテナの起動コマンドの引数。

    initContainers.imagePullPolicy

    init コンテナのイメージプルポリシー。

    initContainers.env

    name

    init コンテナの環境変数の名前。

    value

    init コンテナの環境変数の値。

    initContainers.resources

    requests.cpu

    init コンテナの CPU リクエスト。

    requests.memory

    init コンテナのメモリリクエスト。

    limits.cpu

    init コンテナの CPU 制限。

    limits.memory

    init コンテナのメモリ制限。

    limits.nvidia.com/gpu

    init コンテナが必要とする GPU リソースを指定します。

    initContainers.securityContext

    capabilities.add

    init コンテナ内のプロセスに追加するケーパビリティを指定します。

    initContainers.volumeMounts

    name

    init コンテナが使用するボリュームの名前。これはボリュームの名前と一致する必要があります。

    mountPath

    init コンテナ内のボリュームのマウントパス。

    mountPropagation

    マウントがホストから init コンテナへ、またはその逆にどのように伝播されるかを決定します。

    readOnly

    有効値:

    • true:ボリュームを読み取り専用モードでマウントします。

    • false:ボリュームを読み書きモードでマウントします。

    デフォルト値:false。

    subPath

    ボリューム内のパス。

    ボリューム設定

    volumes.nfs

    name

    ボリュームの名前。

    server

    NFS サーバーのアドレス (NAS マウントポイント)。

    path

    NFS ボリュームのパス。

    readOnly

    ボリュームが読み取り専用かどうかを指定します。

    volumes.emptyDir

    sizeLimit

    一時的な `emptyDir` ボリュームのサイズ制限。値には Gi や Mi などの単位を含める必要があります。

    medium

    `emptyDir` ボリュームの記憶媒体。有効値:

    • 空の文字列 (デフォルト):ノードのファイルシステムを記憶媒体として使用します。

    • Memory:メモリを記憶媒体として使用します。

    volumes.flexVolume

    driver

    FlexVolume のドライバーの名前。

    options

    JSON 形式でキーと値のペアとして指定された FlexVolume オプションのマップ。

    たとえば、FlexVolume を使用してクラウドディスクをマウントする場合、`options` のフォーマットは {"volumeId":"d-2zehdahrwoa7srg****","performanceLevel": "PL2"} です。

    グレースフルシャットダウン

    terminationGracePeriodSeconds

    コンテナがグレースフルにシャットダウンするための持続時間 (秒単位)。

拡張アノテーション

Kubernetes YAML ファイルを使用して ECI ベースのスケーリンググループをデプロイする場合、次のアノテーションのみを拡張できます。

メタデータの拡張アノテーション

パラメーター

説明

k8s.aliyun.com/ess-scaling-group-name

スケーリンググループの名前。

ess-group-test

k8s.aliyun.com/ess-scaling-group-min-size

スケーリンググループの最小インスタンス数。デフォルトは 0 です。

0

k8s.aliyun.com/ess-scaling-group-max-size

スケーリンググループの最大インスタンス数。デフォルトは max(replicas, 30) です。

20

spec.template.spec の拡張アノテーション

アノテーションの詳細については、「ECI Pod アノテーション」をご参照ください。

パラメーター

値の例

説明

k8s.aliyun.com/eci-ntp-server

100.100.*.*

Network Time Protocol (NTP) サーバー。

k8s.aliyun.com/eci-use-specs

2-4Gi

ECI インスタンスタイプを指定します。複数のタイプを指定できます。詳細については、「複数の仕様を指定して Pod を作成する」をご参照ください。

k8s.aliyun.com/eci-vswitch

vsw-bp1xpiowfm5vo8o3c****

vSwitch の ID。複数の vSwitch ID を指定して、複数のアベイラビリティゾーンにまたがるデプロイメントを有効にできます。

k8s.aliyun.com/eci-security-group

sg-bp1dktddjsg5nktv****

セキュリティグループの ID。次の要件が適用されます。

  • 最大 5 つのセキュリティグループを指定できます。

  • 指定されたセキュリティグループは同じ VPC にある必要があります。

  • 指定されたセキュリティグループは同じタイプである必要があります。

k8s.aliyun.com/eci-sls-enable

"false"

Pod のログ収集を無効にするには "false" に設定します。ロギングに Simple Log Service (SLS) CRD を使用する場合、収集が不要な Pod にこのアノテーションを適用します。これにより、自動的な Logtail 構成の作成が防止され、リソースが節約されます。

k8s.aliyun.com/eci-spot-strategy

SpotAsPriceGo

プリエンプティブルインスタンスの入札ポリシー。有効値:

  • SpotWithPriceLimit:プリエンプティブルインスタンスの最大時間単価を設定します。このポリシーには、k8s.aliyun.com/eci-spot-price-limit アノテーションも必要です。

  • SpotAsPriceGo:システムは現在の市場価格で自動的に入札します。

k8s.aliyun.com/eci-spot-price-limit

"0.5"

プリエンプティブルインスタンスの最大時間単価。値は小数点以下 3 桁まで指定できます。このアノテーションは、

k8s.aliyun.com/eci-spot-strategy

SpotWithPriceLimit

.

k8s.aliyun.com/eci-with-eip

"true"

Elastic IP アドレス (EIP) を自動的に作成して関連付けるには "true" に設定します。

k8s.aliyun.com/eci-data-cache-bucket

default

DataCache バケット。このアノテーションは、DataCache を使用する Pod を作成するために必要です。

k8s.aliyun.com/eci-data-cache-pl

PL1

DataCache から作成されたディスクのパフォーマンスレベル。デフォルトでは、パフォーマンスレベル PL1 の Enhanced SSD (ESSD) ディスクが作成されます。

k8s.aliyun.com/eci-data-cache-provisionedIops

"40000"

ESSD AutoPL ディスクのプロビジョニングされた読み書き IOPS。値は 0 から min{50000, 1000 * 容量 - ベースライン IOPS} の範囲内である必要があります。ベースライン IOPS は min{1800 + 50 * 容量, 50000} として計算されます。詳細については、「ESSD AutoPL ディスク」をご参照ください。

このアノテーションを追加すると、DataCache から ESSD AutoPL ディスクが作成されます。

k8s.aliyun.com/eci-data-cache-burstingEnabled

"true"

ESSD AutoPL ディスクのバーストを有効または無効にします。詳細については、「ESSD AutoPL ディスク」をご参照ください。

このアノテーションを追加すると、DataCache から ESSD AutoPL ディスクが作成されます。

k8s.aliyun.com/eci-custom-tags

"env:test,name:alice"

インスタンスにバインドするタグを指定します。最大 3 つのタグをバインドできます。キーと値をコロン (:) で区切り、タグをカンマ (,) で区切ります。

アノテーションの詳細については、「ECI Pod アノテーション」をご参照ください。