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

Function Compute:インスタンスタイプと使用モード

最終更新日:Jul 25, 2024

Function Computeは、エラスティックインスタンスとGPUアクセラレーションインスタンスを提供します。 両方のタイプのインスタンスは、オンデマンドモードとプロビジョニングモードで使用できます。 オンデマンドインスタンスは、実際の実行期間に基づいて課金されます。 オンデマンドインスタンスをインスタンス同時実行機能とともに使用して、リソース使用率を向上させることができます。 プロビジョニング済みインスタンスの課金は、Function Computeがプロビジョニング済みインスタンスを開始すると開始され、インスタンスをリリースすると終了します。 プロビジョニングされたインスタンスは、コールドスタートを効果的に軽減できます。 このトピックでは、function Computeの関数インスタンスのタイプ、使用モード、課金方法、および仕様について説明します。

インスタンスタイプ

  • Elasticインスタンス: Function Computeの基本的なインスタンスタイプ。 Elasticインスタンスは、トラフィックが集中しているシナリオや、計算負荷の高いワークロードに適しています。

  • GPU高速化インスタンス: GPU高速化にAmpereアーキテクチャとTuringアーキテクチャを使用するインスタンス。 GPU高速化インスタンスは、主にオーディオおよびビデオ処理、人工知能 (AI) 、および画像処理シナリオで使用されます。 このタイプのインスタンスは、ワークロードをGPUハードウェアにオフロードすることでビジネスを加速します。

    次のトピックでは、さまざまなシナリオでのGPU高速化インスタンスのベストプラクティスについて説明します。

    重要
    • GPU高速化インスタンスは、コンテナイメージを使用してのみデプロイできます。

    • 最適なユーザーエクスペリエンスを得るには、GPUアクセラレーションインスタンスを使用する場合は、DingTalkグループ11721331に参加してテクニカルサポートを行います。 DingTalkグループに参加するときに、次の情報を入力します。

      • 会社名などの組織名。

      • Alibaba CloudアカウントのID。

      • GPUアクセラレーションインスタンスを使用するリージョン。 例: 中国 (深セン) 。

      • 携帯電話番号、メールアドレス、DingTalkアカウントなどの連絡先情報。

使用モード

GPU高速化インスタンスとエラスティックインスタンスは、オンデマンドモードとプロビジョニングモードをサポートしています。 このセクションでは、2つの使用モードについて説明します。

オンデマンドモード

概要

オンデマンドインスタンスは、Function Computeによって割り当てられ、リリースされます。 Function Computeは、関数の呼び出し数に基づいてインスタンスを自動的にスケーリングします。 Function Computeは、関数の呼び出し数が増えるとインスタンスを作成し、関数の呼び出し数が減ると余分なインスタンスを破棄します。 オンデマンドインスタンスは、リクエストに応じて自動的に作成されます。 一定期間 (通常3〜5分) リクエストが送信されない場合、オンデマンドインスタンスは破棄されます。 初めてオンデマンドインスタンスを呼び出すときは、インスタンスのコールドスタートが完了するまで待つ必要があります。

デフォルトでは、各リージョンのAlibaba Cloudアカウントに対して最大300個のオンデマンドインスタンスを作成できます。 上限を増やす場合は、DingTalkグループ11721331に参加してテクニカルサポートを行います。

課金ルール

オンデマンドインスタンスの課金は、リクエストが処理のためにインスタンスに送信されると開始され、リクエストが処理されると終了します。 各オンデマンドインスタンスは、一度に1つ以上の要求を処理することができる。 詳細については、「インスタンス同時実行の設定」をご参照ください。

処理のためにリクエストが送信されない場合、インスタンスは割り当てられないため、料金は発生しません。 オンデマンドモードでは、関数が呼び出されたときにのみ課金されます。 料金と課金の詳細については、「課金の概要」をご参照ください。

説明

ビジネス要件に基づいてインスタンス同時実行機能を使用して、リソース使用率を向上させることができます。 この場合、複数のタスクがインスタンス上のCPUリソースとメモリリソースをプリエンプティブに共有し、リソース使用率を向上させます。

