Dynamic Content Delivery Network (DCDN) は、EdgeRoutine (ER) やEdgeKVなどのサービスを通じて、エッジでアプリケーションの機能を拡張することもできます。 サービスまたは軽量アプリケーションは、ユーザーに近いプレゼンスポイント (POP) に直接展開できます。 これにより、応答レイテンシが低減される。 これらのサービスまたはアプリケーションはサーバーレスインスタンスとして実行されます。これは、Alibaba Cloud がお客様に代わってリソースを管理し、スケジュールすることを意味します。
説明 EdgeRoutineはベータリリースであり、選択したユーザーのみが利用できます。 DCDNサービスの1日あたりのピーク帯域幅が500 Mbit/sを超える場合、EdgeRoutineを有効にするには、チケットを起票してください。 リクエストが承認されると、DCDNコンソールの左側のナビゲーションペインにエッジ関数が表示されます。
ER
ER は、エッジでロジックを実装できる JavaScript ランタイム環境です。 ER にアップロードしたコードは、Alibaba Cloud グローバルネットワーク内の任意の POP で実行できます。 これにより、顧客またはユーザーに最も近い POP からサービスを提供でき、応答時間とユーザーエクスペリエンスが大幅に向上します。
EdgeRoutineの有効化
DCDNコンソール
左側のナビゲーションウィンドウで、エッジ関数.
を選択してEdgeRoutineを有効にします。
最初のルーチンを作成する
ステップ 1:ルーチンの作成と設定
DCDNコンソール
左側のナビゲーションウィンドウで、エッジ関数.
EdgeRoutineを初めて使用するときは、サブドメインを作成します。
エッジ関数ページで、サブドメインの作成 をクリックします。

サブドメインの作成 ダイアログボックスで、サブドメイン名を指定します。
説明 サブドメインは、作成するすべてのルーチンが存在するリポジトリです。 サブドメインが作成されたら、サブドメインの名前を変更することはできません。
サブドメインは、各ユーザに対する一意の識別子であり、ルーチンIDの一部である。
作成後のサブドメイン名は変更できません。 名前には、小文字、数字、およびハイフン (-) を使用できます。 名前は2文字以上でなければなりません。 例: サブドメイン名。
OK をクリックします。
エッジ関数ページで、関数の作成 をクリックします。 下表にパラメーターを示します。

パラメーター | 説明 |
関数名 | ルーチン名を入力します。
説明 名前には、小文字、数字、およびハイフン (-) を使用することができます。長さは必ず 2 文字以上にしてください (例:routine-name)。関数名は作成後に変更することができません。 |
説明 | オプションです。 ルーチンの説明を入力します。 |
仕様 | ルーチンの1回の実行の最大CPUタイムスライスを選択します。 ネットワーク応答を待つI/O時間は含まれていません。 料金は通常の仕様に基づいて異なります。 詳細については、「課金ルール」をご参照ください。 リクエストごとの CPU タイムスライス:5 ms、 リクエストごとの CPU タイムスライス:50 ms (デフォルト) 個々のリクエストのリクエストごとの CPU タイムスライス:100 ms
|
ルーチンを作成したら、操作 列の 詳細 をクリックして、さまざまな環境でルーチンを設定します。 ルーチン設定は、環境間で独立しています。 本番環境、テスト環境、およびカナリアリリース環境でルーチンの設定を変更できます。 詳細については、「カナリア環境 (オプション) 」をご参照ください。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
関数の仕様 | ルーチンの1回の実行の最大CPUタイムスライス。 ネットワーク応答を待つI/O時間は含まれていません。 最大リアルタイム: 120秒。 メモリ: 128 MB。 リクエストごとの CPU タイムスライス:5 ms、 リクエストごとの CPU タイムスライス:50 ms (デフォルト) 個々のリクエストのリクエストごとの CPU タイムスライス:100 ms
|
ドメイン名のホワイトリスト |
説明 たとえば、Domain Name Whitelistパラメーターをo example.comに設定した場合、m example.comからのリクエストのみがルーチンをトリガーできます。 |
ステップ 2:ドメイン名とルーチンを関連付ける
ルーチンは、クライアントにサービスを提供するためにドメイン名を必要とする。 ドメイン名には、CDN高速化ドメイン名またはDCDN高速化ドメイン名を指定できます。 ルーチンを作成して設定したら、 DCDN-acceleratedドメイン名をルーチンに関連付ける必要があります。 次に、ルーチンは、ルーチンに関連するドメイン名からの要求によってトリガされる。 ドメイン名が追加されたサービスのコンソールにログインします。
DCDNコンソール
左側のナビゲーションウィンドウで、ドメイン名.
On theドメイン名ページで、管理するドメイン名を見つけて、設定.
左側のナビゲーションペインで、EdgeRoutine をクリックします。
EdgeRoutine ページでスイッチをオンにし、EdgeRoutine ID パラメーターを設定します。 下表に、各パラメーターを説明します。

