Object Storage Service (OSS) をコンテンツデリバリーネットワーク (CDN) のオリジンとして使用し、グローバルなエッジノードに静的コンテンツをキャッシュします。これにより、近接アクセスを実現して速度を向上させ、オリジンの負荷を軽減します。
注: デフォルトの OSS ドメイン名 (例:{bucket}.oss-cn-hangzhou.aliyuncs.com) を使用している場合、そのドメイン名で CDN アクセラレーションを直接有効化することはできません。CDN を使用するには、バケットにカスタムドメイン名を関連付け、アプリケーションの URL をそのカスタムドメイン名を使用するように更新する必要があります。
ユースケース
OSS は低コストのオブジェクトストレージを提供し、CDN は静的コンテンツ配信を高速化します。OSS を CDN のオリジンとして使用すると、次のメリットがあります:
-
CDN がユーザーのリソースリクエストをすべてルーティングするため、オリジンの負荷を軽減できます。
-
CDN 送信トラフィックの単価は、OSS への直接アクセスによるインターネット送信トラフィックの単価より低くなります。
-
CDN はクライアントに最も近いエッジノードからリソースを配信するため、ネットワーク距離とアクセスレイテンシーを削減できます。
軽量な動画ワークロード:OSS は低コストのストレージを提供し、CDN は近接ロケーションからコンテンツを配信してレイテンシーを削減するため、このソリューションはシンプルで費用対効果に優れています。トランスコーディング、暗号化、プレーヤー連携などの高度な機能が必要な場合は、代わりに ApsaraVideo VOD を使用してください。
静的画像ワークロード:CDN 送信トラフィックの単価は、OSS のインターネット送信トラフィックの単価より低くなります。ユーザーが中国本土のみにいる場合、CDN+OSS 構成と OSS への直接アクセスの速度差は最小限です。ただし、CDN はユーザーに近いエッジノードにコンテンツをキャッシュすることでユーザー体験を向上させます。OSS 転送アクセラレーションドメイン名は、リージョン間のシナリオ、または国境を越えたアクセスを最適化するための CDN のオリジンフェッチアドレスとして、より適しています。
仕組み
ユーザーがリソースをリクエストすると、CDN はリクエストを最寄りのエッジノードにルーティングします:
-
キャッシュヒット:ノードに要求されたリソースがキャッシュされている場合、ノードはリソースをユーザーに直接返し、最速で応答します。
-
キャッシュミス:ノードにリソースがキャッシュされていない場合、ノードはオリジン (OSS バケット) にオリジンフェッチリクエストを送信してリソースを取得します。その後、ノードはリソースをユーザーに返し、後続のリクエストに備えてキャッシュします。
操作手順
手順 1:ドメインの登録と ICP 登録の完了
-
新しいドメイン名の登録:ドメイン登録
-
既存のドメイン名の購入:ドメインバックオーダー
中華人民共和国工業情報化部 (MIIT) の規制により、中国本土でサービスを提供するすべての Web サイトは ICP 登録を完了する必要があります。Alibaba Cloud International サイトで購入したドメイン名は、現時点では ICP 登録に対応していません。中国本土でサービスを提供する必要がある場合 (ドメイン名を中国本土のサーバーに解決する場合)、事前に ICP 登録プロセスを完了するか、GoChina ICP 登録サービスについて確認してください。
手順 2:アクセラレーションドメイン名の追加と OSS オリジンの設定
CDN コンソールでアクセラレーションドメイン名を追加し、オリジンとして機能する OSS バケットに関連付けます。
-
CDN コンソール にログオンします。
-
ドメイン名の追加 をクリックし、アクセラレーションドメイン名の基本情報を設定します:
-
ドメイン:カスタムドメイン名 (例:
www.example.com) を入力します。ワイルドカードドメイン (例:*.example.com) もサポートしています。これは、デフォルトの OSS ドメイン名ではなく、CDN で高速化する公開向けのドメイン名です。 -
アクセラレーションリージョン:主なユーザーベースの地理的な位置に基づいてリージョンを選択します。
-
ビジネスタイプ:コンテンツに基づいてタイプを選択します。たとえば、20 MB 未満の画像と小さな Web ファイルの場合は、ビジネスタイプ を選択します。
-
ドメイン名を初めて追加する場合、ドメイン所有権の検証が必要です。ファイルベースの検証または 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 back-to-origin、パラメーターフィルタリングを設定します。これらの設定により、CDN のキャッシュヒット率、アクセスパフォーマンス、およびセキュリティが向上します。
キャッシュ有効期限の設定
適切に設計されたキャッシュポリシーは、CDN のパフォーマンスを最大化し、不要なオリジンフェッチリクエストを削減します。キャッシュルールは順番に評価され、受信リクエストに最初に一致したルールが適用されます。CDN コンソールでドメイン名の管理ページに移動し、キャッシュ設定 機能を選択します。次の表に推奨設定を示します:
|
ファイルタイプ |
ファイル拡張子 |
有効期限 |
説明 |
|
画像、オーディオ、動画 |
|
30 日 |
あまり変更されないコンテンツ向けです。 |
|
静的スクリプト |
|
1 時間 |
新しいリリースで頻繁に変わる可能性があるコンテンツ向けです。 |
|
Web サイトのホームページ |
|
キャッシュしない (0 秒) |
ユーザーが常に最新のページ構造を取得できるようにします。 |
大容量の動画と小さな MP3 ファイルを混在して配信する場合は、ファイルタイプごとにキャッシュポリシーを分けて設定してください。MP4 などの大容量動画ファイルには、より長い有効期限 (例:30 日) を設定し、Range back-to-origin を有効化することで、分割されたオリジンフェッチリクエストに対応し、初回再生の速度を向上させます。MP3 などの小さなファイルにも長い有効期限を設定できますが、Range back-to-origin は不要です。.mp4 と .mp3 の拡張子に対して個別のキャッシュルールを追加できます。
パラメーターフィルタリングの設定
CDN コンソールでドメイン名の管理ページに移動し、パフォーマンスの最適化 の パラメーターを無視 を選択します。パラメーターフィルタリングを有効化すると、CDN はキャッシュキーから ? 以降のクエリパラメーターを除外します。これにより、クエリパラメーターに関係なく同一リソースへのリクエストが同じキャッシュオブジェクトにヒットするため、キャッシュヒット率が向上し、back-to-origin トラフィックが削減されます。
Range back-to-origin の有効化
Range back-to-origin を有効化すると、OSS はファイル全体ではなく、CDN ノードの Range リクエストで指定された範囲のみを返します。これにより、オーディオや動画などの大容量ファイルにおける back-to-origin トラフィックと応答時間を削減できます。画像などの小さなファイルには推奨されません。
OSS キャッシュの自動更新の設定
OSS 内のコンテンツ更新を CDN に迅速に同期するには、OSS コンソールで ページに移動します。対象のドメイン名に対して、[OSS target domain binding] と CDNキャッシュの自動更新 を有効化し、自動更新をトリガーする操作を選択します。OSS 内のコンテンツが更新されると、OSS が自動的に CDN の更新タスクをトリガーします。
この機能はイベント駆動であり、100% の配信保証やリアルタイム更新を保証するものではありません。OSS への高並列書き込みやネットワークジッターなどの極端なケースでは、更新イベントが失われる場合があります。リアルタイム性の要件が高いシナリオでは、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 リクエストパックを購入してください。詳細については、「Static HTTPS requests」をご参照ください。
-
Alibaba Cloud CDN コンソールのドメイン名管理リストで、追加したドメイン名をクリックし、ドメイン構成ページに移動します。
-
HTTPS 設定 タブを選択し、HTTPS 証明書 で 変更 をクリックします。
-
HTTPS 設定 ページで、HTTPS セキュアアクセラレーション スイッチをオンにし、証明書を選択します:
証明書タイプ
説明
SSL 証明書サービス
アカウントの Certificate Management Service から既存の証明書を選択します。
カスタム証明書 (証明書 + プライベートキー)
PEM 形式の証明書の内容と秘密鍵を手動でアップロードします。証明書名を設定し、証明書と秘密鍵をアップロードする必要があります。
[Free Certificate]
Alibaba Cloud と Digicert が提供する 1 年有効の無料 DV 証明書で、自動更新されます。ワイルドカードドメインはサポートしていません。認可同意のチェックボックスを選択する必要があります。
[CSR Certificate]
CSR (Certificate Signing Request) を送信した後に使用します。
Alibaba Cloud Certificate Management Service で証明書を購入済みの場合は、SSL 証明書サービス を選択し、購入した証明書を選択します。
購入した証明書を選択できない場合は、証明書に関連付けられているドメイン名がアクセラレーションドメイン名と同一かどうかを確認してください。サードパーティプロバイダーが発行した証明書を使用している場合は、カスタム証明書 (証明書 + プライベートキー) を選択し、証明書 (公開鍵) をアップロードします。証明書は Alibaba Cloud Certificate Management Service に保存されます。[My Certificates] で確認できます。
プライベートバケットへの CDN アクセスの承認
OSS バケットがプライベートの場合は、CDN にアクセス権限を付与する必要があります。承認しない場合、権限不足により CDN からのすべてのオリジンフェッチリクエストが失敗します。
-
Alibaba Cloud CDN コンソールのドメイン名管理リストで、前に追加したドメイン名をクリックし、構成ページに移動します。
-
Back-to-Origin 設定 セクションで、OSS 非公開バケットへのアクセス をオンにし、同一アカウント内のバケット を選択します。アカウント間のオリジンフェッチを設定する必要がある場合は、「Back-to-origin to private OSS bucket」をご参照ください。
URL 認証の設定
URL 認証 (タイムスタンプ付きホットリンク防止) は、アクセス URL に署名と有効期限を付与し、不正なホットリンクやリソースの盗用を防止します。
-
Alibaba Cloud CDN コンソールのドメイン名管理リストで、前に追加したドメイン名をクリックし、構成ページに移動します。
-
リソースアクセス制御 タブで URL 署名の設定 を選択し、変更 をクリックします。
-
設定ページで タイプ A を選択し、マスターキー と バックアップキー を設定します (少なくとも 1 つのキーが必要です)。これらのキーは署名付き URL を検証するためにサーバー側で使用するため、安全に保管してください。使用例については、「Description of authentication Type A」をご参照ください。
-
ビジネス要件に基づいて、認証付き URL の有効期間を設定します (例:1800 秒)。
使用量上限の設定
攻撃やリソースの不正使用による想定外の請求を防ぐため、使用量上限を設定します。使用量上限は、ドメイン名の帯域幅、トラフィック、および静的 HTTPS リクエスト数を制限し、トラフィックスパイクによる損失を抑えます。
監視とアラート
リアルタイム監視の設定:CDN で指定したドメイン名のピーク帯域幅を監視します。帯域幅が設定したしきい値に達すると、システムが管理者に通知し、早期のリスク検知に役立ちます。
請求アラートの設定:コンソールの上部メニューで [Billing and cost management] を選択し、次の機能を使用してアカウントの支出を管理します:
-
[Available credit alert]:アカウント残高が指定した金額を下回った場合に、指定した連絡先へアラートを送信するように設定します。
課金
OSS を CDN のオリジンとして使用する場合、次の料金が発生する可能性があります:
-
CDN 送信トラフィック料金:ユーザーが CDN 経由でリソースにアクセスした際に発生する送信トラフィックに対する料金です。コストを削減するために、CDN データ転送プランを購入することを推奨します。CDN 送信トラフィックの単価は、通常、OSS のインターネット送信トラフィックの単価より低くなります。CDN リソースプランを購入すると、追加の設定は不要です。システムが自動的にプランを CDN 送信トラフィック料金に適用します。
-
back-to-origin トラフィック料金:CDN がオリジンからコンテンツを取得する際に OSS から発生する送信トラフィックに対する料金です。
-
静的 HTTPS リクエスト料金:HTTPS セキュアアクセラレーションを有効化した後に発生する料金です。
HTTPS リクエストの料金は CDN データ転送プランでは相殺できません。静的 HTTPS リクエストのリソースプランを別途購入するか、アカウント残高が十分であることを確認する必要があります。