EdgeScript を使って Alibaba Cloud CDN をカスタマイズする方法

2022年10月31日掲載

キービジュアル

ソリューションアーキテクトの赤羽です。今回はAlibaba Cloud CDNのEdgeScriptについてご紹介します。

CDNサービスを選ぶ際は価格や処理性能に加え、カスタマイズ性も大きなポイントになります。Webアクセスの最適化や後段のWebアプリケーションとの連携など、CDN導入後もさまざまな調整・設定変更が必要になるためです。Alibaba CloudのCDNでは、EdgeScriptという機能を使うことでより柔軟にCDNをカスタマイズできます。

 

目次

EdgeScriptとは

Alibaba Cloud CDNコンソールの標準機能で要件を満たせない場合に、スクリプトを実行してAlibaba Cloud CDNをカスタマイズできる機能で、リクエストヘッダの追加・削除など、CDNコンソールではできなかった設定が可能になります。例えば標準機能の中のカスタムヘッダでは固定値を付けることしかできませんが、EdgeScriptを使うことでWebアクセスごとに値を取得しヘッダを付けるという事ができるようになります。今回はEdgeScriptを使ってアクセス元クライアントのIPアドレスと国名コードを取得する例をご紹介します。

設定方法

今回は事前に構成しておいたCDN→ECS(Webサーバ)の環境を使います。EdgeScriptを使ってオリジンサーバでクライアントPCのIPアドレスと国名コードを取得できるように設定してみます。

1.Alibaba CloudコンソールよりAlibaba Cloud CDNメニューをクリック

2.Domain Names >  設定するドメインを選択 > EdgeScript > Staging Environment > Add Rule をクリック

3.下記入力し、Publish to Staging Environmentをクリック

テスト環境(Staging)にルールを作成してから本番環境(Production)にルールを移動させる流れになります。

※本例ではIPアドレスをc_addrヘッダ、国名コードをc_countryヘッダとして付与する設定とします。

Script Name :任意のもの

Script Code:

c_addr = client_addr()
c_country = client_country()
add_req_header('c_addr', c_addr)
add_req_header('c_country', c_country)


Run Script At:Head
Enable:on

4.Publish to All Rules to Production Environment をクリック

これでテスト環境から本番環境にルールが移動します。

5.Production Environment タブをクリックして状態を確認

このタブでルールがEnableになっていれば設定が反映されています。

設定前後のログを確認

Webサーバ側のアクセスログです。

EdgeScript設定前が青枠、EdgeScript設定後が赤枠です。クライアントIPアドレスと国名コード(日本なのでJP)が表示されました。

まとめ

今回、Alibaba Cloud CDNのEdgeScriptをご紹介しました。CDNはWebサービスのフロントに位置するため、バックエンドのWebアプリケーションの要件に合わせて各種調整が必要になります。EdgeScriptを使う事で、リクエストヘッダを追加してWebアプリケーションに情報を渡す、といったことも可能となり、CDNプロダクトを柔軟にカスタマイズできます。

Alibaba Cloud CDNはオンプレミスや他クラウド上のWebサーバにもご利用いただけますので、CDNの新規導入やリプレイスの際はぜひご検討ください。

 

関連サービス

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません