コンテナイメージを使用することで、GPU インスタンスを必要とするアプリケーションを関数としてデプロイできます。このアプローチは、Stable Diffusion WebUI、ComfyUI、検索拡張生成 (RAG)、TensorRT などの人気の AI プロジェクトに最適です。コンテナイメージを使用して関数を配信することで、開発と配信の効率が向上します。
関数の作成
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のメニューバーでリージョンを選択します。関数リストページで、関数の作成をクリックします。
表示されたダイアログボックスで GPU 関数を選択し、GPU 関数の作成をクリックします。
GPU 関数の作成ページで、以下のパラメーターを設定し、作成をクリックします。
基本設定:関数名を入力します。名前は、同じ Alibaba Cloud アカウントおよびリージョン内で一意である必要があり、命名規則に従う必要があります。
弹性設定:インスタンスタイプを選択します。プロビジョニング済みインスタンスとオンデマンドインスタンスを同時に使用することはできません。関数が作成された後、インスタンスタイプを変更することはできません。
オンデマンドインスタンス
設定項目
説明
例
インスタンスタイプ
オンデマンドインスタンスを選択します。インスタンスはリクエスト量に基づいて自動的にスケーリングされ、リクエストがない場合は解放されます。使用した分だけ課金されます。
オンデマンドインスタンス
GPU カードタイプ
GPU カードタイプを選択します。異なるカードタイプでサポートされている仕様の詳細については、「インスタンスタイプと仕様」をご参照ください。
Ada シリーズ
仕様
ビジネスニーズに応じて、関数の GPU メモリ、vCPU、メモリ、ディスクの仕様を設定します。仕様を設定した後、各リソースの使用量は、仕様に使用期間を乗じて計算されます。詳細については、「課金の概要」をご参照ください。
説明ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。
ディスクは、基盤となる関数のインスタンスのライフサイクルに紐付けられています。システムがインスタンスを回収すると、ディスク上のデータは失われます。永続ストレージが必要な場合は、NAS ファイルシステムまたは OSS バケットをマウントできます。詳細については、「NAS ファイルシステムの設定」および「Object Storage Service の設定」をご参照ください。
GPU メモリ:48 GB
vCPU:8 vCPU
メモリ:64 GB
ディスク:512 MB (課金対象外、Function Compute は 10 GB の無料ディスク領域クォータを提供します)
最小インスタンス数
ビジネスが遅延の影響を受けやすい場合、弹性インスタンスを選択した後、最小インスタンス数を 1 以上に設定してリソースを事前に確保し、コールドスタートの遅延を減らすことを推奨します。
説明最小インスタンス数を 1 以上に設定した後、最小インスタンス数の弹性ポリシーが設定されていない場合、または一定期間アクティブな弹性ポリシーがない場合、現在の最小インスタンス数はここで設定した値になります。
複数の弹性ポリシーが設定されている場合、システムは各ポリシーがトリガーされたときに必要な最小インスタンス数を計算します。その後、システムはアクティブなポリシーの中で最も高い値を現在の最小インスタンス数として使用します。
詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。
1
インスタンスあたりの同時実行数
単一の GPU 関数インスタンスに対して複数の同時リクエストを設定できます。これは、単一のインスタンスが複数のリクエストを同時に処理できることを意味します。詳細については、「インスタンスあたりの同時実行数の設定」をご参照ください。
プロビジョニング済みインスタンス
設定項目
説明
例
インスタンスタイプ
プロビジョニング済みインスタンスを選択します。インスタンスは、事前に購入したプロビジョニング済みリソースプールから関数に割り当てられます。
プロビジョニング済みインスタンスは、予測可能なコスト、低遅延、高いリソース使用率がビジネスの安定性を確保するために重要なシナリオで推奨されます。
プロビジョニング済みインスタンス
プロビジョニング済みリソースプール
プロビジョニング済みリソースプールは、ターゲット関数に割り当てることができるプロビジョニング済みインスタンスのプールです。プロビジョニング済みリソースプールの容量が不足している場合は、操作列の スケールアウトをクリックし、画面の指示に従って拡張します。詳細については、「プロビジョニング済みリソースプール (サブスクリプション)」をご参照ください。
プロビジョニング済みリソースプール:fc-pool-****
GPU カードタイプ:Ada
仕様
ビジネスニーズに応じて、関数の GPU メモリ、vCPU、メモリ、ディスクの仕様を設定します。仕様を設定した後、各リソースの使用量は、仕様に使用期間を乗じて計算されます。詳細については、「課金の概要」をご参照ください。
説明ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。
ディスクは、基盤となる関数のインスタンスのライフサイクルに紐付けられています。システムがインスタンスを回収すると、ディスク上のデータは失われます。永続ストレージが必要な場合は、NAS ファイルシステムまたは OSS バケットをマウントできます。詳細については、「NAS ファイルシステムの設定」および「Object Storage Service の設定」をご参照ください。
GPU メモリ:48 GB
vCPU:8 vCPU
メモリ:64 GB
ディスク:512 MB (課金対象外、Function Compute は 10 GB の無料ディスク領域クォータを提供します)
プロビジョニング済みインスタンス数
プロビジョニング済みリソースプールで利用可能なリソースに基づいて、ターゲット関数にプロビジョニング済みインスタンスの数を割り当てます。
1
インスタンスあたりの同時実行数
単一の GPU 関数インスタンスに対して複数の同時リクエストを設定できます。これは、単一のインスタンスが複数のリクエストを同時に処理できることを意味します。詳細については、「インスタンスあたりの同時実行数の設定」をご参照ください。
20
関数コード:関数のランタイム環境とコードを設定します。
設定項目
説明
例
ランタイム環境
サンプルイメージの使用:Function Compute が提供するサンプルイメージを選択して、イメージベースの関数を迅速にデプロイします。コンテナイメージ設定項目の下のイメージリストからターゲットイメージを選択します。
ACR からのイメージの使用:コンテナイメージ設定項目で、ACR からイメージを選択をクリックします。コンテナイメージの選択パネルで、作成した Container Registry インスタンスと ACR イメージリポジトリを選択します。次に、下のイメージエリアでターゲットイメージを見つけ、操作列の選択をクリックします。詳細については、「カスタムイメージを使用する関数の作成」をご参照ください。
コンテナイメージ
ターゲットイメージを選択します。
SpringBoot Web アプリケーションサンプルイメージ
起動コマンド
プログラムの起動コマンド。起動コマンドを設定しない場合、デフォルトでイメージの Entrypoint/CMD が使用されます。
なし
リスナーポート
コード内の HTTP サーバーがリッスンするポート。
9000
実行タイムアウト
タイムアウト期間を設定します。デフォルトの実行タイムアウトは 60 秒で、最大は 86400 秒です。
60
インスタンスのプリフェッチ:AI 推論シナリオでは、インスタンスのプリフェッチを設定してモデルを事前にウォームアップできます。これにより、最初のリクエストのコールドスタート遅延が解消されます。
設定項目
説明
例
インスタンスのプリフェッチ
インスタンスのプリフェッチ
Initializer フックを設定してインスタンスをウォームアップし、コールドスタートを最適化します。このフックは、関数インスタンスが起動した後、リクエストを処理する前に、指定されたスクリプトを実行するか、インターフェイスを呼び出してモデルをロードします。
Initializer フックの詳細については、「インスタンスのライフサイクルの設定」をご参照ください。
有効
タイムアウト
Initializer フックのタイムアウト期間を設定します。
60
プリフェッチプログラムタイプ
モデルをウォームアップするために、命令の実行とコードの呼び出しの 2 種類の Initializer フックを設定できます。
命令の実行
命令の内容
実行する命令の内容を設定します。
/bin/bash、/bin/sh、/bin/csh、/bin/zshなどのカスタムシェル実装を使用できます。関数のランタイム環境が選択したシェルをサポートしていることを確認してください。「コールバックメソッドの実装」をご参照ください
権限、ネットワーク、ストレージ:関数のアクセスロール、ネットワーク設定、ストレージマウントを設定します。
パラメーター
説明
例
関数ロール
Function Compute プラットフォームは、この RAM ロールを使用して Alibaba Cloud サービスにアクセスするための一時キーを生成し、それをコードに渡します。詳細については、「関数ロールを使用して Function Compute に他の Alibaba Cloud サービスへのアクセス権を付与する」をご参照ください。
mytestrole
VPC へのアクセスを許可
これを有効にすると、関数が VPC 内のリソースにアクセスできるようになります。詳細については、「ネットワーク設定の構成」をご参照ください。
有効
VPC
VPC へのアクセスを許可をはいに設定した場合に必須です。新しい VPC を作成するか、ドロップダウンリストから VPC ID を選択します。
fc.auto.create.vpc.1632317****
VSwitch
VPC へのアクセスを許可をはいに設定した場合に必須です。新しい vSwitch を作成するか、ドロップダウンリストから vSwitch ID を選択します。
fc.auto.create.vswitch.vpc-bp1p8248****
セキュリティグループ
VPC へのアクセスを許可をはいに設定した場合に必須です。新しいセキュリティグループを作成するか、ドロップダウンリストからセキュリティグループを選択します。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
デフォルト NIC のパブリックネットワークへのアクセスを許可
関数がデフォルトのネットワークインターフェイスカードを介してパブリックネットワークにアクセスすることを許可します。
重要固定パブリック IP アドレスを使用する場合、デフォルト NIC のパブリックネットワークへのアクセスを許可を無効にする必要があります。そうしないと、設定された固定パブリック IP アドレスは有効になりません。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。
有効
NAS ファイルシステムのマウント
NAS ファイルシステムを関数にマウントして、複数の推論関数で共有されるモデルなどの共有データを永続的に保存します。詳細については、「NAS ファイルシステムの設定」をご参照ください。
自動設定を選択すると、システムは Alibaba-Fc-V3-Component-Generated という名前の既存の汎用型 NAS ファイルシステムを使用します。ご利用のアカウントに該当する NAS ファイルシステムが存在しない場合、システムが作成します。
有効
OSS オブジェクトストレージのマウント
Object Storage Service (OSS) バケットを関数にマウントして、ログ、ビジネスファイル、その他のデータを永続的に保存します。詳細については、「Object Storage Service (OSS) の設定」をご参照ください。
有効
ログとトレース分析
パラメーター
説明
例
ログ機能
関数の実行ログを Simple Log Service に永続的に保存します。これは、コードのデバッグ、トラブルシューティング、データ分析に役立ちます。詳細については、「ロギング機能の設定」をご参照ください。
自動設定:
serverless-<region_id>で始まる Log Project を自動的に選択します。このような Log Project は各リージョンに 1 つだけ作成されます。システムが現在のリージョンにこの Log Project が既に存在することを発見した場合、既存のプロジェクトを使用します。
カスタム設定:宛先の Log Project と Logstore を手動で指定します。
有効
その他の設定
パラメーター
説明
例
タイムゾーン
関数のタイムゾーンを選択します。これにより、TZ 環境変数が、選択したタイムゾーンを値として関数に自動的に追加されます。
UTC
タグ
関数をグループ化して管理するために、関数のタグを設定します。タグキーとタグ値の両方を設定する必要があります。
key : value
リソースグループ
関数のリソースグループを選択します。リソースグループを使用して、関数をグループで管理します。
デフォルトリソースグループ
環境変数
環境変数を使用して、コードを変更することなく関数の動作を柔軟に調整します。詳細については、「環境変数の設定」をご参照ください。
{ "BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE" }
関数の編集
関数が作成された後、関数詳細ページの [設定] タブでランタイムを編集することで、そのイメージを変更できます。

