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

Function Compute:ALB トリガー

最終更新日:Mar 15, 2026

Function Compute は、Application Load Balancer (ALB) をイベントソースとしてサポートしています。ALB のバックエンドサービスとして Function Compute を設定できます。ALB は、Function Compute 内の関数にリクエストを転送し、関数呼び出し結果を同期的に返します。このトピックでは、関数を実行するための ALB トリガーの設定方法について説明します。

前提条件

制限事項

  • ALB インスタンスと Function Compute サービスは、同じリージョンに存在する必要があります。

  • Function Compute を ALB のバックエンドサーバーとして使用する場合、次の制限が適用されます。

    • HTTP リクエストによってトリガーされる関数のみがサポートされます。

    • Function Compute では、関数がアクセスされる際に、クライアントからの HTTP リクエストヘッダーに Date フィールドが含まれている必要があります。Date フィールドは、メッセージが送信された時刻を示します。

  • Function Compute を ALB とともに使用する場合、次の制限が適用されます。

    • ALB では、サーバーグループタイプを Function Compute に設定する必要があります。バックエンドサーバーグループとリスナーは HTTP プロトコルを使用する必要があります。

    • ALB は、Function Compute サービスをバックエンドサーバーとして 1 つのみ追加することをサポートしています。

ステップ 1: 関数コードの記述とテスト

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

  2. 上部のナビゲーションバーでリージョンを選択します。[サービス] ページで、目的のサービスをクリックします。

  3. [関数] ページで、目的の関数の名前をクリックします。

  4. 関数詳細ページで、[関数コード] タブをクリックします。コードエディタでコードを記述し、[コードのデプロイ] をクリックします。

    次のコードは例を示しています。

    var getRawBody = require('raw-body');
    var getFormBody = require('body/form');
    var body = require('body');
    
    
    /*
    To enable the initializer feature
    please implement the initializer function as below: 
    exports.initializer = (context, callback) => {
      console.log('initializing');
      callback(null, '');
    };
    */
    
    exports.handler = (req, resp, context) => {
        console.log('hello world');
    
        var params = {
            path: req.path,
            queries: req.queries,
            headers: req.headers,
            method : req.method,
            requestURI : req.url,
            clientIP : req.clientIP,
            log : ("Hello World.This is FC!"),
        }
    
        getRawBody(req, function(err, body) {
            for (var key in req.queries) {
              var value = req.queries[key];
              resp.setHeader(key, value);
            }
            resp.setHeader("Content-Type", "text/plain");
            params.body = body.toString();
            resp.send(JSON.stringify(params, null, '    '));
        });
    
        /*
        getFormBody(req, function(err, formBody) {
            for (var key in req.queries) {
              var value = req.queries[key];
              resp.setHeader(key, value);
            }
            params.body = formBody;
            console.log(formBody);
            resp.send(JSON.stringify(params));
        });
        */
    }
  5. [関数コード] タブで、[関数のテスト] をクリックします。

    実行が完了すると、[関数コード] タブの上部に結果が表示されます。

