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

Function Compute:関数をすばやく作成する

最終更新日:Jul 17, 2024

Function Computeでは、サーバーなどのインフラストラクチャを購入および管理する必要はありません。 柔軟で信頼性の高いアプリケーションを構築するには、コードと画像を作成してアップロードするだけです。 このトピックでは、Function Computeコンソールで関数をすばやく作成する方法について説明します。 このトピックでは、単純なサーバーレスHello World関数を例として使用します。

前提条件

Alibaba Cloudアカウントを登録し、実名検証を完了していること。

手順

このトピックでは、イベント関数Web関数を例として使用し、Function Computeコンソールで関数を作成する方法について説明します。

ステップ1: Function Computeの有効化

  1. Function Computeホームページに移動します。

  2. コンソールクリックします。 新規ユーザーのトライアルプランのページが表示されます。 次に、[今すぐ購入] をクリックしてFunction Computeを有効化し、Function Computeコンソールに移動します。

    説明
    • Alibaba Cloudアカウントを使用してFunction Computeを有効化し、Function Computeをリソースアクセス管理 (RAM) ユーザーとして使用することを推奨します。

    • すでにFunction Computeを有効化している場合は、Function Computeコンソールに移動します。

  3. (オプション) 。 Function Computeコンソールに初めてログインする場合は、Alibaba Cloud Service Authorizationメッセージが表示されます。 [OK] をクリックします。

    承認後、Function Computeは、VPC (Virtual Private Cloud) 、ECS (Elastic Compute Service) 、Simple Log Service、Container Registryなどの特定のAlibaba Cloudサービスにアクセスできます。 サービスにリンクされたロールの詳細については、「サービスにリンクされたロール」をご参照ください。

