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

Server Load Balancer:AScriptのしくみ

最終更新日:Sep 19, 2024

AScriptを使用すると、Application Load Balancer (ALB) コンソールの標準転送ルールがビジネス要件を満たさない場合に、スクリプトを使用して転送ルールをカスタマイズできます。 このトピックでは、AScriptのモデルと実行位置、およびその動作について説明します。

制御ポリシー機能の動作

ALBコンソールの標準転送ルールと同じように、AScriptを使用して、ALBによるリクエストの処理方法を定義します。

リクエストがALBに到達すると、ALBはALBコンソールで設定された転送ルールに基づいてリクエストを処理します。 AScriptは、転送ルールが適用される前または後に、スクリプトを実行して要求を処理できます。

モデル

スクリプトは次のモデルに基づいて実行されます。

  • AScriptはスクリプトを実行してさまざまな機能を実現します。 関数は、スクリプトの条件が満たされた場合にのみトリガーされます。

  • リクエスト処理パイプラインでは、スクリプトを実行する位置とスクリプトの優先度を指定できます。

  • スクリプトはリスナーに基づいて管理されます。

実行位置

インバウンド転送ルールが適用される前または後、またはアウトバウンド転送ルールが適用される前に実行されるようにスクリプトを設定できます。 実行できる関数は、実行位置によって異なります。

  • 受信転送ルールの前: たとえば、頻繁にファイルの名前を変更したり、ファイル拡張子を小文字に変換したり、URIプレフィックスを追加したり、ファイル拡張子を書き換えたりできます。

  • 受信転送ルールの後: たとえば、頻繁にファイルの名前を変更したり、ファイル拡張子を小文字に変換したり、URIプレフィックスを追加したり、ファイル拡張子を書き換えたりできます。

  • 送信転送ルールの前: たとえば、頻繁にファイルの名前を自動的に変更できます。

スクリプト実行

説明:

  • スクリプトID: スクリプトのステータスを示します。

  • さまざまな状態のスクリプトの実行情報を次の表に示します。

    スクリプトID

    説明

    -1

    デフォルト値。

    1

    スクリプトは実行されません。

    2

    条件が満たされています。

    condition {} がスクリプトで指定され、条件が満たされている場合。

    3

    条件が満たされていません。

    条件 {} がスクリプトで指定されているが、条件が満たされていない場合、または条件 {} が指定されていない場合。

    4

    スクリプトの実行に失敗します。 考えられるエラーの原因:

    • 400: not found inline func % s

    • 401: not found argument % d in % s

    • 402: % s不一致文字列タイプのarg % d

    • 403: % s不一致番号タイプのarg % d

    • 404: % s不一致テーブルタイプのarg % d

    • 405: % s不一致ブール型のarg % d

    • 406: % s不一致関数タイプのarg % d

    • 407: exec cputime limit % d-% d us

    • 408: のapi呼び出し制限 % s % d-% d回

    • 409: m3u8_rewriteの最大ループ制限 % dを超える

    • 410: foreachの最大ループ制限 % dを超える

    • 499: 不明な理由

  • 実行時間:

    • 単位:マイクロ秒。

    • デフォルト値: -1

    • webインターフェイスに表示される実行時間:

      • ティア1: 0から100

      • ティア2: 500への100

      • ティア3: 1000への500

      • ティア4: 5000への1000

      • ティア5: 20000への5000

      • ティア6: 50000への20000

      • ティア7: 50000以上

  • 実行は中断されます。

    デフォルト値: -1

関連ドキュメント