フォーム読み込み中
ソリューションアーキテクトの赤羽です。今回はAlibaba Cloud CDNのEdgeScriptについてご紹介します。
CDNサービスを選ぶ際は価格や処理性能に加え、カスタマイズ性も大きなポイントになります。Webアクセスの最適化や後段のWebアプリケーションとの連携など、CDN導入後もさまざまな調整・設定変更が必要になるためです。Alibaba CloudのCDNでは、EdgeScriptという機能を使うことでより柔軟にCDNをカスタマイズできます。
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の新規導入やリプレイスの際はぜひご検討ください。
条件に該当するページがございません