Flask、Express、Spring Bootなどの一般的なフレームワークに基づいてプログラムを作成する場合、または既存のフレームワークアプリケーションをFunction Computeに移行する場合は、関数を作成するときに [Web Function] を選択します。 Function Computeのリソースは、関数に基づいてスケジュールされ、実行されます。 関数は互いに独立しています。 このトピックでは、Function Computeコンソールでweb関数を作成および管理する方法について説明します。
関数を作成
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、[関数の作成] をクリックします。
[関数の作成] ページで、[Web関数] を選択し、次のセクションのパラメーターを設定し、[作成] をクリックします。
基本設定: [関数名] パラメーターを設定します。
コード: 関数のランタイムとコード関連の情報を設定します。 下表に、各パラメーターを説明します。
パラメーター
説明
例
ランタイム
[カスタムランタイム] を選択し、プログラミング言語またはフレームワークを選択することを推奨します。 詳細については、「概要」トピックの「カスタムランタイム」セクションを参照してください。
イベント関数を作成する場合は、[組み込みランタイム] を選択します。 詳細については、「イベント関数の作成」をご参照ください。
GPU関数を作成する場合は、[カスタムイメージ] を選択します。 詳細については、「GPU関数の作成」をご参照ください。
この例では、[カスタムランタイム] が選択されています。
Node.js 16
コードのアップロード方法
Function Computeにコードをアップロードするために使用するメソッド。 有効な値:
サンプルコードの使用: Function Computeが提供するサンプルコードを選択して、ビジネス要件に基づいて関数を作成できます。 これはデフォルトの方法です。
アップロードZIP: を選択してアップロードします。関数コードを含むzipファイル。
フォルダのアップロード: 関数コードを含むフォルダを選択してアップロードします。
OSS: Object Storage Service (OSS) バケットからコードをアップロードします。 この場合、[バケット名] および [オブジェクト名] パラメーターを指定する必要があります。
サンプルコードの使用
Startupコマンド
プログラムの起動コマンド。 スタートアップコマンドを設定しない場合は、コードのルートディレクトリにbootstrapという名前のスタートアップスクリプトを手動で作成する必要があります。 ブートストラップスクリプトを使用してプログラムを起動できます。
npm実行開始
リスニングポート
コード内のHTTPサーバーがリッスンするポート。
9000
詳細設定: インスタンス情報と関数実行タイムアウト期間を設定します。
パラメーター
説明
例
リソースプランの仕様
ビジネス要件に基づいて、vCPU容量およびメモリ容量パラメーターを設定します。 リソースの課金の詳細については、「課金の概要」をご参照ください。
説明vCPU容量とメモリ容量 (GB) の比率は、1:1から1:4に設定する必要があります。
0.35 vCPU、512 MB
一時ディスクのサイズ
ファイルを一時的に格納するために使用するディスクのサイズ。
有効な値:
512 MB (デフォルト): このサイズの一時ディスクの使用には課金されません。 Function Computeは、512 MBの空きディスクを提供します。
10 GB: 9.5 GBのディスクサイズに基づいて課金されます。
説明データは一時ディスクのスペースを共有し、ディスク内のすべてのディレクトリに書き込むことができます。
一時ディスクのライフサイクルは、基盤となるインスタンスのライフサイクルと一致しています。 インスタンスがシステムによってリサイクルされた後、ディスク上のデータは消去されます。 データを保持するには、File Storage NAS (NAS) またはOSSを使用できます。 詳細については、「NASファイルシステムの設定」および「OSSファイルシステムの設定」をご参照ください。
512 MB
実行タイムアウト期間
関数実行のタイムアウト期間。 デフォルト値: 60。 最大値: 86400。 単位: 秒。
60
インスタンスの同時実行
Function Computeは、インスタンスの同時実行機能をサポートしています。これにより、インスタンスは一度に複数のリクエストを処理できます。 このパラメーターには、関数インスタンスが一度に処理できるリクエストの最大数を指定します。 詳細については、「インスタンス同時実行の設定」をご参照ください。
20
タイムゾーン
関数のタイムゾーン。 関数のタイムゾーンを指定すると、環境変数TZが関数に自動的に追加されます。 値は、指定したタイムゾーンです。
UTC
関数の役割
関数のリソースアクセス管理 (RAM) ロール。 Function Computeはこのロールを使用して、Alibaba Cloudリソースにアクセスするための一時的なAccessKeyペアを生成し、AccessKeyペアをコードに渡します。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。
mytestrole
VPCへのアクセス
仮想プライベートクラウド (VPC) リソースへのアクセスを許可するかどうかを指定します。 詳細については、「ネットワーク設定の構成」をご参照ください。
対象
[VPC]
このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 VPCを作成するか、ドロップダウンリストからアクセスする既存のVPCを選択できます。
fc.auto.create.vpc.1632317 ****
vSwitch
このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 vSwitchを作成するか、ドロップダウンリストから既存のvSwitchを選択できます。
fc.auto.create.vswitch.vpc-bp1p8248 ****
[セキュリティグループ]
このパラメーターは、[VPCへのアクセス] パラメーターを [はい] に設定した場合に必要です。 セキュリティグループを作成するか、ドロップダウンリストから既存のセキュリティグループを選択できます。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd ****
デフォルトNICによるインターネットへのアクセス許可
デフォルトのNIC (network interface controller) を使用してインターネットへのアクセスを許可するかどうかを指定します。 [いいえ] を選択した場合、関数はfunction ComputeのデフォルトNICを介してインターネットにアクセスできません。
重要静的パブリックIPアドレスを使用する場合は、[既定のNICからインターネットへのアクセスを許可] パラメーターを [いいえ] に設定する必要があります。 それ以外の場合、設定された静的パブリックIPアドレスは有効になりません。 詳細については、「静的パブリックIPアドレスの設定」をご参照ください。
対象
ロギング
ロギング機能を有効にするかどうかを指定します。 有効な値:
有効化: 関数実行ログは、コードのデバッグ、障害分析、およびデータ分析のためにSimple Log Service (SLS) に永続的に保存されます。
無効: SLSを使用して関数実行ログを保存またはクエリすることはできません。
有効にする
環境変数: 関数のランタイムで環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。
関数の変更
このセクションでは、関数コードを変更する方法と、関数コードをインポートおよびエクスポートする方法について説明します。 関数の設定方法の詳細については、「関数の設定」をご参照ください。
[関数の詳細] ページで、[コード] タブで関数のコードを変更します。 左側のナビゲーションツリーでコードに変更が加えられていることが示されている場合は、[関数のテスト] をクリックする前に、[デプロイ] をクリックして変更されたコードを有効にする必要があります。
コードをエクスポートしてバックアップするか、デプロイ用のコードをアップロードします。
関数の削除
Function Compute コンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、削除する関数を見つけ、[操作] 列の を選択します。 表示されるダイアログボックスで、削除する関数がトリガーやリザーブドインスタンスなどのリソースにバインドされていないことを確認します。 [削除] をクリックします。
関連ドキュメント
Function Computeは、イベント関数、web関数、タスク関数、GPU関数の4種類の関数を提供します。 さまざまなシナリオで関数タイプを選択する方法の詳細については、「関数を作成するメソッドの選択」をご参照ください。
Function Computeでは、Function Computeコンソールに加えて、API操作を呼び出して関数を管理することもできます。 詳細については、「Function」をご参照ください。
関数実行タイムアウトの問題をトラブルシューティングする方法の詳細については、「関数の実行がタイムアウトし、エラー "function time out after" が報告された場合はどうすればよいですか? 」をご参照ください。
関数が頻繁に使用されない場合、呼び出すのに時間がかかります。 詳細については、「あまり使用されない関数の呼び出しに時間がかかるのはなぜですか? 」をご参照ください。コールドスタートの影響を排除するために、プロビジョニング済みインスタンスを使用できます。 詳細については、「コールドスタートの影響を排除するためにインスタンスを存続させる方法は? 」をご参照ください。
関数のARN (Alibaba Cloud Resource Name) を取得する方法の詳細については、「イベント関数の作成」トピックの「関数のARNの取得」をご参照ください。