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

Elastic Container Instance:Podを作成するためのコンピューティングカテゴリの指定

最終更新日:Dec 28, 2024

ほとんどのシナリオでは、GPU アクセラレーション ECS インスタンスタイプやローカルディスクを搭載した ECS インスタンスタイプなどの特別な Elastic Compute Service (ECS) インスタンスタイプを必要としない場合は、vCPU とメモリの仕様を指定して Elastic Container Instance ベースの Pod (Elastic Container Instance) を作成することをお勧めします。この場合、さらにコンピューティングカテゴリを指定できます。たとえば、単純なアプリケーションシナリオで 0.25 ~ 8 vCPU の Pod を使用する場合、コンピューティングカテゴリをエコノミーに設定してコストを削減できます。インスタンスに 1 つ以上の vCPU を搭載する場合、コンピューティングカテゴリを汎用に設定して高パフォーマンスを実現できます。

コンピューティングカテゴリ機能の説明

低コストまたは安定したパフォーマンスに対する要件をより適切に満たすために、Elastic Container Instance はコンピューティングカテゴリ機能を提供します。 vCPU とメモリの仕様を指定して Elastic Container Instance を作成すると、Elastic Container Instance はエコノミーと汎用コンピューティングカテゴリに基づいて基盤となるアーキテクチャを選択します。要件に基づいてコンピューティングカテゴリを設定できます。システムは、vCPU とメモリの仕様に一致する基盤となるアーキテクチャを自動的に選択します。

  • エコノミーコンピューティングカテゴリ

    エコノミーコンピューティングカテゴリは、0.25 ~ 8 vCPU のインスタンスをサポートしています。エコノミーコンピューティングカテゴリのインスタンスの単価は、汎用コンピューティングカテゴリのインスタンスの単価よりも低くなっています。

  • 汎用コンピューティングカテゴリ

    汎用コンピューティングカテゴリは、1 ~ 64 vCPU のインスタンスをサポートしています。汎用コンピューティングカテゴリのインスタンスの仕様単価は、コンピューティングカテゴリ機能を有効にせずに作成されたインスタンスの仕様単価と同じです。汎用コンピューティングカテゴリのインスタンスは、コンピューティングカテゴリ機能を有効にせずに作成された同じ vCPU とメモリの仕様を持つインスタンスよりも高いパフォーマンスを提供します。

コンピューティングカテゴリの選択方法

低コスト、安定したパフォーマンス、または高可用性に対する特定のニーズに基づいて、コンピューティングカテゴリを選択できます。次のルールに基づいてコンピューティングカテゴリを選択することをお勧めします。

  • 単純なアプリケーションで Elastic Container Instance を使用する場合、エコノミーコンピューティングカテゴリを選択してリソースコストを削減できます。

  • Elastic Container Instance で高パフォーマンスを実現する場合、汎用コンピューティングカテゴリを選択できます。

  • ビジネスで一定のパフォーマンス変動を許容できる場合は、複数のコンピューティングカテゴリを指定して、リソース不足によるインスタンス作成の失敗を防ぎ、高可用性を確保できます。

コンピューティングカテゴリの説明

このセクションでは、Elastic Container Instance でサポートされているエコノミーと汎用コンピューティングカテゴリについて説明します。

説明

デフォルトでは、エコノミーおよび汎用コンピューティングカテゴリのインスタンスの一時ストレージ容量は 30 GiB です。

エコノミーコンピューティングカテゴリ

すべてのElastic Container Instance利用可能リージョンでサポートされている仕様

vCPU

メモリ (GiB)

ベースライン帯域幅 (双方向、Gbit/s)

0.25

0.5 および 1

0.08

0.5

1 および 2

0.08

1

2、4、および 8

0.08

2

1、2、4、8、および 16

0.2

4

2、4、8、16、および 32

0.4

8

4、8、16、32、および 64

0.8

一部のリージョンでのみサポートされている仕様

重要
  • 次の表に含まれる仕様は、一部のリージョンでのみサポートされています。次のいずれかの仕様を持つ Elastic Container Instance を作成する場合は、指定したリージョンとゾーンで対応する仕様がサポートされていることを確認してください。そうでない場合、リージョンとゾーンにリソースが存在しないため、インスタンスを作成できません。

    次の表に含まれる仕様をサポートするリージョンには、中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)、シンガポールなどがあります。

  • 次の表の仕様を使用してプリエンティブルインスタンスを作成することはできません。

vCPU

メモリ (GiB)

ベースライン帯域幅 (双方向、Gbit/s)

