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

Global Accelerator:Use GA and Alibaba Cloud CDN to accelerate content retrieval from origin servers

最終更新日:Dec 10, 2025

e コマース、オンラインゲーム、オンデマンドのオーディオ/ビデオストリーミングなどの業界では、高いアクセス速度と品質が求められます。エンドユーザーのエクスペリエンスを向上させるために、Global Accelerator (GA) を Content Delivery Network (CDN) と組み合わせて使用できます。GA は、Alibaba Cloud のプレミアムなボーダーゲートウェイプロトコル (BGP) 帯域幅とグローバル伝送ネットワークを活用します。CDN と組み合わせることで、グローバルな CDN オリジンフェッチネットワークを迅速に構築し、動的コンテンツの包括的な高速化を保証します。

シナリオ

このトピックの例は、次のシナリオに基づいています。Web サービスが米国 (シリコンバレー) リージョンの Alibaba Cloud にデプロイされています。サービスのドメイン名は www.<YOURDOMAIN>.fun です。転送ポートは HTTP ポート 80 です。ほとんどのクライアントは中国 (香港) にいます。中国 (香港) のクライアントが米国 (シリコンバレー) の Web サービスにアクセスすると、不安定なクロスボーダーのインターネット接続が原因で、ネットワーク遅延、ネットワークジッター、パケット損失などの問題が頻繁に発生します。

CDN を Web サービスにデプロイできます。CDN は、エッジノードにコンテンツをキャッシュすることで、ユーザーエクスペリエンスを向上させます。また、CDN を GA に接続することもできます。GA は、Alibaba Cloud のプレミアムな BGP 帯域幅とグローバル伝送ネットワークを活用して、CDN のオリジンフェッチ配信を高速化し、世界中の動的コンテンツの高速配信を保証します。

