このトピックでは、Elastic Container Instanceタイプのスケーリング設定を作成する方法について説明します。 スケールアウトイベントがトリガーされると、Auto Scalingはスケーリング設定をテンプレートとして使用して、エラスティックコンテナインスタンスを作成します。 [フォームで作成] および [YAMLファイルで作成] のいずれかの方法を使用して、スケーリング設定を作成できます。
前提条件
Elastic Container Instanceタイプのスケーリンググループが作成されます。 詳細については、「スケーリンググループの管理」をご参照ください。
セキュリティグループが作成されます。 スケーリンググループのネットワークタイプが仮想プライベートネットワーク (VPC) の場合、セキュリティグループとスケーリンググループが同じVPCにあることを確認します。 詳細については、「セキュリティグループの作成」をご参照ください。
手順
Alibaba Cloudは、Elastic Container Instanceタイプのスケーリング設定を作成するための複数の方法を提供しています。 ビジネス要件に基づいて、次のいずれかの方法を選択できます。
フォームで作成
Auto scalingコンソールの [フォームで作成] タブで、Elastic Container Instanceタイプのスケーリング設定を作成できます。 詳細については、「方法1: [フォームによる作成] タブのスケーリング設定の作成」をご参照ください。
YAMLファイルによる作成
Kubernetes YAMLファイルを使用して、スケーリング設定の作成と管理に使用する設定を宣言することもできます。 Auto Scalingを使用すると、Kubernetes YAMLファイルをコンパイルして、スケーリング設定を作成および管理できます。 Auto Scalingでは、Alibaba Cloudコマンドラインインターフェイス (CLI) を使用してスケーリング設定を作成および管理することもできます。 詳細については、「方法2: YAMLファイルによる作成タブのスケーリング設定の作成」をご参照ください。
方法1: [フォームによる作成] タブでスケーリング設定を作成する
[スケーリング設定の作成] ページに移動します。
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
[スケーリンググループ] ページで、管理するスケーリンググループを見つけ、[操作] 列の [詳細] をクリックします。
[インスタンス設定ソース] タブ、[スケーリング設定] タブをクリックします。 次に、[スケーリング設定の作成] をクリックして、[スケーリング設定の作成] ページに移動します。
[スケーリング設定の作成] ページで、[フォームで作成] タブをクリックし、スケーリング設定の作成を求められたとおりにパラメーターを設定します。 [次へ: その他の設定] をクリックします。
パラメーターの詳細については、「基本設定手順」をご参照ください。
(オプション) プロンプトに従って、[その他の設定 (オプション)] ステップでパラメーターを設定します。
パラメーターの詳細については、「その他の設定 (オプション) ステップ」をご参照ください。
[設定の確認] をクリックします。 [確認] ステップで、スケーリング設定を確認し、[注文の作成] をクリックします。
(オプション) スケーリング設定を有効にします。
[注文の作成] をクリックした後、[成功] メッセージの [有効化] をクリックしてスケーリング設定を有効にします。
説明 スケーリング設定を作成した直後にスケーリング設定を有効にしない場合は、ビジネス要件に基づいて [スケーリング設定] タブで有効にすることができます。 詳細については、「スケーリング設定の適用または有効化」をご参照ください。
方法2: [YAMLファイルによる作成] タブでスケーリング設定を作成する
Auto Scalingコンソールの使用
[スケーリング設定の作成] ページに移動します。
Auto Scalingコンソールにログインします。
左側のナビゲーションウィンドウで、スケーリンググループをクリックします。
上部のナビゲーションバーで、リージョンを選択します。
[スケーリンググループ] ページで、管理するスケーリンググループを見つけ、[操作] 列の [詳細] をクリックします。
[インスタンス設定ソース] タブ、[スケーリング設定] タブをクリックします。 次に、[スケーリング設定の作成] をクリックして、[スケーリング設定の作成] ページに移動します。
[スケーリング設定の作成] ページで、[YAMLファイルによる作成] タブをクリックします。 YAMLファイルをコンパイルします。
サンプルコード:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-demo
annotations:
# The name of the scaling configuration.
k8s.aliyun.com/ess-eci-scaling-configuration-name: create-ess-config-by-yaml
spec:
# The expected number of instances in the scaling group.
template:
metadata:
labels:
app: nginx-demo
annotations:
# The ID of the vSwitch. You can specify up to eight vSwitches in the same VPC. Separate multiple vSwitches with commas (,).
k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
# The ID of the security group. You can specify up to five security groups in the same VPC. Separate multiple security groups with commas (,).
k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
# Specifies whether to automatically create and bind elastic IP addresses (EIPs).
k8s.aliyun.com/eci-with-eip: 'true'
# The instance type of elastic container instances.
k8s.aliyun.com/eci-use-specs: 1.0-2.0Gi
# The EIP bandwidth.
k8s.aliyun.com/eip-bandwidth: '5'
spec:
containers:
- name: nginx
# The image.
image: nginx:latest
ports:
- containerPort: 80
name: http
- containerPort: 443
name: https
resources:
requests:
memory: 0.05Gi
cpu: 50m
limits:
memory: 2Gi
cpu: '2'
次の表に、上記のYAMLファイルで使用されるパラメーターを示します。 サポートされているすべてのパラメーターについては、「YAMLフィールド」をご参照ください。
Parameters
パラメーター | 説明 | 例 |
k8s.aliyun.com/ess-eci-scaling-configuration-name | スケーリング設定の名前。 | create-ess-config-by-yaml |
k8s.aliyun.com/eci-vswitch | VSwitch の ID です。 同じVPCに最大8つのvSwitchを指定できます。 複数のvSwitchはコンマ (,) で区切ります。 | vsw-bp******1、vsw-bp******2、vsw-bp******3 |
k8s.aliyun.com/eci-security-group: sg-bp ****** | セキュリティグループの ID です。 同じVPCに最大5つのセキュリティグループを指定できます。
重要 セキュリティグループとvSwitchは同じVPCにある必要があります。 | sg-bp******1、sg-bp******2 |
k8s.aliyun.com/eci-with-eip | EIPを自動的に割り当てるかどうかを指定します。 このパラメーターをtrueに設定すると、EIPは自動的にエラスティックコンテナインスタンスに割り当てられます。 | true |
k8s.aliyun.com/eci-use-specs | elasticコンテナインスタンスのインスタンスタイプ。 インスタンスタイプは、vCPUとメモリサイズの組み合わせ、またはElastic Compute Service (ECS) インスタンスタイプです。 複数のインスタンスタイプを指定できます。 | 1.0-1.0Gi |
k8s.aliyun.com/eip-bandwidth | EIP帯域幅。 単位は、Mbit/s です。 既定値:5 | 5 |
[作成] をクリックします。 [確認] [情報] メッセージで、設定を確認し、[確認] をクリックします。
(オプション) スケーリング設定を有効にします。
[確認] をクリックした後、[スケーリング設定の有効化] メッセージで [OK] をクリックしてスケーリング設定を有効にします。
説明 スケーリング設定を作成した直後にスケーリング設定を有効にしない場合は、ビジネス要件に基づいて [スケーリング設定] タブで有効にすることができます。 詳細については、「スケーリング設定の適用または有効化」をご参照ください。
Alibaba Cloud CLIの使用
Alibaba Cloud CLIを使用して、スケーリング設定を管理できます。 次のセクションでは、Alibaba Cloud CLIを使用してYAMLファイルを実行し、Elastic Container Instanceタイプのスケーリング設定を作成する方法について説明します。 Nginx:latestイメージを例として使用します。
重要 次の手順に進む前に、Alibaba Cloud CLIがインストールされ、必要な資格情報と環境変数が設定されていることを確認してください。 詳細については、「Alibaba Cloud CLIとは」をご参照ください。
create-ess-config.yamlという名前のファイルを作成します。
サンプルコード:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-demo
annotations:
# The name of the scaling configuration.
k8s.aliyun.com/ess-eci-scaling-configuration-name: create-ess-config-by-yaml
spec:
# The expected number of instances in the scaling group.
template:
metadata:
labels:
app: nginx-demo
annotations:
# The ID of the vSwitch. You can specify up to eight vSwitches in the same VPC. Separate multiple vSwitches with commas (,).
k8s.aliyun.com/eci-vswitch: vsw-bp******1,vsw-bp******2,vsw-bp******3,vsw-bp******4
# The ID of the security group. You can specify up to five security groups in the same VPC. Separate multiple security groups with commas (,).
k8s.aliyun.com/eci-security-group: sg-bp******1,sg-bp******2
# Specifies whether to automatically create and bind elastic IP addresses (EIPs).
k8s.aliyun.com/eci-with-eip: 'true'
# The instance type of elastic container instances.
k8s.aliyun.com/eci-use-specs: 1.0-2.0Gi
# The EIP bandwidth.
k8s.aliyun.com/eip-bandwidth: '5'
spec:
containers:
- name: nginx
# The image.
image: nginx:latest
ports:
- containerPort: 80
name: http
- containerPort: 443
name: https
resources:
requests:
memory: 0.05Gi
cpu: 50m
limits:
memory: 2Gi
cpu: '2'
次の表に、上記のYAMLファイルで使用されるパラメーターを示します。 サポートされているすべてのパラメーターについては、「YAMLフィールド」をご参照ください。
Parameters
パラメーター | 説明 | 例 |
k8s.aliyun.com/ess-eci-scaling-configuration-name | スケーリング設定の名前。 | create-ess-config-by-yaml |
k8s.aliyun.com/eci-vswitch | VSwitch の ID です。 同じVPCに最大8つのvSwitchを指定できます。 複数のvSwitchはコンマ (,) で区切ります。 | vsw-bp******1、vsw-bp******2、vsw-bp******3 |
k8s.aliyun.com/eci-security-group: sg-bp ****** | セキュリティグループの ID です。 同じVPCに最大5つのセキュリティグループを指定できます。
重要 セキュリティグループとvSwitchは同じVPCにある必要があります。 | sg-bp******1、sg-bp******2 |
k8s.aliyun.com/eci-with-eip | EIPを自動的に割り当てるかどうかを指定します。 このパラメーターをtrueに設定すると、EIPは自動的にエラスティックコンテナインスタンスに割り当てられます。 | true |
k8s.aliyun.com/eci-use-specs | elasticコンテナインスタンスのインスタンスタイプ。 インスタンスタイプは、vCPUとメモリサイズの組み合わせ、またはElastic Compute Service (ECS) インスタンスタイプです。 複数のインスタンスタイプを指定できます。 | 1.0-1.0Gi |
k8s.aliyun.com/eip-bandwidth | EIP帯域幅。 単位は、Mbit/s です。 既定値:5 | 5 |
create-ess-config.yamlファイルのディレクトリで次のコマンドを実行して、スケーリング設定を作成します。
重要 ビジネス要件に基づいて、コマンドの次のパラメーターを変更します。
aliyun ess ApplyEciScalingConfiguration --RegionId cn-hangzhou --ScalingGroupId asg-bp******v --Content "$(cat create-ess-config.yaml)" --version 2022-02-22 --method POST --force
Parameters
基本設定ステップ
パラメーター | 説明 | 関連ドキュメント |
課金方法 | スケーリング設定から作成されたエラスティックコンテナインスタンスの課金方法。 有効な値: 従量課金: Auto Scalingは、リソースをオンデマンドで割り当て、リリースします。 リソースは使った分だけ課金されます。 事前にリソースを購入する必要はありません。 プリエンプティブルインスタンス: プリエンプティブルインスタンスの市場価格は、インスタンスタイプの供給と需要によって異なります。 プリエンプティブルインスタンスは、従量課金インスタンスよりも費用対効果が高くなります。 ただし、プリエンプティブルインスタンスは自動的に再要求される場合があります。 プリエンプティブルインスタンスを使用して、特定のビジネスシナリオのコストを削減できます。
| 課金の概要 |
設定情報 | スケーリング設定から作成されたエラスティックコンテナインスタンスのリージョン、VPC、およびvSwitch。 設定情報は自動的に入力されます。 エラスティックコンテナインスタンスとインスタンスが属するスケーリンググループは、同じリージョンとVPCにあり、同じvSwitchを使用している必要があります。 | 非該当 |
[セキュリティグループ] | スケーリング設定から作成されたエラスティックコンテナインスタンスのセキュリティグループ。 | セキュリティグループの作成 |
コンテナーグループの設定 | スケーリング設定でインスタンスタイプを指定するモード。 値の値: 基本モード このモードでは、vCPUの数やメモリサイズなどのリソースや、イメージキャッシュやコスト最適化などの機能を有効にするかどうかを直接指定して、エラスティックコンテナインスタンスを作成できます。 インスタンスタイプの指定 このモードでは、ECSインスタンスタイプを指定してエラスティックコンテナインスタンスを作成できます。 特定のGPUモデルなど、ビジネスに特定の要件がある場合は、このモードを使用できます。 詳細については、「ECSインスタンスタイプの指定によるelastic containerインスタンスの作成」をご参照ください。
エラスティックコンテナインスタンスにストレージボリュームを追加する場合は、[詳細設定] 折りたたみパネルの [ストレージ] セクションでパラメーターを設定できます。 詳細については、「ボリュームの概要」をご参照ください。 | |
コンテナー設定 | このセクションでは、コンテナの追加、コンテナイメージとイメージタグの選択、イメージプルポリシーの指定、およびコンテナ起動コマンドのコンパイルを行うことができます。 [詳細設定] 折りたたみパネルで、vCPUの数とメモリサイズを指定したり、環境変数を設定したり、各コンテナのストレージスペースを追加したりすることもできます。 | |
ステップその他の設定 (オプション)
パラメーター | 説明 | 関連ドキュメント |
EIP | エラスティックコンテナインスタンスのインターネットアクセスを有効にする場合は、[自動作成] をクリックし、[最大帯域幅] パラメーターを設定します。 | elasticコンテナインスタンスのインターネットアクセスの有効化 |
資格情報 | コンテナーに指定するイメージがプライベートイメージリポジトリからのものである場合、このパラメーターを設定して、Auto Scalingがプライベートイメージリポジトリからイメージをプルできるようにする必要があります。 | 非該当 |
RAMロール | スケーリンググループ内のエラスティックコンテナインスタンスが他のクラウドリソースにアクセスする必要がある場合、必要な権限をResource access Management (RAM) ロールに割り当ててから、そのRAMロールをエラスティックコンテナインスタンスに割り当てる必要があります。 | ポッドへのRAMロールの割り当て |
タグ | スケーリング設定にタグを追加すると、スケーリング設定から作成されたすべてのエラスティックコンテナインスタンスがタグにバインドされます。 タグを使用して、エラスティックコンテナのインスタンスをより細かく管理できます。 | タグを使用したelasticコンテナインスタンスの管理 |
リソースグループ | リソースグループを設定すると、スケーリング設定から作成されたすべてのエラスティックコンテナインスタンスがリソースグループに属します。 リソースグループごとにRAMユーザーの権限を管理できます。 | リソースグループを使用してRAMユーザーの権限を制御する |
スケーリング設定名 | スケーリング設定の名前。 このパラメーターを設定しない場合、スケーリング設定IDが使用されます。 | 非該当 |
関連ドキュメント
API操作を呼び出してスケーリング設定を作成する方法については、「CreateEciScalingConfiguration」をご参照ください。
スケーリング設定を作成した後、スケーリング設定を管理できます。 たとえば、スケーリング設定をエクスポートまたはインポートできます。 詳細については、「スケーリング設定の管理」をご参照ください。
Elastic Container Instanceを使用する場合は、Image Pulling機能を有効にしてNGINXやCentOSイメージなどのイメージをプルし、elastic containerインスタンスを作成します。 詳細は、次のリンクをご参照ください。