Flask、Express、SpringBoot などの一般的なフレームワークを使用してプログラムを作成したり、既存のフレームワークアプリケーションを Function Compute に移行したりするために、Web 関数を作成できます。Function Compute は、関数レベルでリソースをスケジュールして実行します。関数は互いに独立しています。このトピックでは、コンソールで Web 関数を作成および管理する方法について説明します。
関数の作成
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のメニューバーでリージョンを選択します。関数リストページで、関数の作成をクリックします。
表示されるダイアログボックスで、Web 関数タイプを選択し、Web 関数の作成をクリックします。
Web 関数の作成ページで、次の設定項目を設定し、作成をクリックします。
基本設定:関数の仕様とインスタンス情報を設定します。
設定項目
説明
例
関数名
関数を識別するための一意のシンボルです。関数名は、同一アカウントおよび同一リージョン内で一意である必要があり、命名規則に準拠する必要があります。
myFunction
仕様プラン
ビジネスニーズに基づいて、関数の vCPU、メモリ、ディスクの仕様を設定します。仕様を設定した後、各リソースの使用量は、仕様に使用期間を乗じて課金されます。詳細については、「課金の概要」をご参照ください。
説明vCPU コアとメモリ (GB) の比率は 1:1 から 1:4 の間でなければなりません。
ディスク上のすべてのディレクトリは書き込み可能です。ディスク領域は共有されます。
ディスクサイズは、基盤となる関数のインスタンスのライフサイクルに関連付けられています。インスタンスがシステムによって回収されると、ディスク上のデータは失われます。ファイルを永続的に保存するには、NAS ファイルシステムまたは OSS バケットをマウントできます。詳細については、「NAS ファイルシステムの設定」および「OSS の設定」をご参照ください。
vCPU:0.35 vCPU
メモリ:512 MB
ディスク:512 MB (課金対象外、Function Compute は 10 GB のディスク領域の無料クォータを提供します)
インスタンスごとの同時実行数
単一の Web 関数インスタンスに対して複数の同時リクエストを設定できます。これは、単一の関数インスタンスが複数のリクエストを同時に処理できることを意味します。詳細については、「インスタンスごとの同時実行数の設定」をご参照ください。
20
弾力性設定:弾力性モードを選択します。
パラメーター
説明
例
最小インスタンス数
ビジネスがレイテンシーの影響を受けやすい場合は、最小インスタンス数を 1 以上に設定します。これにより、リソースが事前に割り当てられ、コールドスタートのレイテンシーが削減されます。
説明最小インスタンス数を 1 以上に設定し、最小インスタンス数の弾力性ポリシーが設定されていないか、一定期間有効でない場合、現在の最小インスタンス数はここで設定した値になります。
複数の弾力性ポリシーを設定した場合、システムはトリガーされた各ポリシーの最小インスタンス数を計算します。その後、システムは有効なポリシーの中で最も高い値を現在の最小インスタンス数として使用します。
詳細については、「現在の最小インスタンス数はどのように計算されますか?」をご参照ください。
有効
関数コード:関数のランタイムとコード情報を設定します。
設定項目
説明
例
ランタイム
カスタムランタイムを選択し、使い慣れた言語またはフレームワークを選択します。詳細については、「コード開発の概要」をご参照ください。
コードアップロード方法
Function Compute にコードをアップロードする方法を選択します。
サンプルコードの使用:デフォルトの方法です。Function Compute が提供するサンプルコードを選択して関数を作成します。
ZIP パッケージのアップロード:関数コードを含む ZIP パッケージを選択してアップロードします。
フォルダのアップロード:関数コードを含むフォルダを選択してアップロードします。
OSS からアップロード:アップロードする関数コードのバケット名とファイル名を選択します。
サンプルコードの使用
起動コマンド
プログラムの起動コマンドです。起動コマンドを設定しない場合は、コードのルートディレクトリに `bootstrap` という名前の起動スクリプトを手動で作成する必要があります。プログラムはこのスクリプトを使用して起動します。
npm run start
リッスンポート
コード内の HTTP サーバーがリッスンするポートです。
9000
実行タイムアウト
タイムアウト期間を設定します。デフォルトの実行タイムアウトは 60 秒です。最大値は 86,400 秒です。
60
権限、ネットワーク、ストレージ:関数のアクセスロール、ネットワーク設定、ストレージマウントを設定します。
パラメーター
説明
例
関数ロール
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 のパブリックネットワークへのアクセスを許可
関数がデフォルトのネットワークインターフェースカード (NIC) を介してパブリックネットワークにアクセスできるようにします。
重要固定パブリック IP アドレスを使用する場合、デフォルト NIC のパブリックネットワークへのアクセスを許可を無効にする必要があります。そうしないと、設定した固定パブリック IP アドレスが有効になりません。詳細については、「固定パブリック IP アドレスの設定」をご参照ください。
有効
NAS ファイルシステムのマウント
複数の推論関数で共有されるモデルなど、共有データを永続的に保存するために、NAS ファイルシステムを関数にマウントします。詳細については、「NAS ファイルシステムの設定」をご参照ください。
自動設定を選択した場合、システムは Alibaba-Fc-V3-Component-Generated という名前の既存の汎用 NAS ファイルシステムを使用します。アカウント内に適格な NAS ファイルシステムが存在しない場合、システムが作成します。
有効
OSS オブジェクトストレージのマウント
ログ、ビジネスファイル、その他のデータを永続的に保存するために、OSS バケットを関数にマウントします。詳細については、「Object Storage Service (OSS) の設定」をご参照ください。
有効
ログとトレース分析
パラメーター
説明
例
ログ機能
関数の実行ログを Simple Log Service に永続的に保存します。これは、コードのデバッグ、トラブルシューティング、データ分析に役立ちます。詳細については、「ログ機能の設定」をご参照ください。
自動設定:
serverless-<region_id>で始まるログプロジェクトを自動的に選択します。このようなログプロジェクトは各リージョンに 1 つだけ作成されます。システムが現在のリージョンにこのログプロジェクトが既に存在することを発見した場合、既存のプロジェクトを使用します。
カスタム設定:宛先のログプロジェクトと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 time out after」というエラーで関数の実行がタイムアウトした場合はどうすればよいですか?」をご参照ください。
頻繁に使用されない関数の呼び出し時間は長くなることがあります。その理由の詳細については、「頻繁に使用されない関数の呼び出し時間が長くなるのはなぜですか?」をご参照ください。弾力性インスタンスのコールドスタートのレイテンシーの影響をなくすには、最小インスタンス数を 1 以上に設定します。