本トピックでは、サービスの有効化から最初のルーチンのデプロイまで、EdgeRoutine の使用プロセスについて説明します。
Alibaba Cloud DCDN は、2025年5月1日 00:00 (UTC+8) をもって、新規ユーザーへの EdgeRoutine 機能の提供を停止します。既存のユーザーは影響を受けません。
この機能が必要な場合は、ESA サービスにアップグレードし、ESA の Functions and Pages 機能を使用することを推奨します。
ワークフロー
EdgeRoutine を使用するには、まず DCDN を有効にする必要があります。以下の図はワークフローを示しています。
EdgeRoutine は現在ベータ版であり、一部のお客様のみが利用できます。お使いの または DCDN サービスの 1 日あたりのピーク帯域幅が 500 Mbps を超える場合は、チケットを起票してアクセスをリクエストできます。申請が承認されると、ナビゲーションペインに EdgeRoutine メニュー項目が表示されます。
EdgeRoutineサービスの有効化
- DCDNコンソールにログインします。
左側のナビゲーションペインで、EdgeRoutine をクリックします。
をクリックして、サービスを有効にします。
ルーチンの作成と設定
- DCDNコンソールにログインします。
左側のナビゲーションペインで、EdgeRoutine をクリックします。
EdgeRoutine を初めて使用する場合は、まずサブドメインを作成する必要があります。
エッジ関数 ページで、サブドメインの作成 をクリックします。

サブドメインの作成 ダイアログボックスで、サブドメイン名を入力します。
説明サブドメインは、すべてのルーチンのリポジトリとして機能します。サブドメインは作成後に変更することはできません。
サブドメインは各ユーザーの一意の識別子であり、ルーチン ID の一部を構成します。
名前には、小文字、数字、ハイフン (-) のみを使用でき、2 文字以上にする必要があります。例:
subdomain-name
OK をクリックします。
エッジ関数 ページで、関数の作成 をクリックします。

パラメーター
説明
[関数名]
ルーチン名を入力します。
説明[名前には、小文字、数字、およびハイフン (-) を使用することができます。長さは必ず 2 文字以上にしてください (例:routine-name)。関数名は作成後に変更することができません。]
[説明]
(任意) ルーチンの説明
[仕様]
1 回のルーチン実行あたりの最大 CPU 時間です。ネットワーク応答の I/O 待機時間は含まれません。最大実行時間は 120 秒、利用可能なメモリは 128 MB です。料金は選択した仕様によって異なります。デフォルトでは 50 ms の仕様が選択されています。詳細については、「EdgeRoutine の課金」をご参照ください。
[リクエストごとの CPU タイムスライス:5 ms、]
[リクエストごとの CPU タイムスライス:50 ms] (デフォルト)
[リクエストごとの CPU タイムスライス:100 ms]
ルーチンを作成した後、操作 列の 詳細 をクリックして詳細ページを開きます。各環境 (本番、ステージング、およびオプションのカナリア) には、変更可能な独立した設定があります。
パラメーター
説明
[関数の仕様]
1 回のルーチン実行あたりの最大 CPU 時間です。ネットワーク応答の I/O 待機時間は含まれません。最大実行時間は 120 秒、利用可能なメモリは 128 MB です。デフォルトでは 50 ms の仕様が選択されています。
[リクエストごとの CPU タイムスライス:5 ms、]
[リクエストごとの CPU タイムスライス:50 ms] (デフォルト)
[リクエストごとの CPU タイムスライス:100 ms]
[ドメイン名のホワイトリスト]
このルーチンに関連付けるドメインを指定します。
ワイルドカードドメインがサポートされています。
デフォルトでは、ドメイン名ホワイトリストは空であり、任意のドメインをルーチンに関連付けることができます。
説明たとえば、
example.comをホワイトリストに追加した場合、example.comからのリクエストのみがこのルーチンをトリガーできます。ルーチンは他のドメインからのリクエストを拒否します。
ルーチンへのドメイン名の関連付け
ルーチンには、クライアントリクエストのエントリポイントとして機能するドメインが必要です。Alibaba Cloud CDN または DCDN によってアクセラレーションされたドメインを使用できます。ルーチンを作成して設定した後、 または DCDN ドメインをルーチンに関連付ける必要があります。このドメインへのクライアントリクエストがルーチンをトリガーします。手順は、ドメインを管理しているコンソールによって異なります。
- DCDNコンソールにログインします。
- 左側のナビゲーションペインで ドメイン名 をクリックします。
-
ドメイン名 ページで対象のドメイン名を見つけ、設定 をクリックします。
ドメイン設定ページの左側のナビゲーションペインで、EdgeRoutine をクリックします。
EdgeRoutine ページで、機能を有効にし、EdgeRoutine ID を設定します。