2

6、10、12、および 14

0.2

4

6、10、12、14、18、20、22、24、26、28、および 30

0.4

6

6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、および 48

0.8

8

10、12、14、18、20、22、24、26、28、30、34、36、38、40、42、44、46、48、50、52、54、56、58、60、および 62

0.8

汎用コンピューティングカテゴリ

すべてのElastic Container Instance利用可能リージョンでサポートされている仕様

vCPU

メモリ (GiB)

ベースライン帯域幅 (双方向、Gbit/s)

1

2、4、および 8

1

2

1、2、4、8、および 16

1

4

2、4、8、16、および 32

1.5

8

4、8、16、32、および 64

2

12

12、24、48、および 96

2.5

16

16、32、64、および 128

3

24

24、48、96、および 192

4.5

32

32、64、128、および 256

6

52

96、192、および 384

12.5

64

128、256、および 512

20

一部のリージョンでのみサポートされている仕様

重要
  • 次の表に含まれる仕様は、一部のリージョンでのみサポートされています。次のいずれかの仕様を持つ Elastic Container Instance を作成する場合は、指定したリージョンとゾーンで対応する仕様がサポートされていることを確認してください。そうでない場合、リージョンとゾーンにリソースが存在しないため、インスタンスを作成できません。

    次の表に含まれる仕様をサポートするリージョンには、中国 (杭州)、中国 (上海)、中国 (青島)、中国 (北京)、中国 (張家口)、中国 (フフホト)、中国 (ウランチャブ)、中国 (深セン)、中国 (河源)、中国 (広州)、中国 (成都)、シンガポールなどがあります。

  • 次の表の仕様を使用してプリエンティブルインスタンスを作成することはできません。

vCPU

メモリ (GiB)

ベースライン帯域幅 (双方向、Gbit/s)

2

6、10、12、および 14

1

4

6、10、12、14、18、20、22、24、26、28、および 30

1.5

6

6、8、10、12、14、16、18、20、22、24、26、28、30、32、34、36、38、40、42、44、46、および 48

1.5

8

10、12、14、18、20、22、24、26、28、30、34、36、38、40、42、44、46、48、50、52、54、56、58、60、および 62

2.5

請求ルール

重要

エコノミーおよび汎用コンピューティングカテゴリはパブリックプレビュー中です。

  • エコノミーコンピューティングカテゴリ

    コンピューティングカテゴリ機能を有効にせずに作成されたインスタンスと比較して、エコノミーコンピューティングカテゴリのインスタンスは、同じメモリ単価とより低い vCPU 単価が適用されます。

    • vCPU の単価:vCPU 秒あたり 0.00000424 米ドル (vCPU 時間あたり 0.015264 米ドル)

    • メモリの単価:GiB 秒あたり 0.00000096 米ドル (GiB 時間あたり 0.003456 米ドル)

  • 汎用コンピューティングカテゴリ

    汎用コンピューティングカテゴリのインスタンスの仕様単価は、コンピューティングカテゴリ機能を有効にせずに作成された Elastic Container Instance の仕様単価と同じです。

    • vCPU の単価 (1 vCPU):秒あたり 0.0000077 米ドル (時間あたり 0.02772 米ドル)

    • メモリの単価 (1 GiB):秒あたり 0.00000096 米ドル (時間あたり 0.003456 米ドル)

重要

Pod が作成された後、kubectl describe pod コマンドを実行して Pod の詳細を表示できます。k8s.aliyun.com/eci-instance-compute-category レスポンスアノテーションで、Pod の実際に使用されているコンピューティングカテゴリを確認できます。対応するコンピューティングカテゴリの仕様単価に基づいて課金されます。

制限事項

Pod を作成するときにコンピューティングカテゴリを指定する場合、次の制限が適用されます。

  • この機能は、vCPU とメモリの仕様を指定して Elastic Container Instance を作成する場合にのみ有効です。

    Elastic Container Instance を作成するときに ECS インスタンスタイプを指定すると、ECS インスタンスタイプが優先されます。この場合、コンピューティングカテゴリを指定することはできません。

  • この機能は、プリエンティブル Pod を作成するときはサポートされません。

    アノテーションを設定して Pod カテゴリをプリエンティブルに、コンピューティングカテゴリをエコノミーに設定すると、システムはエラーを報告します。エラーコードは FeatureBasedConstraintConflict です。

  • この機能は、Arm ベースの Pod を作成するときはサポートされません。

    アノテーションで Pod を Arm ベースの仮想ノードで実行するようにスケジュールし、コンピューティングカテゴリをエコノミーに設定すると、システムはエラーを報告します。エラーコードは FeatureBasedConstraintConflict です。

  • この機能は、次の機能と組み合わせて使用することはできません。

    • ECS インスタンスファミリの指定または除外

    • 特定世代の ECS インスタンスファミリの指定または除外

