Alibaba Cloud CDNを使用すると、Object Storage Service (OSS) バケットからの画像やビデオなどの静的リソースの取得を高速化できます。 このトピックでは、Alibaba Cloud CDNコンソールを使用してOSSバケットからのリソースの取得を高速化する方法と、Alibaba Cloud CDNの使用シナリオについて説明します。
メリット
OSSは費用対効果の高いストレージサービスです。 Alibaba Cloud CDN は、静的リソースの配信を高速化できます。 オリジンサーバーとしてのOSSバケットには、次の利点があります。
オリジンサーバー宛てのすべてのリクエストは、ポイントオブプレゼンス (POP) にリダイレクトされます。 これにより、オリジンサーバーの負荷が軽減されます。
OSSからインターネット経由のアウトバウンドデータ転送ではなく、Alibaba Cloud CDNからのアウトバウンドデータ転送に対して課金されます。 Alibaba Cloud CDNからの送信データ転送は、低価格で請求されます。
クライアントは、最も近いPOPから静的リソースを取得します。 これにより、ネットワークの伝送距離が最小限に抑えられ、データ伝送の品質が保証されます。
アーキテクチャ
オリジンサーバーがOSSバケットの場合、Alibaba Cloud CDNは、スクリプト、画像、オーディオファイル、ビデオファイルなどの静的リソースをバケットからPOPにキャッシュします。 ユーザーがリソースを要求すると、POPは要求されたリソースをユーザーに返します。 これにより、コンテンツの配信が高速化されます。
次の図は、アーキテクチャを示しています。
利用シナリオ
コンテンツ配信ネットワーク (CDN) サービスは、静的コンテンツ配信アクセラレーション、動的コンテンツ配信アクセラレーション、およびセキュアなアクセラレーションのシナリオで使用できます。 Alibaba Cloud CDN は、静的コンテンツ配信の高速化のみに対応しています。 動的コンテンツの配信を高速化したり、高いセキュリティを確保しながらコンテンツの配信を高速化したい場合は、dynamic content delivery Network (DCDN) を使用できます。
websit e image.example.comでは、OSSバケットからの画像取得に高速化が必要です。 次の表に、ビジネス要件と関連情報を示します。
項目 | 説明 | 例 |
Webサイトのドメイン名 | Alibaba Cloud CDNによって高速化されるドメイン名。 | image.example.com |
ビジネスタイプ | Webサイトのコンテンツに基づいてビジネスタイプを決定します。 Webサイトで画像が配布されている場合は、ビジネスタイプを [画像と小さなファイル] に設定します。 | 画像と小さなファイル |
アクセラレーションリージョン | ウェブサイトの訪問者がいる地域。 | 中国本土のみ |
オリジンドメイン名 | 現在のAlibaba Cloudアカウントに属するOSSバケットを選択するか、OSSバケットのパブリックドメイン名を入力します。 | *** .oss-cn-hangzhou.aliyuncs.com |
その他の機能 | ビジネス要件に基づいて他の機能を有効にします。 |
|
手順
次の図は、Alibaba Cloud CDNを使用してWebサイトのコンテンツ配信を高速化する方法を示しています。 上記のシナリオを例として使用します。
課金
オリジンサーバーがOSSバケットの場合、Alibaba Cloud CDNからのアウトバウンドデータ転送 (Alibaba Cloud CDNによって課金) およびOSSからAlibaba Cloud CDNへのデータ転送 (OSSによって課金) に対して課金されます。 詳細については、「OSS コンテンツアクセラレーションの課金」をご参照ください。
前提条件
Alibaba Cloudアカウントが作成され、アカウントの実名検証が完了しました。 詳細については、 Alibaba Cloudへのサインアップおよび実名登録ページ。
OSSが有効化され、OSSバケットが作成され、関連リソースがOSSバケットにアップロードされます。 詳細については、「OSSの有効化」をご参照ください。
高速化するドメイン名を用意する。
OSSバケットからのリソースの取得を高速化するためにAlibaba Cloud CDNを設定する
手順1: Alibaba Cloud CDNを有効化し、ドメイン名を追加して高速化
にログインします。 Alibaba Cloud CDNコンソール
左側のナビゲーションウィンドウで、ドメイン名 をクリックします。 [ドメイン名] ページで、ドメイン名の追加 をクリックし、次のパラメーターを設定します。
ドメイン: ユーザーがWebサイトにアクセスするために使用するドメイン名。 この例では、
image.example.com
を入力します。加速リージョン: 中国本土のみ (要 ICP 登録)など、OSSでの画像の配信を高速化するリージョンです。
説明Regionパラメーターを中国本土のみに設定した場合、ドメイン名のICP申請を申請する必要があります。 詳細については、「ドメイン名の準備と確認」をご参照ください。
初めてAlibaba Cloud CDNにドメイン名を追加すると、システムはドメイン名を追加する前にドメイン名の所有権を検証します。 画面の指示に従って検証を完了します。 詳細については、「ドメイン名の所有権の確認」をご参照ください。
[オリジンサーバーの追加] をクリックし、パラメーターを設定します。 [オリジン情報] を [OSSドメイン] に設定し、ドメイン名 ドロップダウンリストから高速化するOSSバケットを選択します。 他のパラメーターにデフォルト値を使用し、[OK] をクリックします。
オリジンサーバーを追加したら、コンプライアンスコミットメントを読んで選択し、次へその後、手動レビューを待ちます。
説明アクセラレーションドメイン名が手動で確認する必要がない場合は、次の手順に進むことができます。 ビジネス要件に基づいて、[推奨機能] ステップでキャッシュの有効期限、帯域幅の上限、およびHTML最適化機能を設定できます。 この機能により、Alibaba Cloud CDNのキャッシュヒット率、セキュリティ、アクセスパフォーマンスが向上します。
ドメイン名のステータスが有効になっている場合は、高速化ドメイン名のCNAMEを表示します。 この例では、CNAMEは
image.example.com.w.kunlunsl.com
です。
ステップ2: CNAMEレコードの追加
Alibaba Cloud CDNにドメイン名を追加すると、システムはドメイン名にCNAMEを割り当てます。 リクエストをPOPにリダイレクトする前に、ドメイン名をCNAMEにマップするには、DNSサービスプロバイダーのシステムにCNAMEレコードを追加する必要があります。
次の例では、Alibaba Cloud DNSを使用してCNAMEレコードを追加する方法を示します。 詳細については、「ドメイン名のCNAMEレコードの追加」をご参照ください。
にログインします。Alibaba Cloud DNSコンソールを、アクセラレーションドメイン名が属するAlibaba Cloudアカウントに置き換えます。
左側のナビゲーションウィンドウで、[ドメイン名の解決] をクリックします。 CNAMEを追加するドメイン名を見つけて、[操作] 列の [DNS設定] をクリックします。
クリックDNSレコードの追加CNAMEレコードを追加します。
レコードタイプ: [CNAME] を選択します。
ホスト名:
イメージ
を入力します。レコード値: Alibaba Cloud CDNによってアクセラレーションドメイン名 (
image.example.com.w.kunlunsl.com
など) に割り当てられたCNAMEを入力します。他のパラメーターはデフォルト値を使用します。
クリックOK.
ステップ3: (オプション) 推奨設定の設定
高速化のパフォーマンスを向上させ、データ転送を保護し、コンテンツ配信を高速化するために、ビジネス要件に基づいて対応する機能を有効にできます。
Alibaba Cloud CDNコンソールで、[ドメイン名] ページに移動し、管理するドメイン名を見つけて、[操作] 列の [管理] をクリックします。
ビジネス要件に基づいて次の機能を設定します。
シナリオ | 説明 | 関連ドキュメント |
キャッシュヒット率を上げる | キャッシュヒット率を上げるには、次のルールに基づいてキャッシュされたリソースの有効期限 (TTL) 値を指定します。 画像やアプリケーションパッケージなど、更新頻度の低い静的ファイルには、1か月以上のTTLを指定します。 JavaScriptやCSSファイルなど、頻繁に更新される静的ファイルのビジネス要件に基づいてTTLを指定します。 PHP、JSP、ASPファイルなどの動的ファイルのキャッシュを無効にするには、TTLを0秒に指定します。 | |
POPがリクエストをリダイレクトするサイトを指定する | デフォルトでは、ホストのアドレスはOSSバケットのドメイン名です。 この例では、OSSバケットのドメイン名は *** .oss-cn-hangzhou.aliyuncs.comです。 s origin.developer.aliyundoc.comなどのカスタムドメイン名がOSSバケットにマップされている場合は、ドメインタイプをカスタムドメインに設定し、オリジンホストをo origin.developer.aliyundoc.comに設定する必要があります。 | 詳細については、「デフォルトの送信元ホストの設定」をご参照ください。 |
OSSバケットを不正アクセスから保護する | デフォルトでは、OSSバケットにはインターネット経由でアクセスできます。 OSSバケットを不正アクセスから保護する場合は、OSSバケットのACLをprivateに設定し、プライベートバケットアクセス機能を有効にします。 このように、Alibaba Cloud CDNは、Alibaba Cloud CDNと同じアカウントに属するOSSバケットにのみリクエストをリダイレクトする権限を持ちます。 | この操作を実行する前に、OSSバケットのACLをprivateに設定して、許可されたアクセスのみを許可します。 詳細については、「バケットACL」をご参照ください。 |
POPでのファイル配布を高速化 | レンジオリジンフェッチを有効にすると、オリジンサーバーとして機能するOSSバケットは、rangeヘッダーで指定されたファイルのチャンクをPOPに返します。 これにより、オリジントラフィックが削減され、コンテンツ配信が高速化されます。 レンジオリジンフェッチは、オーディオやビデオストリーミングなどの大規模なファイル配布シナリオに適しています。 レンジオリジンフェッチは、小さなファイル配布シナリオには適していません。 Alibaba Cloud CDNを使用してイメージの配信を高速化する場合、レンジオリジンフェッチを有効にする必要はありません。 | |
キャッシュヒット率を上げる ファイル配布の効率化 | パラメーターフィルター機能を有効にすると、POPsは疑問符 (?) に続くパラメーターをリクエストURLから削除します。 この方法では、異なるクエリ文字列を運ぶが、同じリソースを宛先とする要求がキャッシュにヒットする可能性があります。 これにより、キャッシュヒット率が向上し、オリジントラフィックが減少します。 | |
ウェブサイトをホットリンクから保護する | リファラーホワイトリストまたはブラックリストを設定すると、Alibaba Cloud CDN はユーザー ID に基づいてリクエストを許可またはブロックします。 リクエストが許可されている場合、Alibaba Cloud CDNはリクエストされたリソースのURLを返します。 リクエストがブロックされた場合、Alibaba Cloud CDNはHTTP 403ステータスコードを返します。 | |
ホットリンクやIP盗難からWebサイトを保護する | URL署名は、オリジンサーバーなしでは実行できません。 配信元サーバーは、POPのURL署名設定に基づいて署名付きURLを生成します。 URL署名を有効にすると、認証に合格したリクエストのみがPOP上のリソースにアクセスできます。 |
関連する API 操作
Alibaba Cloud CDNによるOSSバケット内のリソースへのアクセス許可
CNAMEレコードが有効になり、アクセスするリソースのACLをpublic-readに設定した後、次のいずれかの方法でOSSバケット内のリソースにアクセスできます。
高速化ドメイン名とファイルパスを連結し、連結URLをwebブラウザーに入力します。 たとえば、高速化ドメイン名が
aliyundoc.com
で、ルートディレクトリのimage_01.jpgファイルにアクセスする場合は、http://aliyundoc.com/image_01.jpg
にリクエストを送信できます。OSSバケットのドメイン名をクライアントの高速化ドメイン名に設定します。 これにより、クライアントの高速化ドメイン名を使用して、OSSバケット内のリソースにアクセスできます。