インスタンスの同時実行性=1

実行時間の測定は、リクエストがインスタンスに到着したときに開始され、リクエストが完全に実行されたときに終了します。

image

インスタンスの同時実行性> 1

実行期間の測定は、最初のリクエストがインスタンスに送信されたときに開始され、最後のリクエストが完全に実行されたときに終了します。 リソースを再利用して、複数のリクエストを同時に処理できます。 このようにして、資源コストを削減することができる。

image

プロビジョニング済みモード

概要

プロビジョニングモードでは、関数インスタンスの割り当てとリリースを管理できます。 プロビジョニングされたインスタンスは、リリースしない限り保持されます。 プロビジョニングされたインスタンスは、オンデマンドインスタンスよりも優先されます。 プロビジョニングされたインスタンスがすべてのリクエストを処理するのに十分でない場合、Function Computeは残りのリクエストを処理するためにオンデマンドインスタンスを割り当てます。 プロビジョニング済みインスタンスを削除する方法の詳細については、「プロビジョニング済みインスタンスと自動スケーリングルールの設定」をご参照ください。

説明

コールドスタートが問題になる場合は、プロビジョニング済みインスタンスを使用することを推奨します。 固定数のプロビジョニング済みインスタンスを指定したり、リソース予算、ビジネスのトラフィック変動、リソース使用量のしきい値などの要因に基づいて、スケジュールされた自動スケーリングポリシーまたは水位自動スケーリングポリシーを設定したりできます。 プロビジョニングされたインスタンスを使用すると、インスタンスの平均コールドスタート待ち時間が大幅に短縮されます。

アイドルモード

Elasticインスタンス

エラスティックインスタンスの状態は、vCPUリソースが割り当てられているかどうかに基づいて、アクティブ状態とアイドル状態に分類されます。 デフォルトでは、アイドルモード機能は無効になっています。

  • アクティブ状態

    インスタンスがリクエストを処理している場合、またはアイドルモード機能が無効になっている場合、インスタンスはアクティブと見なされます。 アイドルモードを無効にすると、インスタンスがリクエストを処理しているかどうかに関係なく、vCPUは常にプロビジョニングされたインスタンスに割り当てられます。 バックグラウンドタスクの実行は影響を受けません。

  • アイドル状態

    アイドルモードを有効にすると、インスタンスがリクエストを処理していないときに、Function ComputeはプロビジョニングされたインスタンスのvCPUをフリーズします。 この場合、プロビジョニングされたインスタンスはアイドル状態になります。 アイドル状態のインスタンスのvCPUリソースに対して課金されないため、コストを節約できます。 インスタンスにPreFreezeフックが設定されている場合、PreFreezeフックが実行されると、インスタンスはアイドル状態になります。 それ以外の場合、インスタンスはリクエストの処理を完了するとすぐにアイドル状態になります。 インスタンスの状態の詳細については、「Functionインスタンスのライフサイクル」をご参照ください。

ビジネス要件に基づいて、アイドルモード機能を有効にするかどうかを選択できます。

  • コスト

    プロビジョニングされたインスタンスを使用してコールドスタートを軽減し、コストを節約したい場合は、アイドルモード機能を有効にすることを推奨します。 この機能により、プロビジョニングされたインスタンスがアイドル状態の場合、プロビジョニングされたインスタンスのメモリおよびディスクリソースに対してのみ料金を支払うことができ、コールドスタートなしでリクエストに応答できます。

  • バックグラウンドタスク

    関数がバックグラウンドタスクを実行する必要がある場合は、アイドルモード機能を有効にしないことをお勧めします。 次の項目は、シナリオの例を示します。

    • 一部のアプリケーションフレームワークは、組み込みのスケジューラまたはバックグラウンド機能に依存しています。 一部の依存ミドルウェアは、定期的にハートビートを報告する必要があります。

    • 一部の非同期操作は、Goを使用するGoroutine軽量スレッド、Node.jsを使用するasync関数、またはJavaを使用する非同期スレッドを使用して実行されます。