構成の説明

Pod を作成するときに、次のいずれかの方法を使用して vCPU とメモリの仕様を指定できます。

  • limits または requests パラメーターを使用して、Pod 内の各コンテナーの vCPU 数とメモリサイズを指定します。 limits パラメーターを使用することをお勧めします。

  • Pod のメタデータセクションにアノテーション k8s.aliyun.com/eci-use-specs を追加して、Pod の vCPU 数とメモリサイズを指定します。

説明

limits、requests、または k8s.aliyun.com/eci-use-specs を指定しない場合、またはすべてを指定した場合、システムはシナリオに基づいて Pod を作成します。詳細については、構成の説明 を参照してください。

vCPU とメモリの仕様を指定して Pod を作成する場合、さらに k8s.aliyun.com/eci-compute-category アノテーションを使用して Pod のコンピューティングカテゴリを指定できます。

  • 有効な値:economy および general

  • 複数のコンピューティングカテゴリを指定できます。システムは、コンピューティングカテゴリの指定された順序に基づいて Pod のカテゴリを選択します。

重要
  • アノテーションは、Pod の構成ファイルのメタデータに追加する必要があります。たとえば、Deployment を作成するときは、spec.template.metadata セクションにアノテーションを追加する必要があります。

  • Elastic Container Instance の機能を使用するには、Elastic Container Instance ベースの Pod を作成するときにのみアノテーションを追加できます。Pod を更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。

有効なルール

コンピューティングカテゴリ機能を有効にした後、Pod の実際に使用される仕様とコンピューティングカテゴリは、次のルールに基づいて決定されます。

重要

Pod が作成された後、kubectl describe pod コマンドを実行して Pod の詳細を表示できます。k8s.aliyun.com/eci-instance-compute-category レスポンスアノテーションで、Pod の実際に使用されているコンピューティングカテゴリを確認できます。対応するコンピューティングカテゴリの仕様単価に基づいて課金されます。

インスタンス作成時のインスタンスの構成方法

実際に作成されたインスタンス

vCPU とメモリの仕様は指定されていませんが、コンピューティングカテゴリは指定されています。

2 vCPU と 4 GiB のメモリを持つインスタンスが作成されます。インスタンスは、指定されたコンピューティングカテゴリを使用します。

vCPU とメモリの仕様とコンピューティングカテゴリが指定されており、条件の組み合わせが Elastic Container Instance の仕様要件を満たしています。

指定された条件に基づいてインスタンスが作成されます。

指定された vCPU 数は 1 未満ですが、指定されたコンピューティングカテゴリは汎用です。

条件が Elastic Container Instance の仕様要件を満たしていません。システムは vCPU 数を自動的に 1 に調整して、汎用コンピューティングカテゴリの要件を満たします。

指定された vCPU 数は 8 を超えていますが、指定されたコンピューティングカテゴリはエコノミーです。

条件が Elastic Container Instance の仕様要件を満たしていません。システムは仕様を自動的に調整できません。エラーが報告されます。

vCPU とメモリの仕様とコンピューティングカテゴリが指定されています。指定された vCPU 数は、コンピューティングカテゴリの vCPU 仕様範囲内ですが、Elastic Container Instance の仕様要件を満たしていません。

システムは、Elastic Container Instance でサポートされている仕様に基づいてインスタンスの仕様を自動的に調整します。システムがインスタンスの仕様を調整するとき、システムは Elastic Container Instance でサポートされている最も類似した仕様を選択し、選択された vCPU とメモリの仕様は、指定された vCPU とメモリの仕様以上になります。

たとえば、vCPU とメモリの仕様を 7-13Gi に、コンピューティングカテゴリを general に設定すると、システムはインスタンスの仕様を、汎用コンピューティングカテゴリをサポートする最も類似した仕様である 8 vCPU と 16 GiB のメモリに自動的に調整します。

複数の vCPU とメモリの仕様または複数のコンピューティングカテゴリが指定されています。