ステップ2: 関数を作成する

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、[関数の作成] をクリックします。

  3. 関数の作成ページで、関数を作成する方法を選択し、次のパラメーターを設定し、作成.

    説明

    このトピックでは、イベント関数Web関数を例として使用します。 Function Computeが提供するランタイムがビジネス要件を満たさない場合は、[Web Function] を選択して関数を作成できます。 詳細については、「」をご参照ください。

    • 基本設定: 関数名を設定します。

    • コード: 関数のランタイムとコード関連の情報を設定します。

      パラメーター

      説明

      ランタイム

      Python、Java、PHP、Node.js、またはカスタムコンテナーイメージなどのランタイムを選択します。 Function Computeでサポートされているランタイムについては、「」をご参照ください。

      カスタムコンテナー画像

      コードのアップロード方法

      Function Computeにコードをアップロードする方法を指定します。

      • サンプルコードの使用: Function Computeが提供するサンプルコードを選択して、ビジネス要件に基づいて関数を作成できます。 これはデフォルトの方法です。

      • アップロードZIP: を選択してアップロードします。関数コードを含むzipファイル。

      • フォルダのアップロード: 関数コードを含むフォルダを選択してアップロードします。

      • OSS: Object Storage Service (OSS) バケットからコードをアップロードします。 この場合、[バケット名] および [オブジェクト名] パラメーターを指定する必要があります。

      • サンプルイメージの使用: Function Computeに付属のサンプルイメージを選択します。

      • Container Registryイメージの使用: Container Registryからイメージを選択します。 [コンテナーイメージの選択] パネルで、[コンテナーイメージインスタンス] および [コンテナーレジストリリポジトリ] パラメーターを指定し、目的のイメージを見つけて、[操作] 列の [選択] をクリックします。

      詳細については、「」をご参照ください。

      Startupコマンド

      説明

      このパラメーターは、[Web関数] を選択して関数を作成する場合に必要です。

      プログラムの起動コマンドを設定します。 スタートアップコマンドを設定しない場合は、コードのルートディレクトリにbootstrapという名前のスタートアップスクリプトを手動で作成する必要があります。 ブートストラップスクリプトを使用してプログラムを起動できます。

      npm実行開始

      リスニングポート

      説明

      このパラメーターは、[Web関数] を選択して関数を作成する場合に必要です。

      コード内の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のディスクサイズに基づいて課金されます。

      説明

      データは一時ディスクのスペースを共有し、ディスク内のすべてのディレクトリに書き込むことができます。

      一時ディスクのサイズは、基盤となるインスタンスのライフサイクルによって変化します。 インスタンスがシステムによってリサイクルされた後、ディスク上の対応するデータが消去されます。 ファイルを永続化するには、Apsara File Storage NAS (NAS) またはObject Storage Service (OSS) を使用できます。 詳細については、「」および「」をご参照ください。

      512 MB

      実行タイムアウト期間

      関数の実行タイムアウト時間を指定します。 デフォルトのタイムアウト時間は60秒で、最大値は86,400秒です。

      60

      ハンドラー

      関数のハンドラーを指定します。 Function Computeランタイムはハンドラをロードして呼び出し、リクエストを処理します。 [Web関数] を選択して関数を作成する場合、このパラメーターは不要です。

      説明

      コードアップロードメソッドパラメーターをサンプルコードの使用に設定した場合は、ハンドラーパラメーターのデフォルト値を保持します。 別のコードアップロード方法を選択した場合は、ビジネス要件に基づいてHandlerを変更する必要があります。 それ以外の場合、関数の実行時にエラーが報告されます。

      index.handler

      タイムゾーン

      関数のタイムゾーンを選択します。 関数のタイムゾーンを設定すると、環境変数TZが関数に自動的に追加されます。 値は、設定したタイムゾーンです。

      UTC

      関数の役割

      関数のRAMロールを指定します。 Function Computeはこのロールを使用して、Alibaba Cloudリソースにアクセスするための一時的なAccessKeyペアを生成し、AccessKeyペアをコードに渡します。 詳細については、「他のAlibaba Cloudサービスへのアクセス権限付与」をご参照ください。

      mytestrole

      VPCへのアクセス

      VPCリソースへのアクセスを許可するかどうかを指定します。 詳細については、「」をご参照ください。

      継続する

      [VPC]

      セキュリティグループを指定します。 このパラメーターは、[VPCへのアクセス][はい] に設定した場合に必要です。 VPCを作成するか、ドロップダウンリストからアクセスする既存のVPCのIDを選択します。

      fc.auto.create.vpc.1632317 ****

      vSwitch

      VPCを指定します。 このパラメーターは、[VPCへのアクセス][はい] に設定した場合に必要です。 vSwitchを作成するか、ドロップダウンリストから既存のvSwitchのIDを選択します。

      fc.auto.create.vswitch.vpc-bp1p8248 ****

      [セキュリティグループ]

      セキュリティグループを指定します。 このパラメーターは、[VPCへのアクセス][はい] に設定した場合に必要です。 セキュリティグループを作成するか、ドロップダウンリストから既存のセキュリティグループを選択します。

      fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd ****

      デフォルトNICによるインターネットへのアクセス許可

      デフォルトのネットワークインターフェースコントローラ (NIC) からインターネットへのアクセスを許可するかどうかを指定します。 [いいえ] を選択した場合、関数はfunction ComputeのデフォルトNICを介してインターネットにアクセスできません。

      重要

      静的パブリックIPアドレスを使用する場合は、[デフォルトNICからインターネットへのアクセスを許可] を [いいえ] に設定する必要があります。 それ以外の場合、設定された静的パブリックIPアドレスは有効になりません。 詳細については、「」をご参照ください。

      継続する

      ロギング

      ロギング機能を有効にするかどうかを指定します。 有効な値:

      • 有効化: Function Computeは、永続的なストレージのために関数実行ログをSimple Log Serviceに送信します。 保存されたログは、コードのデバッグ、トラブルシューティング、データ分析などの目的に使用できます。

      • 無効化: Simple Log Serviceを使用して、機能実行ログを保存およびクエリすることはできません。

      有効にする

    • [環境変数] セクションで、関数のランタイムの環境変数を設定します。 詳細については、「環境変数の設定」をご参照ください。

ステップ3: 関数を実行する

  1. Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。

  2. 上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。

  3. 関数の詳細ページで、[コード] タブをクリックして、関数のコードを表示します。

    コードエディターでコードを編集して、セカンダリ開発を実装できます。 次に、[デプロイ] をクリックします。 コードは、コードがデプロイされた後にのみ有効になります。 この例では、イベント関数が作成されます。 次のサンプルコードは例を示しています。

    説明

    サンプルコードはワンクリック展開をサポートしています。 サンプルコードは、ワンクリックでFunction Computeにデプロイできます。 start-fc3-nodejs

    'use strict';
    
    exports.handler = function (event, context, callback) {
      callback(null, 'hello world');
    };
    
  4. [テスト関数] をクリックします。

    関数の実行後、[コード] タブで結果と詳細ログを表示できます。

より多くの情報

  • 関数の実行中に「モジュール 'index' をインポートできません」エラーが発生した場合は、ハンドラーが正しく構成されているかどうか、および必要な依存関係がインストールされているかどうかを確認します。 詳細については、「関数のサードパーティ依存関係のインストール」をご参照ください。

  • Function Computeでは、Serverless Devsを使用してアプリケーションをビルド、デバッグ、デプロイできます。 詳細については、「」をご参照ください。

  • Function Computeの関数は、イベントを使用して直接トリガーまたはトリガーできます。 イベントトリガー関数の詳細については、「」をご参照ください。

FAQ