ステップ 2: Function Compute 用サーバーグループの作成

  1. ALB コンソールにログインします。

  2. ALB コンソールに移動し、左側のナビゲーションウィンドウで [サーバーグループ] を選択します。上部のナビゲーションバーで、作成済みの関数と同じリージョンを選択し、サーバーグループの作成 をクリックします。

  3. 左側のナビゲーションウィンドウで、 を選択します。

  4. [サーバーグループ]」ページで、[サーバーグループの作成] をクリックし、以下の設定を完了してから、[作成] をクリックします。

    函数计算类型服务器组

    設定項目

    説明

    サーバーグループタイプ

    サーバーグループのタイプを選択します。この例では、[Function Compute タイプ] を選択します。

    サーバーグループ名

    カスタム

    バックエンドプロトコル

    バックエンドプロトコルを選択します。この例では、HTTP を選択します。

    リソースグループの選択

    サーバーグループが属するリソースグループを選択します。

    ヘルスチェックの設定

    ヘルスチェックを有効にする

    ヘルスチェックを有効または無効にします。この例では、ヘルスチェックを無効にするデフォルト設定が使用されます。

    詳細設定

    ヘルスチェックを有効にするには、必要に応じて詳細設定を変更します。詳細については、「サーバーグループの作成と管理」をご参照ください。

  5. 表示されるメッセージで、[バックエンドサーバーの追加] をクリックします。

  6. [バックエンドサーバー] タブで、[Function Compute の設定] をクリックします。

  7. [バックエンドサーバーの追加] パネルで、以下のいずれかの方法を使用して構成を完了し、その後 [OK] をクリックします。

    • リソースの選択

      設定項目

      説明

      設定方法

      [リソースの選択] を選択します。

      サービス

      ターゲット関数が属するサービスを選択します。

      バージョン

      [LATEST] を選択します。新しく作成されたサービスには、デフォルトで LATEST バージョンのみが存在します。

      関数

      ターゲット関数を選択します。

      説明

      カスタム

    • ARN を使用

      設定項目

      説明

      設定方法

      [ARN を使用] を選択します。

      ARN

      ターゲット関数の ARN を入力します。関数の ARN を取得する方法の詳細については、「関数の ARN を取得」をご参照ください。

      注:

      カスタム

    [バックエンドサーバーの追加]」パネルには、サーバーが正常に追加されましたというメッセージが表示されます。「[閉じる]」をクリックします。「[バックエンドサーバー]」タブで、設定済みのバックエンドサーバーを表示できます。

ステップ 3: ALB インスタンスの作成とリスナーの設定

  1. Application Load Balancer (ALB) コンソールにログインします。

  2. 上部のメニューバーでリージョンを選択します。この例では、中国 (杭州) が選択されています。

  3. インスタンス」ページで、[Application Load Balancer の作成] をクリックします。

  4. [Application Load Balancer (Pay-As-You-Go)]」購入ページで、パラメータ設定を完了します。

    このセクションでは、このトピックに関連するパラメータのみをリストします。その他のパラメータについては、「ALB インスタンスの作成と管理」をご参照ください。

    • リージョン: この例では、中国 (杭州) を選択します。

    • ネットワークタイプ: この例では、インターネット を選択します。

  5. [インスタンス] ページで、作成した ALB インスタンスを見つけ、インスタンスの [アクション] 列で [リスナーの作成] をクリックしてリスナー設定ウィザードを開きます。

  6. [リスナーの設定]」ウィザードで、以下の設定を完了し、[次へ] をクリックします。

    設定項目

    説明

    リスナープロトコル

    リスナーのプロトコルを選択します。この例では、HTTP を選択します。

    リスナーポート

    リクエストを受信し、バックエンドサーバーに転送するリスナーポートを入力します。ポート範囲は 1 ~ 65535 です。この例では、80 を入力します。

    リスナー名

    カスタム

    詳細設定

    この例では、デフォルト設定が使用されます。

  7. [サーバーグループの選択] ウィザードで、[サーバーグループの選択] ドロップダウンリストから [Function Compute タイプ] を選択します。手順 2: Function Compute のサーバーグループを作成する で作成したバックエンドサーバーグループを選択し、[次へ] をクリックします。

  8. [設定の確認] ウィザードで設定を確認し、[送信] をクリックします。

ステップ 4: 接続のテスト

前述の手順を完了すると、Function Compute と ALB の間で接続が確立されます。 Function Compute と ALB の間の接続をテストするには、以下の操作を行います。

  1. コマンドラインウィンドウを開き、curl -v コマンドを実行して Date ヘッダーフィールドを取得します。

    Function Compute では、HTTP リクエストヘッダーに Date フィールドが含まれている必要があります。

    curl -v <ALB instance domain name>

    获取时间

  2. curl -H」コマンドを実行して、ALB インスタンスのドメイン名にアクセスします。

    curl -H "Date header field" <ALB instance domain name>

    次の図に示すような応答メッセージを受信した場合、ALB が Function Compute にリクエストを転送し、関数を呼び出すことができることを示しています。ALB支持函数计算验证结果

詳細情報

Function Compute コンソールに加えて、次の方法を使用してトリガーを設定できます。
  • Serverless Devs を使用してトリガーを設定します。詳細については、「Serverless Devs」をご参照ください。
  • SDK を使用してトリガーを設定します。詳細については、「SDK」をご参照ください。

作成したトリガーを変更または削除するには、「トリガーの管理」をご参照ください。