システムは、次のルールに基づいてインスタンスの仕様を選択します。

  • システムは、vCPU とメモリの仕様またはコンピューティングカテゴリの指定された順序に基づいて Elastic Container Instance を作成します。

  • インスタンスの仕様は、コンピューティングカテゴリよりも優先されます。

  • インスタンスの仕様とコンピューティングカテゴリの組み合わせは、Elastic Container Instance の仕様要件を満たす必要があります。

たとえば、vCPU とメモリの仕様を 4-8Gi,8-16Gi,16-32Gi に、コンピューティングカテゴリを general,economy に設定すると、システムは次の順序でインスタンスの作成を試みます。

  1. 4-8Gi、汎用

  2. 4-8Gi、エコノミー

  3. 8-16Gi、汎用

  4. 8-16Gi、エコノミー

  5. 16-32Gi、汎用

  6. 16-32Gi、エコノミー (無効であり、自動的に無視されます)

重要

インスタンスの仕様はコンピューティングカテゴリよりも優先されるため、複数のコンピューティングカテゴリが指定されており、指定された vCPU とメモリの仕様が Elastic Container Instance の仕様要件を満たしていない場合、システムはすべてのコンピューティングカテゴリを考慮し、インスタンスの仕様を最も類似したインスタンスの仕様にスケールアップします。目的の vCPU とメモリの仕様が特定のコンピューティングカテゴリと互換性がない場合、このコンピューティングカテゴリは現在の vCPU とメモリの仕様のスケジューリングでは考慮されません。

たとえば、vCPU とメモリの仕様を 0.5-1.9Gi に、コンピューティングカテゴリを general,economy に設定すると、0.5 vCPU と 2 GiB のメモリのインスタンスの仕様はエコノミーコンピューティングカテゴリに属するため、システムはインスタンスの仕様を 0.5-2Gi に調整します。ただし、0.5 vCPU と 2 GiB のメモリのインスタンスの仕様は汎用コンピューティングカテゴリと互換性がないため、現在の vCPU とメモリの仕様 (0.5-1.9Gi) のスケジューリングでは、0.5-2Gi インスタンスの仕様と economy コンピューティングカテゴリのみが考慮されます。

構成例

  • 例 1:各コンテナーの limits パラメーターを指定し、コンピューティングカテゴリをエコノミーに設定する

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-compute-category: "economy"  # コンピューティングカテゴリをエコノミーに設定します。
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
            resources:
              limits:
                cpu: "500m"      # nginx という名前のコンテナーに 0.5 vCPU を指定します。
                memory: "1024Mi"   # nginx という名前のコンテナーに 1 GiB のメモリを指定します。
          - name: busybox
            image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
            command: ["sleep"]
            args: ["999999"]
            resources:
              limits:
                cpu: "1000m"   # busybox という名前のコンテナーに 1 vCPU を指定します。
                memory: "2048Mi"  # busybox という名前のコンテナーに 2 GiB のメモリを指定します。
  • 例 2:各コンテナーの limits パラメーターを指定し、コンピューティングカテゴリを general,economy に設定する。

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-compute-category: "general,economy" # コンピューティングカテゴリを general,economy に設定します。システムは、汎用コンピューティングカテゴリの Pod を優先的に作成します。作成に失敗した場合、システムはエコノミーコンピューティングカテゴリの Pod を作成します。
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80
            resources:
              limits:
                cpu: "2000m"      # nginx という名前のコンテナーに 2 vCPU を指定します。
                memory: "4096Mi"   # nginx という名前のコンテナーに 4 GiB のメモリを指定します。
          - name: busybox
            image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
            command: ["sleep"]
            args: ["999999"]
            resources:
              limits:
                cpu: "2000m"   # busybox という名前のコンテナーに 2 vCPU を指定します。
                memory: "4096Mi"  # busybox という名前のコンテナーに 4 GiB のメモリを指定します。 
  • 例 3:k8s.aliyun.com/eci-use-specs アノテーションを使用して複数の vCPU とメモリの仕様を指定し、コンピューティングカテゴリを汎用に設定する

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: test
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: test
          labels:
            app: nginx
            alibabacloud.com/eci: "true" 
          annotations:
            k8s.aliyun.com/eci-use-specs : "2-4Gi,4-8Gi"    # システムが最初に 2 vCPU と 4 GiB のメモリの仕様を使用して Pod を作成するように指定します。作成に失敗した場合、システムは 4 vCPU と 8 GiB のメモリの仕様を使用します。
            k8s.aliyun.com/eci-compute-category: "economy"  # コンピューティングカテゴリをエコノミーに設定します。
        spec:
          containers:
          - name: nginx
            image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
            ports:
            - containerPort: 80