パラメーター
説明
[EdgeRoutine ID]
各ルーチンの一意の識別子です。形式は
routine-name.subdomainです。説明DCDN コンソールの左側のナビゲーションペインで、EdgeRoutine をクリックします。関数 ページで対応するルーチンの ID を確認できます。

[トリガーモード]
または DCDN ドメインへのリクエストがルーチンをトリガーします。次の 2 つのモードを使用できます:
[リダイレクト]: または DCDN ドメインへのリクエストを、ルーチンが完全に処理します。独自のコードを記述して、クライアントに直接応答したり、Cache API を使用してキャッシュから読み取ったり、オリジンからコンテンツを取得したりできます。
[バイパス]: または DCDN ドメインへのリクエストは、ルーチンの実行をトリガーするだけで、その後、通常の または DCDN の設定に従ってオリジンにリダイレクトされます。このモードは、認証やロギングなどのシナリオに適しています。
[エラー時に配信元へリダイレクト]
[○]:ルーチンの実行が失敗した場合、POP (Point of Presence) はクライアントリクエストを または DCDN ドメインのオリジンサーバーに転送します。これにより、オリジンサーバーでフォールバックおよび障害回復メカニズムを実装できます。
[×]:ルーチンの実行が失敗した場合、POP は 5xx ステータスコードをクライアントに直接返します。
説明ルーチンを初めて使用するときは、[Redirect to Origin if Error Occurs] パラメーターを [No] に設定することを推奨します。 問題のトラブルシューティングに返されるHTTP 5xxステータスコードを使用できます。
例外が発生した場合、back-to-originリクエストの数に対して課金されます。 異常なback-to-originリクエストの割合は非常に低く、無視できます。
ルーチンの開発とデバッグ
- DCDNコンソールにログインします。
左側のナビゲーションペインで、EdgeRoutine をクリックします。
作成したルーチンを選択し、詳細 をクリックします。
詳細 ページで、コード タブを選択して、JavaScript で EdgeRoutine を開発します。エディターには、デフォルトの "Hello World" の例が含まれています。

コードを記述した後、Publish to Test Environment をクリックします。その後、提供されているステージング環境の IP アドレスのいずれかを使用して、ローカルの hosts ファイルにマッピングし、ルーチンのテストとデバッグを行うことができます。
説明テストするには、ローカルマシンの hosts ファイルを変更して、ドメインを、提供されているいずれかのステージング IP アドレスにマッピングします。例:
10.10.10.10 example.com。IP アドレスを、提供されている IP アドレスのいずれかに置き換え、ドメイン名を、ルーチンに関連付けられている または DCDN ドメインに置き換えます。
バージョンの作成
コードをデバッグした後、コード タブで 新しいバージョンとして保存 をクリックします。
バージョンの公開
ビジネスパフォーマンスへのコールドスタートの影響を軽減するため、EdgeRoutine はバージョン公開に遅延更新メカニズムを使用します。新しいバージョンが公開されると、非同期で更新され、各 POP に最初のリクエストが到着したときに有効になります。その結果、公開後しばらくの間、以前のバージョンからの応答を受け取ることがあります。これはバグではなく、想定される動作です。
詳細 ページで、バージョン タブを選択します。バージョン ID を選択し、操作 列の 公開 をクリックします。
公開する環境を選択します:テスト環境、本番環境、または カナリアリリース環境。
説明[スクリプトを本番環境に公開する前に、ルーチンをカナリアリリース環境に公開することを推奨します。]
「OK」をクリックします。新しいバージョンは、選択された環境の POPs にデプロイされます。
ルーチンのメンテナンス
上記の手順では、"Hello World" のサンプルルーチンを設定して公開する方法について説明しました。
ルーチンコードを更新および反復するには、「ルーチンの開発とデバッグ」、「バージョンの作成」、および「バージョンの公開」セクションの手順に従います。
仕様やドメイン名ホワイトリストなどのルーチン設定を調整するには、「ルーチンの作成と設定」をご参照ください。
または DCDN ドメインの EdgeRoutine 機能を無効にするには、ドメインの関連付け設定で EdgeRoutine の設定を削除します。