ほとんどのシナリオでは、GPU アクセラレーション ECS インスタンスタイプやローカルディスク付き ECS インスタンスタイプなどの特別な Elastic Compute Service (ECS) インスタンスタイプが必要ない場合は、vCPU とメモリ仕様を指定してエラスティックコンテナインスタンスを作成することをお勧めします。この場合、さらにコンピューティングカテゴリを指定できます。たとえば、単純なアプリケーションシナリオで 0.25 ~ 8 vCPU のポッドを使用する場合は、コンピューティングカテゴリをエコノミーに設定してコストを削減できます。インスタンスに 1 つ以上の vCPU を搭載する場合は、コンピューティングカテゴリを汎用に設定して高パフォーマンスを実現できます。
コンピューティングカテゴリ機能の説明
低コストまたは安定したパフォーマンスの要件をより適切に満たすために、Elastic Container Instance はコンピューティングカテゴリ機能を提供します。 vCPU とメモリ仕様を指定してエラスティックコンテナインスタンスを作成すると、Elastic Container Instance はエコノミーと汎用コンピューティングカテゴリに基づいて基盤となるアーキテクチャを選択します。要件に基づいてコンピューティングカテゴリを設定できます。システムは、vCPU とメモリ仕様に一致する基盤となるアーキテクチャを自動的に選択します。
エコノミーコンピューティングカテゴリ
エコノミーコンピューティングカテゴリは、0.25 ~ 8 vCPU のインスタンスをサポートしています。エコノミーコンピューティングカテゴリのインスタンスの単価は、汎用コンピューティングカテゴリのインスタンスの単価よりも低くなっています。
汎用コンピューティングカテゴリ
汎用コンピューティングカテゴリは、1 ~ 64 vCPU のインスタンスをサポートしています。汎用コンピューティングカテゴリのインスタンスの仕様単価は、コンピューティングカテゴリ機能を有効にせずに作成されたインスタンスの仕様単価と同じです。汎用コンピューティングカテゴリのインスタンスは、コンピューティングカテゴリ機能を有効にせずに作成された同じ vCPU とメモリ仕様のインスタンスよりも高いパフォーマンスを提供します。
コンピューティングカテゴリの選択方法
低コスト、安定したパフォーマンス、または高可用性に対する特定の好みに基づいて、コンピューティングカテゴリを選択できます。次のルールに基づいてコンピューティングカテゴリを選択することをお勧めします。
単純なアプリケーションでエラスティックコンテナインスタンスを使用する場合は、エコノミーコンピューティングカテゴリを選択してリソースコストを削減できます。
エラスティックコンテナインスタンスが高パフォーマンスを提供するようにする場合は、汎用コンピューティングカテゴリを選択できます。
ビジネスがある程度のパフォーマンス変動を許容できる場合は、複数のコンピューティングカテゴリを指定して、リソース不足によるインスタンス作成の失敗を防ぎ、高可用性を確保できます。
コンピューティングカテゴリの説明
このセクションでは、Elastic Container Instance でサポートされているエコノミーと汎用コンピューティングカテゴリについて説明します。
デフォルトでは、エコノミーおよび汎用コンピューティングカテゴリのインスタンスの一時ストレージ容量は 30 GiB です。
エコノミーコンピューティングカテゴリ
汎用コンピューティングカテゴリ
課金
エコノミーおよび汎用コンピューティングカテゴリはパブリックプレビュー中です。
エコノミーコンピューティングカテゴリ
コンピューティングカテゴリ機能を有効にせずに作成されたインスタンスと比較して、エコノミーコンピューティングカテゴリのインスタンスは、同じメモリ単価とより低い vCPU 単価が適用されます。
vCPU の単価:vCPU 秒あたり 0.00000424 米ドル (vCPU 時間あたり 0.015264 米ドル)
メモリの単価:GiB 秒あたり 0.00000096 米ドル (GiB 時間あたり 0.003456 米ドル)
汎用コンピューティングカテゴリ
汎用コンピューティングカテゴリのインスタンスの仕様単価は、コンピューティングカテゴリ機能を有効にせずに作成されたエラスティックコンテナインスタンスの仕様単価と同じです。
vCPU の単価 (1 vCPU):秒あたり 0.0000077 米ドル (時間あたり 0.02772 米ドル)
メモリの単価 (1 GiB):秒あたり 0.00000096 米ドル (時間あたり 0.003456 米ドル)
エラスティックコンテナインスタンスが作成された後、DescribeContainerGroups API オペレーションを呼び出して、インスタンスの詳細をクエリできます。 ComputeCategory レスポンスパラメータは、インスタンスのコンピューティングカテゴリを示します。対応するコンピューティングカテゴリの仕様単価に基づいて課金されます。
制限
エラスティックコンテナインスタンスを作成するときにコンピューティングカテゴリを指定する場合、次の制限が適用されます。
この機能は、vCPU とメモリ仕様を指定してエラスティックコンテナインスタンスを作成する場合にのみ有効です。
エラスティックコンテナインスタンスを作成するときに ECS インスタンスタイプを指定すると、ECS インスタンスタイプが優先されます。この場合、コンピューティングカテゴリを指定することはできません。
この機能は、プリエンティブルエラスティックコンテナインスタンスを作成するときはサポートされていません。
インスタンスカテゴリをプリエンティブルに設定し、コンピューティングカテゴリを指定すると、システムはエラーを報告します。エラーコードは FeatureBasedConstraintConflict です。
この機能は、Arm ベースのエラスティックコンテナインスタンスを作成するときはサポートされていません。
インスタンスの CPU アーキテクチャを Arm に設定し、コンピューティングカテゴリを指定すると、システムはエラーを報告します。エラーコードは FeatureBasedConstraintConflict です。
構成の説明
CreateContainerGroup API オペレーションを呼び出してエラスティックコンテナインスタンスを作成するときに、インスタンスの vCPU とメモリ仕様を指定することに加えて、ComputeCategory パラメータを使用してインスタンスのコンピューティングカテゴリを指定できます。
次のいずれかの方法を使用して、インスタンスの vCPU とメモリ仕様を指定できます。
方法 1:コンテナレベルでのみ vCPU とメモリ仕様を指定します。システムは、すべてのコンテナの vCPU 数とメモリサイズを自動的に合計して、インスタンスの vCPU とメモリ仕様を取得します。
方法 2:インスタンスレベルで vCPU とメモリ仕様を指定し、要件に基づいてコンテナレベルで vCPU とメモリ仕様を設定します。
方法 3:InstanceType パラメータを使用して、インスタンスレベルで vCPU とメモリ仕様を指定します。
次の表では、インスタンスの vCPU とメモリ仕様を指定するために使用できるパラメータについて説明します。詳細については、CreateContainerGroup を参照してください。
パラメータ | タイプ | 例 | 説明 |
Cpu | 数値 | 2.0 | エラスティックコンテナインスタンスに割り当てる vCPU の数。 |
Memory | 数値 | 4.0 | インスタンスのメモリサイズ。単位:GiB。 |
Container.N.Cpu | 数値 | 0.5 | コンテナ N に割り当てる vCPU の数。 |
Container.N.Memory | 数値 | 1.0 | コンテナ N のメモリサイズ。単位:GiB。 |
InstanceType | 文字列 | 2-4Gi | インスタンスの仕様。
|
ComputeCategory | string[] | economy | インスタンスのコンピューティングカテゴリ。有効な値:
複数のコンピューティングカテゴリを指定できます。システムは、コンピューティングカテゴリの指定された順序に基づいて、エラスティックコンテナインスタンスのタイプを選択します。 |
実装ルール
コンピューティングカテゴリ機能を有効にすると、エラスティックコンテナインスタンスの仕様とコンピューティングカテゴリは、次のルールに基づいて決定されます。
エラスティックコンテナインスタンスが作成された後、DescribeContainerGroups API オペレーションを呼び出して、インスタンスの詳細をクエリできます。 ComputeCategory レスポンスパラメータは、インスタンスのコンピューティングカテゴリを示します。対応するコンピューティングカテゴリの仕様単価に基づいて課金されます。
インスタンス作成時のインスタンスの設定方法 | 実際に作成されたインスタンス |
vCPU とメモリ仕様は指定されていませんが、コンピューティングカテゴリは指定されています。 | 2 vCPU と 4 GiB のメモリを持つインスタンスが作成されます。インスタンスは、指定されたコンピューティングカテゴリを使用します。 |
vCPU とメモリ仕様とコンピューティングカテゴリを指定し、条件の組み合わせがエラスティックコンテナインスタンスの仕様要件を満たしています。 | 指定された条件に基づいてインスタンスが作成されます。 |
指定された vCPU 数は 1 未満ですが、指定されたコンピューティングカテゴリは汎用です。 | 条件がエラスティックコンテナインスタンスの仕様要件を満たしていません。システムは、汎用コンピューティングカテゴリの要件を満たすために、vCPU 数を自動的に 1 に調整します。 |
指定された vCPU 数は 8 を超えていますが、指定されたコンピューティングカテゴリはエコノミーです。 | 条件がエラスティックコンテナインスタンスの仕様要件を満たしていません。システムは仕様を自動的に調整できません。エラーが報告されます。 |
vCPU とメモリ仕様とコンピューティングカテゴリを指定します。指定された vCPU 数は、コンピューティングカテゴリの vCPU 仕様範囲内ですが、エラスティックコンテナインスタンスの仕様要件を満たしていません。 | システムは、Elastic Container Instance でサポートされている仕様に基づいて、インスタンスの仕様を自動的に調整します。システムがインスタンスの仕様を調整するとき、システムは Elastic Container Instance でサポートされている最も類似した仕様を選択し、選択された vCPU とメモリ仕様は、指定された vCPU とメモリ仕様以上になります。 たとえば、vCPU とメモリ仕様を |
複数の vCPU とメモリ仕様または複数のコンピューティングカテゴリを指定します。 | システムは、次のルールに基づいてインスタンス仕様を選択します。
たとえば、vCPU とメモリ仕様を
重要 インスタンス仕様はコンピューティングカテゴリよりも優先順位が高いため、複数のコンピューティングカテゴリが指定され、指定された vCPU とメモリ仕様がエラスティックコンテナインスタンスの仕様要件を満たしていない場合、システムはすべてのコンピューティングカテゴリを考慮し、インスタンス仕様を最も類似したインスタンス仕様にスケールアップします。意図した vCPU とメモリ仕様が特定のコンピューティングカテゴリと互換性がない場合、このコンピューティングカテゴリは現在の vCPU とメモリ仕様のスケジューリングでは考慮されません。 たとえば、vCPU とメモリ仕様を |
サンプル構成
例 1:各コンテナの vCPU とメモリ仕様を指定し、コンピューティングカテゴリをエコノミーに設定します。
ContainerGroupName=test-category # コンピューティングカテゴリをエコノミーに設定します。 ComputeCategory.1=economy # 各コンテナの vCPU とメモリ仕様を指定します。 Container.1.Cpu=1.0 Container.1.Memory=2.0 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
例 2:インスタンスの vCPU とメモリ仕様を指定し、コンピューティングカテゴリを汎用とエコノミーに順番に設定します。
ContainerGroupName=test-category # インスタンスの vCPU とメモリ仕様を指定します。 Cpu=4.0 Memory=8.0 # コンピューティングカテゴリを汎用とエコノミーに順番に設定します。 ComputeCategory.1=general ComputeCategory.2=economy # コンテナを設定します。 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2
例 3:インスタンスの複数の vCPU とメモリ仕様を指定し、コンピューティングカテゴリを汎用に設定します。
ContainerGroupName=test-category # インスタンスの複数の vCPU とメモリ仕様を指定します。 InstanceType=2-4Gi,4-8Gi # コンピューティングカテゴリを汎用に設定します。 ComputeCategory.1=general # コンテナを設定します。 Container.1.Name=nginx Container.1.Image=registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:1.14.2