Object Storage Service (OSS) の静的リソースをグローバルな CDN エッジノードにキャッシュすることで、ユーザーアクセスを高速化し、オリジンの負荷を軽減します。
注:デフォルトの OSS ドメイン名 (例: {bucket}.oss-cn-hangzhou.aliyuncs.com) を使用している場合、直接 CDN アクセラレーションを有効にすることはできません。CDN を使用するには、カスタムドメイン名をバケットに関連付け、アプリケーションの URL をそのカスタムドメイン名を使用するように更新する必要があります。
ユースケース
低コストの OSS ストレージと CDN アクセラレーションを組み合わせることで、以下のメリットが得られます。
CDN がすべてのユーザーリソースリクエストをルーティングし、オリジンの負荷を軽減します。
CDN のアウトバウンドトラフィックは、OSS の直接的なインターネットエグレストラフィックよりも単価が低くなります。
CDN は、クライアントに最も近いエッジノードからリソースを配信し、ネットワーク距離とアクセスレイテンシーを削減します。
軽量な動画ワークロード:このソリューションは、低コストの OSS ストレージと CDN エッジ配信を組み合わせることで、最小限のコストでレイテンシーを削減します。トランスコーディング、暗号化、プレーヤー統合などの高度な機能が必要な場合は、代わりに ApsaraVideo VOD を使用してください。
静的画像ワークロード:CDN のアウトバウンドトラフィックは、OSS のインターネットエグレストラフィックよりもコストが低くなります。中国本土内では、CDN+OSS と OSS への直接アクセスとのパフォーマンス差は最小限ですが、CDN はより近いエッジノードにコンテンツをキャッシュすることで、依然としてユーザー体験を向上させます。OSS の転送アクセラレーションドメイン名は、リージョン間のシナリオや、国境を越えたアクセスのための CDN オリジンフェッチアドレスとして適しています。
仕組み
ユーザーがリソースをリクエストすると、CDN はリクエストを最も近いエッジノードにルーティングします。
キャッシュヒット:ノードにリクエストされたリソースがキャッシュされている場合、ノードはリソースをユーザーに直接配信し、最速のレスポンスを提供します。
キャッシュミス:ノードにリソースがキャッシュされていない場合、ノードはオリジン (OSS バケット) にオリジンフェッチリクエストを送信してリソースを取得します。その後、ノードはリソースをユーザーに返し、次回以降のリクエストに備えてキャッシュします。
操作手順
ステップ 1: ドメインの登録と ICP 备案の完了
新しいドメイン名を登録する:ドメイン登録
既存のドメイン名を購入する:ドメインバックオーダー
中華人民共和国工業情報化部 (MIIT) の規制により、中国本土でサービスを提供するすべてのウェブサイトは ICP 备案を完了する必要があります。Alibaba Cloud International サイトで購入したドメイン名は、現在 ICP 备案をサポートしていません。中国本土でサービスを提供する必要がある場合 (ドメイン名を中国本土のサーバーに解決する場合)、まず ICP 备案プロセスを完了するか、GoChina ICP 备案サービスについて詳しく知る必要があります。
ステップ 2: アクセラレーションドメインの追加と OSS オリジンの設定
CDN コンソールでアクセラレーションドメイン名を追加し、オリジンとして機能する OSS バケットに関連付けます。
CDN コンソールにログインします。
ドメイン名の追加 をクリックし、アクセラレーションドメイン名の基本情報を設定します。
ドメイン:カスタムドメイン名 (例:
www.example.com) を入力します。ワイルドカードドメイン (例:*.example.com) もサポートされています。これは、CDN で高速化したい公開ドメイン名であり、デフォルトの OSS ドメイン名ではありません。アクセラレーションリージョン:主要なユーザーベースの地理的位置に基づいてリージョンを選択します。
ビジネスタイプ:コンテンツに基づいてタイプを選択します。たとえば、20 MB 未満の画像や小さな Web ファイルの場合は、[Image and Small File] を選択します。
初めてドメイン名を追加する場合、ドメイン所有権を確認する必要があります。ファイルベースの確認または DNS ベースの確認で行うことができます。
アクセラレーションリージョンとして中国本土または全世界を選択する場合、アクセラレーションドメイン名には ICP 备案が必要です。そうでない場合、システムによる ICP 検証中にブロックされます。
DNS 確認が失敗した場合、ドメイン名が ICP 备案を完了しているか (中国本土でのアクセラレーションの場合)、および DNS レコードが競合していないかを確認してください。
配信元サーバーの追加 をクリックし、OSS 情報を入力します。
オリジンサイト情報:オリジンタイプとして [OSS Domain] を選択します。
ドメイン名:オリジンタイプが [OSS Domain] の場合、ドロップダウンリストからアカウント配下の既存の OSS バケットのパブリックエンドポイントを選択できます。
複数のオリジンを設定する場合、以下のパラメーターを設定できます。
パラメーター
説明
優先度
プライマリ (20) またはバックアップ (30)。
重み
有効範囲は 1〜100 です。単一オリジンのシナリオでは、デフォルト値を維持できます。
[Port]
デフォルトポートは、HTTP の場合は 80、HTTPS の場合は 443 です。1〜65535 のカスタムポートがサポートされています。オリジンタイプが Function Compute の場合、ポートは自動的に 80 に設定されます。
OK をクリックします。ドメイン名が追加されると、[Recommended Configuration] タブにリダイレクトされます。
ステップ 3: コアアクセラレーションポリシーの設定
キャッシュの有効期限、Range オリジンフェッチ、パラメーターフィルタリングを設定して、キャッシュヒット率、アクセスパフォーマンス、セキュリティを向上させます。
キャッシュの有効期限の設定
キャッシュルールは順番に評価され、最初に一致したルールが適用されます。CDN コンソールで、ドメイン名の管理ページに移動し、キャッシュ設定 機能を選択します。以下の表に推奨設定を示します。
ファイルタイプ | ファイル拡張子 | 有効期限 | 説明 |
画像/音声/動画 |
| 30 日 | 頻繁に変更されないコンテンツに適しています。 |
静的スクリプト |
| 1 時間 | 新しいリリースで頻繁に変更される可能性があるコンテンツに適しています。 |
ウェブサイトのホームページ |
| キャッシュしない (0 秒) | ユーザーが常に最新のページ構造を取得できるようにします。 |
大きな動画ファイルと小さな音声ファイルの両方を配信する場合、ファイルタイプ別に個別のキャッシュポリシーを設定します。大きな動画ファイル (.mp4) の場合、より長い有効期限 (例: 30 日) を設定し、Range オリジンフェッチを有効にしてチャンク取得と高速な初期再生を可能にします。小さなファイル (.mp3) の場合、Range オリジンフェッチなしで長い有効期限で十分です。.mp4 と .mp3 の拡張子に個別のキャッシュルールを追加します。
パラメーターフィルタリングの設定
CDN コンソールで、ドメイン名の管理ページに移動し、パラメーターを無視 配下の パフォーマンスの最適化 を選択します。パラメーターフィルタリングが有効になっている場合、CDN はキャッシュキーから ? 以降のクエリ文字列を削除するため、同じリソースへのリクエストは、クエリ文字列に関係なく 1 つのキャッシュコピーを共有します。これにより、キャッシュヒット率が向上し、オリジンフェッチトラフィックが削減されます。
Range オリジンフェッチの有効化
Range オリジンフェッチが有効になっている場合、OSS はファイル全体ではなく、リクエストされたバイト範囲のみを返すため、オリジンフェッチトラフィックが削減され、大きな音声および動画ファイルの初期読み込み時間が改善されます。画像などの小さなファイルには推奨されません。
OSS キャッシュの自動更新の設定
CDN コンテンツを OSS と同期させるには、OSS コンソールの ページに移動します。対象のドメイン名について、[OSS target domain binding] と CDNキャッシュの自動更新 を有効にし、自動更新をトリガーする操作を選択します。その後、OSS はコンテンツが更新されたときに自動的に CDN 更新タスクをトリガーします。
この機能はイベント駆動型であり、100% の配信やリアルタイム更新を保証するものではありません。高同時実行書き込みやネットワークジッターが発生した場合、更新イベントが失われる可能性があります。リアルタイム更新が必要なシナリオでは、CDN の更新とプリフェッチ機能を直接使用してください。
ステップ 4: DNS の設定と構成の確認
CDN コンソールのドメイン名管理リストに移動し、追加したドメイン名を見つけて、その CNAME 値をコピーします。値が空の場合は、数秒待ってページを更新してください。
アクセラレーションドメイン名を所有する Alibaba Cloud アカウントを使用して、Alibaba Cloud DNS コンソールにログインします。インターネットの権威ある DNS 解決 ページで、対象のドメイン名を見つけて 解決設定 をクリックします。
[Add record] をクリックして、CNAME レコードを作成します。
レコードタイプ:
CNAMEを選択します。ホスト名:サブドメインのプレフィックスを入力します (例:
www)。レコード値:CDN コンソールからコピーした CNAME 値を貼り付けます。
その他のパラメーターはデフォルト値のままにして、[Confirm] をクリックします。
トラフィックが CDN 経由でルーティングされていることを確認します
DNS を設定した後、以下のいずれかの方法を使用して、CDN がトラフィックをルーティングしていることを確認します。
レスポンスヘッダーを確認するには
curl -Iを使用します: ターミナルでcurl -I https://your-domain.com/fileを実行し、レスポンスヘッダーのX-Cacheフィールドを確認します。X-Cache: HITまたはX-Cache: MISSというレスポンスは、リクエストが CDN から配信されたことを示します。X-Cacheフィールドが表示されない場合、リクエストは OSS に直接送信された可能性があります。CDN コンソールの監視データを確認します:CDN コンソールにログインし、ドメイン名にトラフィックデータがあるかどうかを確認します。設定が有効になった後にデータが表示される場合、トラフィックは CDN を経由しています。
CNAME ステータスを確認します:CDN コンソールで、対象のドメイン名の CNAME ステータスが [Configured] であることを確認します。CNAME ステータスには、[Configured] (緑)、[Pending Configuration] (黄)、[Detection Timed Out] の 3 つがあります。
ドメイン名が OSS と CDN の両方に解決される場合、リクエストは CDN をバイパスして OSS に直接送信される可能性があります。DNS 設定に CDN を指す CNAME レコードのみが含まれていることを確認し、OSS ドメイン名を直接指す A レコードまたは CNAME レコードを削除してください。
ステップ 5: セキュリティの設定
HTTPS の有効化
CDN に追加する前にドメイン名が HTTPS を使用していた場合は、CDN コンソールで SSL 証明書を設定します。そうしないと、CDN 経由の HTTPS リクエストは失敗します。
HTTPS を有効にすると、静的 HTTPS リクエストに対して料金が発生します。HTTPS リクエストの料金は、CDN データ転送プランではオフセットできません。サービスの中断を避けるため、アカウントに十分な残高があることを確認するか、HTTPS リクエストパックを購入してください。詳細については、「静的 HTTPS リクエスト」をご参照ください。
Alibaba Cloud CDN コンソールのドメイン名管理リストに移動し、追加したドメイン名を見つけて、その名前をクリックしてドメイン設定ページに移動します。
HTTPS 設定 タブを選択し、HTTPS 証明書 配下で 変更 をクリックします。
HTTPS 設定 ページで、HTTPS セキュアアクセラレーション スイッチをオンにし、証明書を選択します。
証明書タイプ
説明
SSL 証明書サービス
アカウントの Certificate Management Service から既存の証明書を選択します。
カスタム証明書 (証明書 + プライベートキー)
PEM 形式で証明書コンテンツと秘密鍵を手動でアップロードします。証明書名を設定し、証明書と秘密鍵をアップロードする必要があります。
Alibaba Cloud と Digicert による無料の DV 証明書で、有効期間は 1 年、自動更新されます。ワイルドカードドメインはサポートされていません。承認同意チェックボックスを選択する必要があります。
CSR 証明書
CSR (Certificate Signing Request) を提出した後に使用します。
Alibaba Cloud Certificate Management Service から証明書を購入した場合は、SSL 証明書サービス を選択し、購入した証明書を選択します。
購入した証明書を選択できない場合は、証明書に紐付けられているドメイン名がアクセラレーションドメイン名と同じかどうかを確認してください。サードパーティのサービスプロバイダーが発行した証明書を使用している場合は、カスタム証明書 (証明書 + プライベートキー) を選択し、証明書 (公開鍵)
プライベートバケットへの CDN アクセスの承認
OSS バケットがプライベートの場合、CDN がアクセスできるように承認する必要があります。そうしないと、すべてのオリジンフェッチリクエストが権限エラーで失敗します。
Alibaba Cloud CDN コンソールのドメイン名管理リストに移動し、以前に追加したドメイン名をクリックして、その設定ページに移動します。
Back-to-Origin 設定 セクションで、OSS 非公開バケットへのアクセス をオンにし、同一アカウント内のバケット を選択します。クロスアカウントのオリジンフェッチを設定する必要がある場合は、「プライベート OSS バケットへのオリジンフェッチ」をご参照ください。
URL 認証の設定
URL 認証 (タイムスタンプ付きホットリンク保護) は、アクセス URL に署名と有効期限を追加し、不正なホットリンクとリソースの盗用を防ぎます。
Alibaba Cloud CDN コンソールのドメイン名管理リストに移動し、以前に追加したドメイン名をクリックして、その設定ページに移動します。
リソースアクセス制御 タブで、URL 署名の設定 を選択し、変更 をクリックします。
設定ページで、タイプ A を選択し、マスターキー と バックアップキー を設定し (少なくとも 1 つのキーが必要)、安全に保管してください。これらのキーは、サーバー上で署名付き URL を検証するために使用されます。使用例については、「認証タイプ A の説明」をご参照ください。
ビジネスニーズに基づいて、認証された URL の有効期間を設定します (例: 1800 秒)。
使用量上限の設定
使用量上限は、ドメイン名の帯域幅、トラフィック、静的 HTTPS リクエスト数を制限し、攻撃やトラフィックスパイクによる予期しない請求を防ぎます。
監視とアラート
リアルタイム監視の設定:CDN でドメイン名のピーク帯域幅を監視します。帯域幅がしきい値に達すると、システムは早期のリスク検出のためにアラートを送信します。
請求アラートの設定:コンソールの上部メニューで、[Billing and cost management] を選択し、以下の機能を使用してアカウントの支出を管理します。
利用可能残高アラート:アカウント残高が指定した金額を下回ったときに、指定した連絡先にアラートが送信されるように設定します。
課金
CDN オリジンとして OSS を使用する場合、以下の料金が発生する可能性があります。
CDN アウトバウンドトラフィック料金:ユーザーが CDN 経由でリソースにアクセスする際のアウトバウンドトラフィックに対して課金されます。CDN アウトバウンドトラフィックは、通常、OSS の直接的なインターネットエグレストラフィックよりもコストが低くなります。CDN データ転送プランを購入することで、コストをさらに削減できます。システムは追加設定なしでプランを自動的に適用します。
オリジンフェッチトラフィック料金:CDN がオリジンからコンテンツをフェッチする際に OSS から生成されるアウトバウンドトラフィックに対する料金。
静的 HTTPS リクエスト料金:HTTPS セキュアアクセラレーションを有効にした後に発生する料金。
HTTPS リクエストの料金は、CDN データ転送プランではオフセットできません。静的 HTTPS リクエストリソースプランを別途購入するか、アカウントに十分な残高があることを確認する必要があります。