GPU高速化インスタンス

GPU高速化インスタンスの状態は、vCPUおよびGPUリソースが割り当てられているかどうかに基づいて、アクティブ状態とアイドル状態に分類できます。 デフォルトでは、GPU高速化インスタンスのアイドルモード機能は無効になっています。

  • アクティブ状態

    インスタンスがリクエストを処理している場合、またはアイドルモードが無効になっている場合、インスタンスはアクティブと見なされます。 アイドルモードを有効にした場合、Function Computeは、インスタンスがリクエストを処理していないときに、プロビジョニングされたインスタンスのvCPUおよびGPUリソースをフリーズします。 この場合、プロビジョニングされたインスタンスはアイドル状態になります。

  • アイドル状態

    アイドルモードが有効になっているプロビジョニング済みインスタンスは、リクエストを処理していない場合はアイドルと見なされます。

    説明

    アイドルモードを使用するには、GPUアクセラレーションインスタンスに16 GB (T4) または24 GB (A10) のGPUを設定する必要があります。 DingTalkグループ11721331に参加して、アイドルモード機能の使用をリクエストできます。

課金ルール

  • アクティブ状態

    プロビジョニングされたインスタンスの課金は、リクエストを処理したかどうかに関係なく、プロビジョニングされたインスタンスが作成されたときに開始され、プロビジョニングされたインスタンスがリリースされたときに終了します。 Function Computeの料金と課金の詳細については、「課金の概要」をご参照ください。

    image
  • アイドル状態

    • アイドル状態のインスタンスのvCPUに対しては課金されません。 詳細については、「課金の概要」をご参照ください。

    • GPUインスタンス: 「課金の概要」をご参照ください。

インスタンス仕様

  • Elasticインスタンス

    次の表に、エラスティックインスタンスの仕様を示します。 ビジネス要件に基づいてインスタンス仕様を設定できます。

    vCPU

    メモリサイズ (MB)

    最大コードパッケージサイズ (GB)

    最大関数実行時間 (秒)

    最大ディスクサイズ (GB)

    最大帯域幅 (Gbit/s)

    0.05から16。

    値は0.05の倍数でなければなりません。

    32768に128。

    値は64の倍数でなければなりません。

    10

    86400

    10

    有効な値:

    • 512 4,000 MB です。 デフォルト値です。

    • 10 GBです。

    5

    説明

    vCPUとメモリ容量 (GB) の比率は1: Nです。Nは、1から4の範囲の値でなければならない。

  • GPU高速化インスタンス

    次の表に、GPUアクセラレーションインスタンスの仕様を示します。 ビジネス要件に基づいてインスタンス仕様を設定できます。

    インスタンス仕様

    カードタイプ

    vGPUメモリ (MB)

    vGPUコンピューティングパワー (カード)

    vCPU

    メモリサイズ (MB)

    fc.gpu.tesla.1

    テスラT4

    有効な値: 1024〜16384 (1 GB〜16 GB) 。

    注: 値は1024の倍数でなければなりません。

    値は、次の式に基づいて計算されます。vGPU計算能力=vGPUメモリ (GB)/16。 たとえば、vGPUメモリを5 GBに設定した場合、vGPUの最大計算能力は5/16メモリカードです。

    計算能力はFunction Computeによって自動的に割り当てられ、手動で割り当てる必要はありません。

    有効な値: [vGPU memory (GB)/2] の値に0.05されます。

    注: 値は0.05の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。

    有効な値: [vGPU memory (GB) x 2048] の値に128されます。

    注: 値は64の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。

    fc.gpu.ampere.1

    アンペアA10

    有効な値: 1024〜24576 (1 GB〜24 GB) 。

    注: 値は1024の倍数でなければなりません。

    この値は、次の式に基づいて計算されます。vGPU computing power = vGPU memory (GB)/24。 たとえば、vGPUメモリを5 GBに設定した場合、vGPUの最大計算能力は5/24メモリカードです。

    計算能力はFunction Computeによって自動的に割り当てられ、手動で割り当てる必要はありません。

    有効な値: [vGPU memory (GB)/3] の値に0.05されます。

    注: 値は0.05の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。

    有効値: [(vGPU memory (GB) x 4096)/3] の値に128されます。

    注: 値は64の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。

    Function ComputeのGPU高速化インスタンスは、次のリソース仕様もサポートしています。

    画像サイズ (GB)

    最大関数実行時間 (秒)

    最大ディスクサイズ (GB)

    最大帯域幅 (Gbit/s)

    Container Registry Enterprise Edition (Standard Edition): 10

    Container Registry Enterprise Edition (Advanced Edition): 10

    Container Registry Enterprise Edition (Basic Edition): 10

    Container Registry Personal Edition (無料): 10

    86400

    10

    5

    説明
    • インスタンスタイプをg1として指定すると、fc.gpu.tesla.1インスタンス仕様を選択するのと同じ効果が得られます。

    • T4タイプのGPUアクセラレーションインスタンスは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (張家口) 、中国 (深セン) 、日本 (東京) 、米国 (バージニア) 、シンガポールの各リージョンでサポートされています。

    • A10タイプのGPUアクセラレーションインスタンスは、中国 (杭州) 、中国 (上海) 、日本 (東京) 、およびシンガポールの各リージョンでサポートされています。