前提条件

  • アプリケーションはオリジンサーバーにデプロイされています。

    この例では、Alibaba Cloud Linux 3 オペレーティングシステムが使用されています。NGINX と Netcat を使用して、動的な時刻表示と静的イメージを含む Web ページを構築し、サーバーをシミュレートします。

    例:ECS にテストサービスをデプロイする

    1. vi ECS_server_install.sh コマンドを実行し、i キーを押して編集モードに入ります。

    2. 次のスクリプトコンテンツをコピーして貼り付けます。

      #!/bin/bash
      
      # Update the system and install NGINX and Netcat.
      sudo yum update -y
      sudo yum install nginx -y
      sudo yum install -y nc
      
      # Start NGINX and configure NGINX to start automatically.
      sudo systemctl start nginx
      sudo systemctl enable nginx
      
      # Configure NGINX.
      sudo bash -c 'cat > /etc/nginx/nginx.conf <<EOF
      user nginx;
      worker_processes auto;
      error_log /var/log/nginx/error.log;
      pid /run/nginx.pid;
      
      events {
          worker_connections 1024;
      }
      
      http {
          include /etc/nginx/mime.types;
          default_type application/octet-stream;
          log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" '
                            '\$status \$body_bytes_sent "\$http_referer" '
                            '"\$http_user_agent" "\$http_x_forwarded_for"';
          access_log /var/log/nginx/access.log main;
          sendfile on;
          keepalive_timeout 65;
          include /etc/nginx/conf.d/*.conf;
      
          server {
              listen       80;
              listen       [::]:80;
              server_name  _;
              root         /usr/share/nginx/html;
      
              location / {
                  try_files \$uri \$uri/ =404;
              }
      
              location /dynamic {
                  proxy_pass http://127.0.0.1:8080;
                  proxy_set_header Host \$host;
                  proxy_set_header X-Real-IP \$remote_addr;
                  proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
                  proxy_set_header X-Forwarded-Proto \$scheme;
              }
      
              error_page 404 /404.html;
                  location = /40x.html {
              }
      
              error_page 500 502 503 504 /50x.html;
                  location = /50x.html {
              }
          }
      }
      EOF'
      
      # Create static content.
      sudo bash -c 'echo "<img src=\"test.png\" alt=\"Static Image\" width=\"300\"/>" > /usr/share/nginx/html/test.png'
      
      # Create a dynamic content script.
      sudo bash -c 'cat > /usr/share/nginx/html/dynamic_script.sh <<EOF
      #!/bin/bash
      while true; do
          echo -e "HTTP/1.1 200 OK\r\nContent-Length: \$(date | wc -c)\r\n\r\n\$(date)" | /usr/bin/nc -l -p 8080
      done
      EOF'
      
      # Grant execution permissions to the dynamic script and run the script in the background.
      sudo chmod +x /usr/share/nginx/html/dynamic_script.sh
      nohup /usr/share/nginx/html/dynamic_script.sh > /dev/null 2>&1 &
      
      # Restart the NGINX service.
      sudo systemctl restart nginx
      
      # Create the index.html file.
      sudo bash -c 'cat > /usr/share/nginx/html/index.html <<EOF
      <!DOCTYPE html>
      <html>
      <head>
          <title>Test Page</title>
      </head>
      <body>
          <h1>GA and CDN Test Page</h1>
          <h2>Static Content: Image</h2>
          <img src="test.png" alt="Static Image" width="300"/>
      
          <h2>Dynamic Content: Current Time</h2>
          <div id="dynamic-time">Loading current time...</div>
      
          <script>
              function fetchTime() {
                  fetch("/dynamic")
                  .then(response => response.text())
                  .then(data => {
                      document.getElementById("dynamic-time").innerText = data;
                  })
                  .catch(error => {
                      document.getElementById("dynamic-time").innerText = "Failed to load current time.";
                  });
              }
      
              setInterval(fetchTime, 1000);
              fetchTime();
          </script>
      </body>
      </html>
      EOF'
    3. Esc キーを押して編集モードを終了し、:wq と入力してファイルを保存し、終了します。

    4. sudo sh ECS_server_install.sh コマンドを実行してスクリプトを実行します。

    5. サンプルスクリプトで指定された /usr/share/nginx/html ディレクトリに test.png 画像ファイルをアップロードします。

  • サービスのドメイン名 www.<YOURDOMAIN>.fun をオリジンサーバーのパブリック IP アドレスに向ける A レコードを追加済みであること。

    このトピックでは、Alibaba Cloud DNS を例に、DNS レコードを設定する方法について説明します。DNS レコードの設定方法の詳細については、「DNS レコードの追加」をご参照ください。サードパーティの DNS サービスを使用する場合は、サービスプロバイダーが提供するユーザーガイドを参照してください。

  • CDN サービスを有効化済みであること。

手順

手順 1: GA インスタンスを設定する

この例では、従量課金制の標準 GA インスタンスを使用します。

  1. Global Accelerator コンソール[標準インスタンス] > [インスタンス] ページで、[標準従量課金インスタンスを作成] をクリックします。

  2. [基本インスタンス設定] ステップで、パラメーターを設定し、[次へ] をクリックします。

    GA基础配置.png

  3. [加速エリアの設定] ステップで、加速エリアを追加し、リージョンに帯域幅を割り当ててから、[次へ] をクリックします。

    この例では、[加速エリア] パラメーターを [中国 (香港)] に、[ISP 回線タイプ][BGP (マルチ ISP)] に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じて値を変更できます。詳細については、「加速エリアの追加と管理」をご参照ください。

    重要
    • 中国本土の加速エリアが必要な場合は、サービスを提供するためにドメイン名の ICP 登録を取得する必要があります。

    • 必要な帯域幅を適切に計画してください。最大帯域幅が不足すると、スロットリングやパケット損失の問題が発生する可能性があります。

    GA加速区域.png

  4. [リスナーの設定] ステップで、転送プロトコルとポートを設定し、[次へ] をクリックします。

    このシナリオでは、[プロトコル] パラメーターを [HTTP] に、[ポート] パラメーターを [80] に設定します。その他のリスナーパラメーター設定など、他のパラメーターにはデフォルト値を使用するか、必要に応じて変更できます。

    HTTP监听.png

  5. [エンドポイントグループの設定] ページで、エンドポイントのバックエンドサービスを設定し、[次へ] をクリックします。

    このシナリオでは、[リージョン][米国 (シリコンバレー)] に、[バックエンドサービスタイプ][ECS] に、[バックエンドサービス] をターゲットの Elastic Compute Service (ECS) インスタンスに設定します。次に、[越境データコンプライアンスに関する承諾] を読んで選択します。その他のエンドポイントグループパラメーター設定については、デフォルト値を維持するか、実際のニーズに基づいて変更できます。

    EPG.png

    GA 跨境合规 INTL.png

  6. [設定の確認] ステップで、Global Accelerator の設定を確認し、[送信] をクリックします。

  7. [インスタンス] ページで、作成した GA インスタンスを見つけ、[CNAME] 列に GA インスタンスに割り当てられた CNAME を取得します。

手順 2: CDN を設定する

  1. CDN コンソールの [ドメイン名] ページで、[ドメイン名を追加] をクリックします。

  2. [ドメイン名情報] 設定ウィザードページで、[ビジネス情報][オリジンサーバー] を設定します。

    1. [ビジネス情報] を設定します。

      このシナリオでは、[ビジネス情報] セクションで、加速リージョン全世界 (中国本土を除く) に、ドメイン をビジネスドメイン名 (例:www.<YOURDOMAIN>.fun) に設定します。他のパラメーターにはデフォルト値を使用するか、必要に応じて値を変更できます。ドメイン名の設定の詳細については、「高速化ドメイン名の追加」をご参照ください。

      CDN 添加域名 INTL.png

    2. [オリジンサーバー] を設定します。

      [オリジンサーバー] セクションで、[オリジンサーバーの追加] をクリックします。[オリジンサーバーの追加] ダイアログボックスで、オリジンサーバーのタイプを選択し、アドレスを入力して、[OK] をクリックします。

      この例では、[オリジン情報][オリジンドメイン名] タイプを選択し、GA の CNAME を入力します。[重み][100] に設定します。他のパラメーターにはデフォルト値を維持するか、必要に応じて変更できます。オリジン情報の詳細については、「高速化ドメイン名の追加」をご参照ください。

      CDN 配置源站.png

    3. [越境データ転送に関するコンプライアンス保証] を選択し、[次へ] をクリックします。

  3. [推奨設定] ページでは、キャッシュ有効期間、帯域幅上限、ページ最適化など、ドメイン名の機能を設定し、[ワンクリック設定] をクリックするか、直接 [今回はスキップ] をクリックします。

    このシナリオでは、[キャッシュ有効期間] セクションで、デフォルトのキャッシュルールを見つけ、[操作] 列の [変更] をクリックし、[オブジェクト][/dynamic] に、[有効期間][0] 秒に設定して、オリジンから動的コンテンツをフェッチします。推奨設定の詳細については、「推奨設定 (オプション)」をご参照ください。

    CDN PHP不缓存.png

  4. [ドメイン] ページで、追加したドメイン名を見つけ、[CNAME] 列に CDN によって割り当てられた CNAME を取得します。

ステップ 3: DNS レコードを構成する

ドメイン名を追加した後、CDN によって割り当てられた CNAME にドメイン名の DNS レコードを作成する必要があります。その後、ドメイン名に送信されたリクエストは、高速化のために CDN に転送できます。

既存の A レコードと CNAME レコード間の競合を避けるために、レコードに異なる DNS リクエストソースまたは解決回線を設定できます。この例では、中国 (香港) リージョンの CNAME レコードを追加してテストを実行できます。テストが成功した場合は、CNAME レコードを他のリージョンに徐々に適用するか、デフォルトの回線に切り替えることができます。

  1. [ドメイン名] ページで、使用するドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。

    説明

    Alibaba Cloud に登録されていないドメイン名の場合、DNS レコードを設定する前に、ドメイン名を追加する 必要があります。

  2. [DNS 設定] ページで、[レコードの追加] をクリックし、CNAME レコードを設定してから、[OK] をクリックします。

    このシナリオでは、[レコードタイプ][CNAME] に、[ホストレコード][www] に、[DNS リクエストソース] を [中国 (香港)] に、[レコード値] を CDN の CNAME に設定します。その他の DNS レコードパラメーターについては、デフォルト値を使用するか、必要に応じて変更できます。

    配置CNAME.png

ステップ 4:アクセス性のテスト

加速リージョン (このトピックでは中国 (香港)) のコンピューターで、ブラウザの開発者ツールを使用して www.<YOURDOMAIN>.fun にアクセスし、現在の Web ページ上の各リソースの読み込み時間を表示します。

  1. GA と CDN を設定した後のネットワーク遅延を確認します。

    CDN+GA回源加速效果.png

  2. CDN のみを設定した場合のネットワーク遅延を確認します。

    CDN のオリジンサイトを GA の CNAME からオリジンサーバーのパブリック IP アドレスに変更し、GA からエンドポイントグループを削除してから、テストを実行できます。

    CDN加速.png

  3. GA と CDN を設定していない場合のネットワーク遅延を確認します。

    CDN で高速化ドメイン名を無効にし、DNS で CNAME レコードを無効にしてから、テストを実行できます。

    未使用CDN+GA.png

  4. 結果の比較:

    テストデータは、CDN を使用した後、静的コンテンツ (test.png) のアクセス遅延が短縮されることを示しています。GA を CDN と共に設定すると、動的コンテンツ (dynamic) のアクセス遅延がさらに短縮されます。

    シナリオ

    静的コンテンツ test.png

    消費時間 (ミリ秒単位)

    動的コンテンツ dynamic

    消費時間 (ミリ秒単位)

    比較

    シナリオ 1: GA と CDN を使用する

    5

    228

    シナリオ 2 と比較して、動的コンテンツのアクセス速度が 50.5% 高速です。

    シナリオ 2: CDN のみを使用する

    5

    461

    シナリオ 3 と比較して、静的コンテンツのアクセス速度が 98.1% 高速です。

    シナリオ 3: GA と CDN を使用しない

    261

    474

    /

説明

高速化のパフォーマンスは、実際のビジネステストによって異なります。

関連情報

  • 従量課金の GA 料金には、GA インスタンス料金、キャパシティユニット (CU) 料金、データ転送料金が含まれます。詳細については、「従量課金 GA インスタンスの課金」をご参照ください。

  • GA と CDN を使用してオリジンフェッチを高速化すると、CDN トラフィック (または帯域幅) 料金が発生します。詳細については、「CDN 課金の概要」をご参照ください。