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

Elastic Container Instance:ポッドを作成するためのvCPU数とメモリサイズを指定する

最終更新日:Jan 14, 2025

vGPUやローカルディスクなどのポッドの仕様に特別な要件がない場合は、Elastic Compute Service (ECS)インスタンスタイプではなく、vCPU数とメモリサイズを指定してElastic Container Instanceポッドを作成することをお勧めします。指定されたvCPUとメモリの仕様に基づいて、システムがさまざまなECSインスタンスタイプを提供し、適切なインスタンスタイプを選択できます。この方法では、ECSインスタンスタイプを指定する方法よりも、弾力性とリソースのプロビジョニングが向上します。

仕様の説明

Elastic Container Instanceを作成する際に、インスタンスまたはインスタンス内のコンテナのvCPU数とメモリサイズを指定できます。指定したvCPU数またはメモリサイズがElastic Container Instanceでサポートされていない場合、システムはElastic Container Instanceでサポートされている仕様に基づいて数またはサイズを調整します。システムが数またはサイズを調整する場合、システムはElastic Container Instanceでサポートされている最も近い仕様を選択してインスタンスを作成します。システムによって選択された仕様は、インスタンスに指定した仕様以上になります。たとえば、中国(杭州)リージョンでElastic Container Instanceを作成するときに7 vCPUと13 GiBのメモリを指定した場合、システムは8 vCPUと14 GiBのメモリを含むインスタンスを作成します。

次の表は、Elastic Container Instanceでサポートされている仕様を示しています。

説明
  • vCPU数とメモリサイズを指定しない場合、システムはデフォルトで2 vCPUと4 GiBのメモリを使用してElastic Container Instanceを作成します。

  • 各Elastic Container Instanceには、1つのElastic Network Interface (ENI)のみをバインドできます。

  • すべての仕様のデフォルトの一時ストレージ容量は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.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数とメモリサイズを指定してポッドを作成できます。

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

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

limits、requests、またはeci-use-specsパラメーターを指定しない場合、またはこれらすべてのパラメーターを指定した場合は、システムは対応するポッド仕様に基づいてポッドを作成します。

シナリオ

ポッド仕様

limits、requests、およびeci-use-specsが指定されていない

システムは2 vCPUと4 GiBのメモリを使用してポッドを作成します。

limitsのみが指定されている

システムはすべてのコンテナのlimitsパラメーターの値を合計してポッドを作成します。

requestsのみが指定されている

システムはすべてのコンテナのrequestsパラメーターの値を合計してポッドを作成します。

limitsとrequestsの両方が指定されている

システムはすべてのコンテナのlimitsパラメーターの値を合計してポッドを作成します。すべてのコンテナのrequestsパラメーターは無視されます。

eci-use-specsのみが指定されている

システムはeci-use-specsパラメーターの値に基づいてポッドを作成します。

limitsとeci-use-specsが指定されている、またはrequestsとeci-use-specsが指定されている

システムはeci-use-specsパラメーターの値に基づいてポッドを作成します。

説明

すべてのコンテナのlimitsまたはrequestsパラメーターの値の合計、またはeci-use-specsパラメーターの値がElastic Container Instanceでサポートされていない場合、システムはポッド仕様を調整し、新しい仕様に基づいて課金されます。

ポッド内のコンテナのvCPU数とメモリサイズを指定する

この方法は、Kubernetesでポッドを作成するデフォルトの方法です。各ポッドには最大20個のコンテナを作成でき、各コンテナのvCPUとメモリの仕様を構成できます。各ポッドについて、すべてのコンテナのvCPUとメモリの仕様の合計は、ポッドのvCPUとメモリの仕様以下である必要があります。

説明

Elastic Container Instanceでは、特定のコンテナ(サイドカーコンテナなど)の環境変数を設定して、システムがリソースを調整する際にコンテナを無視することができます。これにより、リソースの無駄を防ぎます。詳細については、システムがリソースを調整する際に特定のコンテナを無視するを参照してください。

コンテナのlimitsパラメーターで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" 
    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のメモリを指定します。

ポッドのvCPU数とメモリサイズを指定する

システムは複数のECSインスタンスタイプを提供し、適切なインスタンスタイプを選択して、弾力性とリソースのプロビジョニングを向上させます。

説明

インスタンスファミリに特別な要件がある場合、たとえば、第6世代のECSインスタンスファミリのみを使用する場合、アノテーションを追加してECSインスタンスファミリの世代を指定できます。詳細については、ポッドを作成するためにECSインスタンスファミリの世代を指定するを参照してください。

この方法には、次の利点があります。

  • ポッド内のコンテナのvCPU数、メモリサイズ、またはリソース制限を指定する必要はありません。これにより、コンテナはリソースをより柔軟に共有できます。

  • 遺伝的計算とIstioのシナリオでは、サービスフレームワークはポッドにサイドカーコンテナを自動的にデプロイします。ポッドのvCPU数とメモリサイズを指定することで、Elastic Container Instanceをサービスフレームワークにシームレスに接続できます。

ポッドの構成ファイルのメタデータにアノテーションを追加して、ポッドの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"   # ポッドに2 vCPUと4 GiBのメモリを指定します。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
      - name: busybox
        image: registry.cn-shanghai.aliyuncs.com/eci_open/busybox:1.30
        command: ["sleep"]
        args: ["999999"]
        resources:
          limits:
            cpu: "500m"     #コンテナのvCPUの最大数を指定します。        
            memory: "1024Mi"   #コンテナのメモリの最大サイズを指定します。