GPU仕様

展開して詳細を表示します。fc.gpu.tesla.1.

vGPUメモリ (MB)

vCPU

最大メモリサイズ (GB)

メモリサイズ (MB)

1024

0.5に0.05

2

2048に128

2048

1に0.05

4

4096に128

3072

1.5に0.05

6

6144に128

4096

2に0.05

8

8192に128

5120

2.5に0.05

10

10240に128

6144

3に0.05

12

12288に128

7168

3.5に0.05

14

14336に128

8192

4に0.05

16

16384に128

9216

4.5に0.05

18

18432に128

10240

5 0.05

20

20480に128

11264

5.5に0.05

22

22528に128

12288

6に0.05

24

24576に128

13312

6.5に0.05

26

26624に128

14336

0.05 7

28

28672に128

15360

7.5に0.05

30

30720に128

16384

0.05 8

32

32768に128

展開して詳細を表示します。fc.gpu.ampere.1.

vGPUメモリ (MB)

vCPU

最大メモリサイズ (GB)

メモリサイズ (MB)

1024

0.3に0.05

1.3125

1344に128

2048

0.65に0.05

2.625

2688に128

3072

1に0.05

4

4096に128

4096

1.3に0.05

5.3125

5440に128

5120

1.65に0.05

6.625

6784に128

6144

2に0.05

8

8192に128

7168

2.3に0.05

9.3125

9536に128

8192

2.65に0.05

10.625

10880に128

9216

3に0.05

12

12288に128

10240

3.3に0.05

13.3125

13632に128

11264

3.65に0.05

14.625

14976に128

12288

4に0.05

16

16384に128

13312

4.3に0.05

17.3125

17728に128

14336

4.65に0.05

18.625

19072に128

15360

5 0.05

20

20480に128

16384

5.3に0.05

21.3125

21824に128

17408

5.65に0.05

22.625

23168に128

18432

6に0.05

24

24576に128

19456

6.3に0.05

25.3125

25920に128

20480

6.65に0.05

26.625

27264に128

21504

0.05 7

28

28672に128

22528

7.3に0.05

29.3125

30016に128

23552

7.65に0.05

30.625

31360に128

24576

0.05 8

32

32768に128

追加情報

  • 自動スケーリングルールを設定するときに、アイドルモード機能を有効にできます。 詳細については、「自動スケーリングルールの設定」をご参照ください。

  • Function Computeの課金方法と課金可能項目の詳細については、「課金の概要」をご参照ください。

  • Function Computeコンソールでインスタンスのタイプと仕様を指定する方法の詳細については、「web関数の作成」をご参照ください。