環境変数やログストレージ設定の変更など、その他の変更については、「関数の設定」をご参照ください。
関数の削除
Function Compute コンソールにログインします。関数リストページで、削除する関数を見つけ、操作列の 削除をクリックします。表示されたダイアログボックスで、関数にトリガーや最小インスタンス数の弹性ポリシーなどのアタッチされたリソースがないことを確認します。その後、削除を確定します。
関数 ARN の取得
Alibaba Cloud リソース名 (ARN) は、コード内で Alibaba Cloud リソースを識別するために使用されます。関数の ARN を取得して参照できます。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のメニューバーでリージョンを選択します。次に、関数リストページで、関数の名前をクリックします。
関数詳細ページで、右側の ARN のコピーをクリックして、ターゲット関数の ARN を取得します。

関連ドキュメント
Function Compute は、さまざまなシナリオに対応するために、イベント関数、Web 関数、タスク関数、GPU 関数の 4 種類の関数を提供しています。シナリオに適した関数タイプの選択方法については、「技術選定ガイド」をご参照ください。
コンソールに加えて、Function Compute は、関数を管理するための API と Serverless Devs ツールを提供しています。詳細については、「CreateFunction」および「Serverless Devs クイックスタート」をご参照ください。
関数の実行がタイムアウトした場合は、「「Function timeout」エラーが発生した場合の対処法」をご参照ください。
呼び出し頻度の低い関数は、呼び出し時間が長くなることがあります。その理由の詳細については、「なぜ使用頻度の低い関数は呼び出し時間が長くなるのですか?」をご参照ください。コールドスタートの遅延の影響をなくすには、最小インスタンス数を 1 以上に設定します。