Web ポータルは、一般的に画像、テキスト、動画などの静的リソースを配信します。Web サイトが主に小規模ファイルと画像で構成されている場合は、ビジネスタイプとして [画像と小規模ファイル] を選択します。Web サイトに大量の動画および音声コンテンツがある場合は、[VOD] を選択します。このチュートリアルでは、testcdn.top を例に、Alibaba Cloud CDN を使用して [画像と小規模ファイル] ビジネスタイプの OSS リソース配信を高速化する方法を説明します。
パフォーマンス上のメリット
Alibaba Cloud Application Real-Time Monitoring Service (ARMS) を使用した接続テストで、OSS リソースの直接 URL とそのCDN 高速化ドメイン名を比較しました。結果は以下のとおりです。
接続テストの結果は、ネットワークの状況によって異なる場合があります。
接続テストによると、CDN 高速化ドメイン名の可用性は 100% で、平均応答時間は 712.44 ms でした。対照的に、OSS リソースへの直接接続は失敗し、可用性は 0% で、リクエストは平均 1.1 秒で失敗しました。
このデータに基づくと、Alibaba Cloud CDN を使用すると、応答時間を約 35% 改善できます。
前提条件
-
Alibaba Cloud CDN が有効化されていない場合は、「Alibaba Cloud CDN を有効化する」をご参照ください。
-
自社サーバーや OSS バケットなど、安定したオリジンサーバーが必要です。オリジンサーバーがない場合は、「ECS インスタンスの作成」または「バケットの作成」をご参照ください。
ドメイン名の追加
-
Alibaba Cloud CDN コンソールにログインします。
-
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。
-
ドメイン名 ページで、ドメイン名の追加 をクリックします。
-
ドメイン名を追加 ページで、[加速リージョン] を [グローバル (中国本土を除く)] に設定し、[加速ドメイン名] に
images.testcdn.topを入力し、[業務タイプ] で [画像と小規模ファイル] を選択し、[リソースグループ] で [デフォルトリソースグループ] を選択します。重要-
初めてドメイン名を追加する場合、ドメイン名の所有権を検証する必要があります。詳細については、「ドメイン名の所有権の検証」をご参照ください。
-
-
[オリジンサーバーの追加] をクリックし、[オリジンサーバーの追加] ページで、[オリジンサーバー情報] タイプに [OSS ドメイン] を選択し、[パブリックアクセス] に [バケットドメイン] を選択し、[優先度] に [プライマリ] を選択し、[重み] に 10 を入力し、[ポート] に 80 を入力します。
-
データ越境コンプライアンスコミットメントに同意するチェックボックスをオンにし、[次へ] をクリックしてから、[ドメイン名に戻る] をクリックします。
CNAME レコードの設定
-
[ドメイン] ページで、追加したドメイン名を見つけ、その CNAME 値をコピーします。
-
Alibaba Cloud DNS コンソールにログインします。
-
[Public DNS] ページで、ルートドメイン
testcdn.topを探し、[操作] 列の [Configure] をクリックします。 -
[DNS 設定] ページで、[レコード追加] をクリックします。[レコードタイプ] には、CNAME を選択します。ホストレコード には、
imagesを入力します。DNS リクエストソース には、デフォルトを選択します。レコード値 には、ステップ 1 でコピーした CNAME 値を入力します。
トラブルシューティング
-
問題の説明
ドメイン名を追加して CNAME レコードを設定した後、高速化されたリソースにアクセスすると 403 エラーが返されます。
E:\>curl -v http://images.testcdn.top/pic_03.jpg
* Trying 12xxx 9:80...
* Connected to images.testcdn.top (1xxx) port 80
> GET /pic_03.jpg HTTP/1.1
> Host: images.testcdn.top
> User-Agent: curl/8.4.0
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Server: Tengine
-
ソリューション
このエラーは、OSS バケットがプライベートであることを示しています。セキュリティを維持するために、バケットをパブリックにするのではなく、Alibaba Cloud CDN にプライベートバケットへのアクセスを許可します。次の手順に従ってください:
-
Alibaba Cloud CDN コンソールで、ドメイン名 ページで、高速化ドメイン名
images.testcdn.topを見つけ、管理 をクリックします。 -
ドメイン管理ページで、Back-to-Origin 設定 タブをクリックします。OSS 非公開バケットへのアクセス セクションで、ステータス スイッチをオンにし、タイプ として 同一アカウント内のバケット を選択します。
-
リソースへのアクセスを再試行します。リソースが正しくロードされるはずです。
E:\>curl -v http://images.testcdn.top/pic_03.jpg * Trying 12xxx9:80... * Connected to images.testcdn.top (1xxx9) port 80 > GET /pic_03.jpg HTTP/1.1 > Host: images.testcdn.top > User-Agent: curl/8.4.0 > Accept: */* > < HTTP/1.1 200 OK < Server: Tengine < Content-Type: image/jpeg < Content-Length: 8775526