Function Computeは、CPUインスタンスとGPU高速化インスタンスを提供します。 両方のタイプのインスタンスは、オンデマンドモードとプロビジョニングモードで使用できます。 オンデマンドインスタンスは、実際の実行期間に基づいて課金されます。 オンデマンドインスタンスをインスタンス同時実行機能とともに使用して、リソース使用率を向上させることができます。 プロビジョニング済みインスタンスの課金は、Function Computeがプロビジョニング済みインスタンスを開始すると開始され、インスタンスをリリースすると終了します。 プロビジョニングされたインスタンスは、コールドスタートを効果的に軽減できます。 このトピックでは、function Computeの関数インスタンスのタイプ、使用モード、課金方法、および仕様について説明します。
インスタンスタイプ
CPUインスタンス: Function Computeの基本インスタンスタイプ。 CPUインスタンスは、トラフィックが集中するシナリオや、計算負荷の高いワークロードに適しています。
GPU高速化インスタンス: GPU高速化にAmpereアーキテクチャとTuringアーキテクチャを使用するインスタンス。 GPU高速化インスタンスは、主にオーディオおよびビデオ処理、AI、画像処理のシナリオで使用されます。 このタイプのインスタンスは、ワークロードをGPUハードウェアにオフロードすることでビジネスを加速します。
次のトピックでは、さまざまなシナリオでのGPU高速化インスタンスのベストプラクティスについて説明します。
画像処理のベストプラクティス
重要GPU高速化インスタンスは、コンテナイメージを使用してのみデプロイできます。
GPU高速化インスタンスを使用する場合は、DingTalkユーザーグループ64970014484に参加し、次の情報を提供して、テクニカルサポートをタイムリーに提供できるようにします。
会社名などの組織名。
Alibaba CloudアカウントのID。
GPUアクセラレーションインスタンスを使用するリージョン。 例: 中国 (深セン) 。
携帯電話番号、メールアドレス、DingTalkアカウントなどの連絡先情報。
インスタンスモード
GPU高速化インスタンスとCPUインスタンスは、オンデマンドモードとプロビジョニングモードをサポートしています。 このセクションでは、2つの使用モードについて説明します。
オンデマンドモード
概要
オンデマンドインスタンスは、Function Computeによって割り当てられ、リリースされます。 Function Computeは、関数の呼び出し数に基づいてインスタンスを自動的にスケーリングします。 Function Computeは、関数の呼び出し数が増えるとインスタンスを作成し、関数の呼び出し数が減ると余分なインスタンスを破棄します。 オンデマンドインスタンスは、リクエストに応じて自動的に作成されます。 一定期間 (通常3〜5分) リクエストが送信されない場合、オンデマンドインスタンスは破棄されます。 初めてオンデマンドインスタンスを呼び出すと、コールドスタートが発生します。
デフォルトでは、各リージョンのAlibaba Cloudアカウントに対して、オンデマンドモードで最大300個のインスタンスを作成できます。 この制限を増やす必要がある場合は、DingTalkグループ64970014484に参加してテクニカルサポートを行います。
課金方法
オンデマンドインスタンスの課金は、リクエストが処理のためにインスタンスに送信されると開始され、リクエストが処理されると終了します。 オンデマンドインスタンスは、一度に1つ以上の要求を処理することができる。 詳細については、「インスタンス同時実行の設定」をご参照ください。
処理のためにリクエストが送信されない場合、インスタンスは割り当てられないため、料金は発生しません。 オンデマンドモードでは、関数が呼び出されたときにのみ課金されます。 料金と課金の詳細については、「課金の概要」をご参照ください。
インスタンスのリソース使用率を向上させる場合は、ビジネス要件に基づいてインスタンスの同時実行を設定することを推奨します。 この場合、複数のタスクがインスタンス上のCPUリソースとメモリリソースをプリエンプティブに共有し、リソース使用率を向上させます。
インスタンスの同時実行数 = 1
実行時間の測定は、リクエストがインスタンスに到着したときに開始され、リクエストが完全に実行されたときに終了します。
インスタンスの同時実行数 > 1
オンデマンドインスタンスの実行期間の測定は、最初のリクエストが受信されたときに開始され、最後のリクエストが完全に実行されたときに終了します。 リソースを再利用して、複数のリクエストを同時に処理できます。 このようにして、資源コストを削減することができる。
プロビジョニング済みモード
概要
プロビジョニングモードでは、関数インスタンスの割り当てとリリースを管理できます。 プロビジョニングされたインスタンスは、リリースしない限り保持されます。 呼び出し要求は、プロビジョニングされたインスタンスに優先的に配信されます。 プロビジョニングされたインスタンスがリクエストを処理するのに十分でない場合、Function Computeは過剰なリクエストを処理するためにオンデマンドインスタンスを割り当てます。 プロビジョニング済みインスタンスを削除する方法の詳細については、「プロビジョニング済みインスタンスの設定」をご参照ください。
コールドスタートが問題になる場合は、プロビジョニング済みインスタンスを使用することを推奨します。 固定数のプロビジョニング済みインスタンスを指定したり、リソース予算、ビジネスのトラフィック変動、リソース使用量のしきい値などの要因に基づいて、スケジュールされた自動スケーリングポリシーまたはメトリックベースのスケーリングポリシーを設定したりできます。 プロビジョニングされたインスタンスを使用すると、コールドスタートによるインスタンスの平均レイテンシが大幅に削減されます。
課金方法
アクティブインスタンス
通常、リクエストを処理するインスタンスはアクティブインスタンスです。 プロビジョニングモードでは、アイドルモードを有効にしないと、インスタンスは常にアクティブになります。 これらのプロビジョニングされたインスタンスの課金は、インスタンスの割り当て時に開始され、インスタンスのリリース時に終了します。 したがって、インスタンスがリリースされておらず、アイドルモードが有効になっていない場合、プロビジョニングされたインスタンスは、リクエストを処理していない場合でも、アクティブモードの料金に基づいて課金されます。
アイドルインスタンス
プロビジョニングされたインスタンスの場合、アイドルモードが有効になった後にインスタンスでリクエストが実行されていない場合、インスタンスはアイドル状態になります。 デフォルトでは、CPUインスタンスではアイドルモードが有効になり、GPUアクセラレーションインスタンスでは無効になります。 GPUアクセラレーションインスタンスのアイドルモードを手動で有効にすることができます。 アイドルモードを有効にすると、Function Computeはリクエストを処理していないプロビジョニング済みインスタンスのGPUまたはvCPUリソースをフリーズし、インスタンスはアイドル状態になります。この状態では、はるかに低い料金で課金されます。 詳細については、「コンバージョン率」をご参照ください。
次の図に示す例では、アイドルモードが有効になっており、プロビジョニング済みインスタンスの作成時にプロビジョニング済みインスタンスの課金が開始され、プロビジョニング済みインスタンスがリリースされると終了します。プロビジョニング済みインスタンスがリクエストを処理していない場合、インスタンスはアイドル状態になります。 インスタンスは、リクエストの処理を開始するとアクティブ状態になります。 料金は、以下の式に基づいて計算される。
料金=(総アイドルリソース使用量 × アイドルリソースの単価) + (総アクティブリソース使用量 × アクティブリソースの単価)
。
インスタンス仕様
CPU高速化インスタンス
次の表に、CPUインスタンスの仕様を示します。 ビジネス要件に基づいてインスタンス仕様を選択できます。
vCPU
メモリサイズ (MB)
最大コードパッケージサイズ (GB)
最大関数実行時間 (秒)
最大ディスクサイズ (GB)
最大帯域幅 (Gbit/s)
0.05-16
注: 値は0.05の倍数でなければなりません。
128-32768
注: 値は64の倍数でなければなりません。
10
86400
10
有効な値:
512 4,000 MB です。 デフォルト値です。
10 GBです。
5
説明vCPUとメモリ容量 (GB) の比率は1: Nです。Nは、1から4の範囲の値でなければならない。
GPU アクセラレーションインスタンス
次の表に、GPUアクセラレーションインスタンスの仕様を示します。 ビジネス要件に基づいてインスタンス仕様を設定できます。
説明fc.gpu.tesla.1 GPUインスタンスは、物理NVIDIA T4カードと基本的に同じGPUパフォーマンスを提供します。
fc.gpu.ampere.1 GPUインスタンスは、基本的に物理NVIDIA A10カードと同じGPUパフォーマンスを提供します。
インスタンス仕様
フルGPUサイズ (GB)
フルGPUカード (TFLOPS) の計算能力
利用可能な仕様
オンデマンドモード
通常のプロビジョニングモード
アイドル準備モード
FP16
FP32
vGPUメモリ (MB)
vGPUコンピューティングパワー (カード)
vCPU
メモリサイズ (MB)
fc.gpu.tesla.1
16
65
8
有効な値: 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仕様」セクションをご参照ください。
Y
Y
Y
fc.gpu.ampere.1
24
125
30
有効な値: 1024〜24576 (1 GB〜24 GB) 。
注: 値は1024の倍数でなければなりません。
値は次の式に基づいて計算されます: vGPUメモリ (GB)/24。 たとえば、vGPUメモリを5 GBに設定した場合、最大5/24枚のメモリカードを使用できます。
注: 計算能力はFunction Computeによって自動的に割り当てられ、手動で割り当てる必要はありません。
有効な値: [vGPU memory (GB)/3] の値に0.05されます。
注: 値は0.05の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。
有効な値: [vGPU memory (GB) x 4096)/3] の値に128されます。
注: 値は64の倍数でなければなりません。 詳細については、「GPU仕様」をご参照ください。
Y
Y
Y
fc.gpu.ada.1
48
119
60
49152 (48 GB)
注: 48 GB GPUメモリのみがサポートされています。
デフォルトでは、フルGPUカードのコンピュータパワーが割り当てられます。
注: 計算能力はFunction Computeによって自動的に割り当てられ、手動で割り当てる必要はありません。
有効値: 8。
注: 8 vCPUのみがサポートされています。
有効値: 65536
注: 64 GBメモリのみがサポートされています。
N
Y
Y
Function ComputeのGPU高速化インスタンスは、次のリソース仕様もサポートしています。
画像サイズ (GB)
最大関数実行時間 (秒)
最大ディスクサイズ (GB)
最大帯域幅 (Gbit/s)
Container Registry Enterprise Edition (Standard Edition): 15
Container Registry Enterprise Edition (Advanced Edition): 15
Container Registry Enterprise Edition (Basic Edition): 15
Container Registry Personal Edition (無料): 15
86400
10
5
説明インスタンスタイプをg1に設定することは、インスタンスタイプをfc.gpu.tesla.1に設定することと同じです。
TeslaシリーズGPUカードのGPU高速化インスタンスは、中国 (杭州) 、中国 (上海) 、中国 (北京) 、中国 (張家口) 、中国 (深セン) 、日本 (東京) 、米国 (バージニア) 、シンガポールの各リージョンでサポートされています。
AmpereシリーズGPUカードのGPU高速化インスタンスは、中国 (杭州) 、中国 (上海) 、日本 (東京) 、シンガポールの各リージョンでサポートされています。
AdaシリーズGPUカードのGPU高速化インスタンスは、中国 (北京) 、中国 (杭州) 、中国 (上海) 、中国 (深セン) の各リージョンでサポートされています。
GPU仕様
追加情報
自動スケーリングルールを設定するときに、アイドルモードを有効にできます。 詳細については、「プロビジョニング済みインスタンスポリシーの変更または削除」をご参照ください。
Function Computeの課金方法と課金可能項目の詳細については、「課金の概要」をご参照ください。
APIを呼び出して関数を作成する場合、
instanceType
パラメーターを使用してインスタンスタイプを指定できます。 詳細については、「CreateFunction」をご参照ください。Function Computeコンソールでインスタンスタイプとインスタンス仕様を指定する方法の詳細については、「web関数の作成」をご参照ください。