パラメーター | 説明 |
EdgeRoutine ID | ルーチンIDは、各ルーチンの一意の識別子である。 形式: routineName.subdomain.
説明 DCDNコンソールの左側のナビゲーションウィンドウで、エッジ関数 をクリックします。 関数 ページでルーチンのIDを確認できます。 
|
トリガーモード | DCDN高速化ドメイン名にアクセスしようとするリクエストがルーチンをトリガーするモードを選択します。 次のモードがサポートされています。 リダイレクト: DCDN高速化ドメイン名にアクセスしようとするリクエストは、ルーチンによって処理されます。 リクエストを処理するためのコードをルーチンに記述できます。 ルーチンは、要求されたコンテンツをクライアントに返し、cache APIを呼び出してキャッシュを読み取り、またはフェッチ要求を送信して要求をオリジンサーバーにリダイレクトできます。 バイパス: DCDN高速化ドメイン名にアクセスしようとするリクエストにより、ルーチンがトリガーされます。 その後、 DCDNコンソールで設定された設定が実行され、リクエストはオリジンサーバーにリダイレクトされます。 このトリガーモードは、認証やログ追跡などのシナリオに適しています。
|
エラー時に配信元へリダイレクト | ○: ルーチンが例外をスローすると、POP (point of presence) は、クライアントから要求されたURLを使用して、 DCDN高速化ドメイン名のオリジンサーバーに要求を転送します。 オリジンサーバーがリクエストを処理します。 これにより、ビジネスの継続性とディザスタリカバリが保証されます。 ×: ルーチンが例外をスローすると、HTTPステータスコード5xxがクライアントに返されます。
説明 ルーチンを初めて使用するときは、[Redirect to Origin if Error Occurs] パラメーターを [No] に設定することを推奨します。 問題のトラブルシューティングに返されるHTTP 5xxステータスコードを使用できます。 例外が発生した場合、back-to-originリクエストの数に対して課金されます。 異常なback-to-originリクエストの割合は非常に低く、無視できます。
|
ステップ 3:ルーチンの開発とデバッグ
DCDNコンソール
左側のナビゲーションウィンドウで、エッジ関数.
作成したルーチンを見つけてクリックします。詳細[アクション] 列に表示されます。
表示されたルーチンページで、コード タブをクリックして、JavaScriptを使用してルーチンを開発します。 サンプルコードでは、HelloWorld スクリプトが使用されています。
コーディングが完了したら、Publish to Test Environment をクリックします。 ページに表示されているテスト環境のIPアドレスを、ルーチンのデバッグに使用するマシンに関連付けることができます。
説明 テスト環境のIPアドレスと、ルーチンに関連付けられているドメイン名を、オンプレミスマシンのhostsファイルに追加できます。 たとえば、10.10.10.10 d example.comをオンプレミスマシンのhostsファイルに追加します。 IPアドレスを前の図に記載されているIPアドレスに置き換え、ドメイン名をルーチンに関連付けられている DCDN高速化ドメイン名に置き換えます。
ステップ 4:バージョンの保存
デバッグが完了したら、コード タブの 新しいバージョンとして保存 をクリックします。
ステップ 5:バージョンの公開
表示されたルーチンページで、バージョン タブをクリックし、公開するバージョンを見つけて、操作 列の 公開 をクリックします。
バージョンを公開するテスト環境、本番環境、またはカナリアリリース環境を選択します。
説明 スクリプトを本番環境に公開する前に、ルーチンをカナリアリリース環境に公開することを推奨します。
[OK] をクリックして、すべてのPOPの本番環境にコードをデプロイします。
EdgeKV
EdgeKV は、キーと値のペアに基づくエッジストレージサービスです。 EdgeKV は、開発者が低頻度でデータを書き込み、ER が高頻度でデータを読み取るシナリオに適しています。 EdgeKV にデータを追加すると、世界中の POP にデータが自動的に同期されます。 ER は、同じ POP に保存されているデータを読み取り、使用できます。
EdgeKV の有効化
EdgeKVを使用する前に、EdgeKVを有効にする必要があります。
にログインします。 DCDNコンソール左側のナビゲーションウィンドウで、[EdgeKV] をクリックし、[今すぐ有効化] をクリックします。

EdgeKV でキーと値のデータを管理する
名前空間の作成
説明 名前空間は互いに分離されています。 最大10個の名前空間を作成できます。
DCDNコンソール
左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、名前空間の作成 をクリックし、画面の指示に従って名前空間名と 説明 パラメーターを設定します。
説明 名前空間名パラメーターは、ERの組み込みAPI操作のnamespaceパラメーターに対応します。

OK をクリックします。
key-valueデータの管理
DCDNコンソール
名前空間リストで、管理する名前空間を見つけて、操作 列の 管理 をクリックします。
[キー値の追加] をクリックし、画面の指示に従って キー および 値 パラメーターを設定します。
OK をクリックします。
(オプション) データを追加した後、変更 、表示 、または 削除 をクリックしてデータを管理します。