概要: パブリック クラウド製品の CDN

1. はじめに

CDN 関連のコンセプトは企業から提供されることが多いため、この記事では特にそれをまとめます。

2. 製品の説明

Baidu Cloud のコンテンツ配信ネットワーク CDN は、ネットワーク上のコンテンツ配信と送信を高速化し、ネットワークの安定性とアクセス速度を向上させる、インターネット ベースの分散サービス プラットフォームです。

CDNは主にWebサイトの静的・動的リソースをネットワークエッジのノードにキャッシュし、最短距離・最短時間・最適なルートでユーザーに情報を届けることで、ユーザーアクセスの応答速度やエクスペリエンスを向上させます。

Baidu Cloud の CDN 製品は次のサービスを提供します。

  • コンテンツ配信高速化サービス:Webサイトの静的および動的リソースをユーザーに最も近いネットワークエッジノードに分散してキャッシュすることで、ユーザーのアクセス速度と応答性を向上させます。
  • ネットワークのボトルネックを解決する: CDN は、負荷分散、ノイズ低減、最適化などのテクノロジーを通じてネットワーク帯域幅のボトルネック、ネットワークの輻輳、パケット損失などの問題を解決し、ネットワークの安定性と信頼性を向上させることができます。
  • ネットワーク セキュリティ保護: CDN は、DOS/DDoS 攻撃保護、Web アプリケーション ファイアウォール (WAF) およびその他の機能をサポートし、ネットワーク セキュリティを確保しながら Web サイトやアプリケーションの可用性を向上させます。
  • データ分析サービス: CDN は、ユーザーが Web サイトのトラフィックを理解し、ホットスポット、ユーザー ソース、端末デバイス、その他の情報にアクセスし、ビジネスの最適化をサポートできるようにする詳細なリアルタイム データ統計と分析サービスを提供します。

つまり、Baidu Cloud の CDN は、高速、安全、信頼性の高いネットワーク アクセスとサービスをユーザーに提供できる、高性能で信頼性の高いコンテンツ配信ネットワーク サービスです。

3. CDN サーバーと通常のサーバーの違いは何ですか?

CDN サーバーの主な機能は、ユーザーが要求したコンテンツを配信およびキャッシュすることにより、ユーザーのアクセス速度とエクスペリエンスを向上させることです。したがって、CDN サーバーには、ネットワーク カードに対して比較的高いパフォーマンス要件があります。効率的なネットワーク カードにより、CDN サーバーはユーザー リクエストをより速く受信して処理できるようになり、ネットワーク スループットが向上し、遅延が短くなります。

通常のサーバーは、主に Web サーバー、アプリケーション サーバー、データベース サーバーなど、クライアントにさまざまなサービスを提供し、CPU とメモリに対する要件が高くなります。CPUは主に各種リクエストや論理計算の処理に使用され、メモリはサーバーの応答速度やパフォーマンスを向上させるための一時データのキャッシュや保存に使用されます。

通常のサーバーと同様に、CDN サーバーも CPU やメモリなどのハードウェア リソースのサポートを必要とします。CDN サーバーのパフォーマンスが不十分な場合、ユーザー リクエストの処理速度や効率に影響が出る可能性があります。したがって、CDN サービス プロバイダーを選択するときは、CDN サービスの安定性と高可用性を確保するために、そのハードウェア リソースの構成とパフォーマンスを考慮する必要があります。

CDN サーバーにはネットワーク カードに対する高いパフォーマンス要件があり、通常のサーバーには主に CPU とメモリに対する高いパフォーマンス要件がありますが、どちらもサービスのパフォーマンスと信頼性を確保するには十分なハードウェア リソースが必要です。

CDN サーバーと通常のサーバーの違いは主に、アプリケーション シナリオ、動作モード、およびパフォーマンス要件にあります。

  • さまざまなアプリケーション シナリオ 通常のサーバーは、通常、Web サイト、アプリケーション、データベースなどのサービスのホスティング、展開、管理に使用され、主にコンピューティング リソースやストレージ リソースなどの機能を提供します。CDN サーバーは、キャッシングおよびマルチノード配信テクノロジを通じて、画像、ビデオ、オーディオ、ソフトウェアなどの静的および動的リソースを配信し、これらのリソースへのユーザーのアクセスを高速化し、ユーザー エクスペリエンスを向上させるために特に使用されます。
  • 動作モードは異なります。通常のサーバーは、オンデマンドでタスクを実行したり、ユーザーの要求に応答したり、他のアプリケーションのコンピューティングおよびストレージのタスクを完了したりします。CDN サーバーは、大規模なキャッシュおよび配布テクノロジーを使用して、リソースを複数のネットワーク エッジ ノードにタイムリーにキャッシュし、ユーザーのリクエストに迅速に応答します。
  • さまざまなパフォーマンス要件: 通常のサーバーは、多数のビジネス アプリケーションとユーザーの要求をサポートするために、高性能のコンピューティング機能とストレージ機能を提供する必要があります。CDN サーバーは、ユーザーのリソースへのアクセス要件をより適切に満たすために、高速、低遅延、高同時実行性のネットワーク アクセス機能を提供する必要があります。

要約すると、CDN サーバーと通常のサーバーの主な違いは、アプリケーション シナリオ、動作モード、およびパフォーマンス要件にあります。CDN サーバーは、リソース分散とユーザー アクセス エクスペリエンスを最適化するために特別に使用されるサーバーであり、インターネット アプリケーションの増大するニーズを満たすために、高速、低遅延、および高同時実行性の特性を備えている必要があります。

4. CDN サーバー、CDN クラスター、および CDN サーバーで構成されるネットワークは特別なソフトウェアを使用しますか? どのようなソフトウェアを使用していますか?

CDN サーバーと CDN サーバーで構成される CDN クラスターは通常、特別に設計されたソフトウェアとアルゴリズムを使用して、コンテンツ配信とネットワーク高速化機能を実現します。

CDN サーバーで一般的に使用されるソフトウェアとテクノロジーの一部を以下に示します。

  • Nginx: Nginx は高性能 Web サーバーであり、CDN ソフトウェアを使用すると、静的ファイルの配布を実現し、アクセス速度と可用性を向上させることができます。
  • Squid: Squid は、一般的に使用される静的コンテンツを CDN ノードにキャッシュして、オリジン サーバーの負荷を軽減し、ユーザー エクスペリエンスを向上させるオープン ソースの Web キャッシュ サーバーです。
  • LVS: LVS (Linux Virtual Server) は、TCP および UDP の負荷分散を実現し、サービスの可用性と応答パフォーマンスを向上させる、Linux 上の仮想サーバー ソフトウェアです。
  • HAProxy: HAProxy は、TCP および HTTP プロトコルの負荷分散をサポートし、コンテンツ配信やヘルス チェックなどの機能を実行できる高性能負荷分散ソフトウェアです。=
  • CDNaaS プラットフォーム: CDNaaS プラットフォームは、クラウドベースのグローバル ネットワーク アクセラレーション サービスであり、インテリジェントなルーティングとエッジ ノードを通じてサイト コンテンツの送信とアクセス速度を最適化し、世界中のユーザー エクスペリエンスを向上させることができます。
  • つまり、CDN サーバーと CDN クラスターは、特別に設計されたソフトウェアとアルゴリズムを使用して、コンテンツ配信とネットワーク アクセラレーションを実現します。一般的に使用されるソフトウェアには、Nginx、Squid、LVS、HAProxy が含まれます。CDNaaS プラットフォームは、クラウドベースのグローバル ネットワーク アクセラレーション サービスです。

5.現在使用されている CDN

ブルー フラッド (商用 CDN)

独自の CDN

  • 大きなファイル CDN と小さなファイル CDN を区別する
  • 動的 CDN と静的 CDN を区別します。一般的なプラットフォームは動的 CDN (php...) を使用し、ゲームは静的 CDN (JS...) を使用します。
  • ソースへの戻り方法は非プッシュであり、ソースへの戻りの最長期間は 3 か月です。

6. CDNの利用目的

CDN を使用すると、クライアントが元のサイトにアクセスすることによって引き起こされるいくつかの問題を解決できます。

  • 発信元ステーションへのアクセスが多数になると、発信元ステーションに過度のアクセス圧力がかかります
  • クライアントによっては、ソース サイトが物理的またはネットワーク上で遠く離れており、アクセス速度が遅い場合があります。

七、CDNの原理

  • ソース サイトの Web リソースを全国の CDN サイトにコピーすることで、クライアントが近くの Web サイトにアクセスできるようになり、Web リソースへのアクセス速度が向上し、ソース サイトへのアクセス圧力が軽減されます。
  • Webリソースのコピーには「プッシュ」と「非プッシュ(プル)」の2種類があり、実情に合わせて設定可能
  • CDN は通常、定期的に「ソースに戻ります」。ここでの時間制限は構成できますが、最大時間制限があります。

8、原点に戻る

一般に、CDN のバックトゥオリジンとは、ユーザーが CDN キャッシュに存在しないリソースを要求したときに、CDN ノードがオリジン サーバーにリソースを要求するプロセスを指します。

具体的には、バックトゥオリジンとは、CDN ノードがオリジン サーバーに HTTP リクエストを送信し、オリジン サーバー上のリソースを取得してキャッシュし、そのリソースを CDN エッジ ノードにキャッシュして、後続のアクセス リクエストでより多くの応答を取得できるようにすることを意味します。素早く。

CDN の全体的な動作原理は、高速で信頼性の高いコンテンツ配信サービスを世界中のユーザーに提供することです。

ユーザーが CDN からコンテンツをリクエストすると、CDN ノードは最も近いエッジ ノードからコンテンツを提供し、ユーザーが最速の応答と最高のユーザー エクスペリエンスを確実に得られるようにします。ただし、ユーザーが CDN エッジ ノードの容量を超える大量のアクセスでリソースを要求した場合、CDN ノードはそのリソースがキャッシュに存在しないと判断し、ソースに戻る操作を実行します。 、オリジン サーバーからリソースを取得し、エッジ ノード上の CDN にキャッシュすることで、リソースの取得速度とキャッシュ ヒット率が向上します。

バックトゥオリジンの頻度とトラフィックは、CDN のコストとパフォーマンスに影響を与える重要な要素の 1 つです。CDN のバックトゥオリジンの頻度が高いと、それに応じてトラフィックも増加し、その結果、CDN のコストとネットワーク負荷が増加し、CDN のパフォーマンスと信頼性が低下します。

したがって、CDN の効率とパフォーマンスを向上させるには、実際のビジネス ニーズに応じて合理的な CDN キャッシュ ポリシーとバックトゥオリジン ルールを設定し、CDN の安定性と効率を確保する必要があります。

9. CDN エッジ ノードと CDN セントラル ノードの違い

CDN エッジ ノードと CDN セントラル ノードは、CDN アーキテクチャ内の 2 つの異なるサーバー ノードであり、機能、場所、サービス範囲にいくつかの違いがあります。

  • さまざまな機能: CDN エッジ ノードは主にユーザーが要求したコンテンツのキャッシュと配信を担当し、世界中に分散してユーザーに高速かつ安定したサービスを提供します。CDN セントラル ノードは通常、データ センターまたはクラウド サービス プロバイダーのコンピュータ ルームにあり、主にドメイン名解決、リソース スケジューリング、負荷分散など、CDN のコア データとビジネス ロジックを保存および管理するために使用されます。等
  • さまざまな場所: CDN エッジ ノードは通常、ユーザーに高速で安定したサービスを提供し、同時にオリジン サーバーの負荷を軽減するために世界中に分散されます。CDN セントラル ノードは通常、CDN ビジネスの集中管理およびスケジューリング センターとして、データ センターまたはクラウド サービス プロバイダーのコンピュータ ルームに設置されます。
  • さまざまなサービス範囲: CDN エッジ ノードのサービス範囲は主にエンド ユーザー向けであり、ユーザーに高速で安定したコンテンツ配信サービスを提供します。CDN セントラル ノードは主に CDN サービス プロバイダーとオリジン サーバー向けであり、CDN アーキテクチャ内の他のノードにコア データ管理、ビジネス スケジューリング、負荷分散サービスを提供します。

一般に、CDN アーキテクチャでは、CDN エッジ ノードと CDN セントラル ノードは異なる役割を果たし、コンテンツ配信、管理スケジューリング、ビジネス サービスにおいて重要な役割を果たし、CDN ネットワークの重要なコンポーネントです。

10. CDN 高速化の原則

上の図に示すように、CDN アクセラレーションの詳細な手順は次のとおりです。

  1. ウェブサイトユーザー my.com からの問い合わせ先。
  2. 権威DNSをリクエストします。
  3. 設定された CNAME を返します:  my.com.a.bdydns.com;
  4. my.com.a.bdydns.com 対応する IP を要求します 。
  5. インテリジェントなスケジューリングに従って、ユーザーに最も近いアクセス ポイントの IP を返します。
  6. LocalDNS によって返された IP アドレスmy.com はキャッシュされます。
  7. CDN ノードに対して HTTP/HTTPS リクエストを開始して my.com コンテンツにアクセスします。
  8. CDN は、Baidu Smart Cloud を通じてリンクを高速化し、リクエストを複数回線の中央ノードに転送します。
  9. 中央ノードはソース ステーションへのバックトゥソース要求を開始します。
  10. 発信元ステーションは中央ノードに応答を返します。
  11. セントラル ノードとエッジ ノードはユーザーに応答を返し、応答内容をキャッシュします。

11. CDN用語の説明

ドメイン名: ドットで区切られた名前の文字列で構成されるインターネット上のコンピュータまたはコンピュータ グループの名前。データ送信中にコンピュータの電子的位置を識別するために使用されます (地理的位置、地理的ドメイン名、地理的ドメイン名を指すこともあります)。地方の行政自治領域)。ドメイン名は、IP アドレスの上に付加された「マスク」です。ドメイン名の目的は、サーバー アドレスのグループ (Web サイト、電子メール、FTP など) の記憶と通信を容易にすることです。

CNAME ドメイン名: Baidu Smart Cloud CDN が高速化されたドメイン名にアクセスすると、システムは対応するドメイン名に「CNAME ドメイン名」を割り当て、ドメイン名サービス プロバイダーで高速化されたドメイン名の CNAME 構成を完了してポイントします。この CNAME ドメイン名。構成が有効になると、ドメイン名解決の作業が正式に Baidu Smart Cloud に転送され、ドメイン名に対するすべてのリクエストが Baidu Smart Cloud CDN のノードに転送されます。

CNAMEレコード: ドメイン名解決におけるエイリアスレコード。これは、ドメイン名を別のドメイン名に解決するために使用され、別のドメイン名が IP アドレスを提供します。CNAME レコードを使用すると、複数の名前を同じサーバーにマッピングできます。たとえば、「host.mydomain.com」(A レコード) という名前のサーバーがあり、それを WWW サービスと MAIL サービスの両方を提供するために使用したいとします。次に、DNS 解決サービス プロバイダーでこのサーバーの 2 つのエイリアス (CNAME)、WWW と MAIL を設定し、これら 2 つのエイリアスの完全名「www.mydomain.com」と「mail.mydomain.com」を「host」に指定します。マイドメイン.com」。この CNAME を追加すると、両方の CNAME へのすべてのリクエストが host.mydomain.com にリダイレクトされます。

DNS : Domain Name System、ドメイン ネーム システム。ドメイン名と IP アドレスを相互にマッピングするインターネット上の分散データベース。これにより、ユーザーは機械が直接読み取ることができる IP 番号を覚えていなくても、より便利にインターネットにアクセスできるようになります。ホスト名からホスト名に対応する IP アドレスを取得する処理をドメイン名解決 (またはホスト名解決) と呼びます。

エッジ ノード: さまざまな地域のユーザーからのリクエストに迅速に応答できるように、顧客のソース サイトのコンテンツをキャッシュするために Baidu Smart Cloud CDN によって使用されるネットワーク ノードです。エッジノードとは、ネットワーク構造においてユーザーに近いネットワークノードを指し、ソースステーションよりもアクセスユーザーに対する応答能力や接続速度が優れています。CDN エッジ ノードは、ネットワークのエンド ユーザーがアクセスする Web サイト コンテンツの速度と品質を向上させるために、大量のアクセスがあるコンテンツをエッジ ノードのサーバーにキャッシュします。

静的コンテンツ: ユーザーがリソースに複数回アクセスすることを指し、異なるリクエストでアクセスされるデータは同じコンテンツです。例: html、css、js ファイル、写真、ビデオ、ソフトウェア インストール パッケージ、apk ファイル、圧縮パッケージ ファイルなど。

動的コンテンツ: ユーザーが特定のリソースに複数回アクセスし、応答として返されるデータが異なるコンテンツであることを指します。例: API インターフェイス、.jsp、.asp、.php、.perl、.cgi ファイルなど。

バックトゥオリジンホスト: つまり、バックトゥオリジンドメイン名、バックトゥオリジン時に CDN ノードがオリジンサイトで訪問するサイトのドメイン名です。詳細については、バックトゥオリジン構成を参照してくださいサーバーの起点サイトに複数の異なるサイトがある場合、CDN はバックトゥソース HOST ドメイン名に基づいてどのサイトからリソースを取得するかを決定します。

オリジン サイト: オリジン サイトは、ユーザーがビジネスを運営する Web サイト サーバーを指し、CDN 高速データ配信のソースとなります。Baidu Smart Cloud CDN の起点ステーションは、独自の起点ステーションまたはオブジェクト ストレージ (BOS) を選択できます。

12. Baidu Cloud CDN 製品の機能

CDN が提供するサービスはシンプルで使いやすいです。ドメイン名と対応するソース サイト アドレスがプラットフォームに追加されると、CNAME ドメイン名が自動的に提供されます。ユーザーは、高速化するドメイン名をバインドするだけで済みます。 CDN が提供する高速化サービスを利用するための CNAME アドレスにより、ユーザーの Web サイトで事業者間および地域間のサービスを実現できるようになります。

CDN はユーザーにさまざまな機能を提供できます。

マルチドメイン、マルチサービスの高速化: CDN は、地図、写真、ドキュメントなどの静的 Web ページの読み込みを高速化するだけでなく、オーディオ、ダウンロード、ゲーム サービスの高速化サービスも提供して、Web サイトにアクセスできるようにします。高速で、Web サイトのユーザー エクスペリエンスを効果的に向上させます。

統合管理プラットフォーム

  • ドメイン名の高速な追加、削除、変更、およびドメイン名情報の表示をサポートします。
  • バックトゥソース アドレス、アンチリーチ、有効期限、キャッシュの更新のカスタマイズをサポートします。
  • サービスの開始と停止をサポートします。

リソースの監視

  • CDN は、送信トラフィック、ソースへの戻りトラフィック、ヒット率、訪問数、その他のインデックス データの監視を含む、ドメイン名リソース監視データのレポートとグラフを提供し、いつでもドメイン名の運用状況を確認できます。
  • ユーザーはリソース監視システムを通じてパラメーターインデックスごとにアラーム項目を作成でき、アラームメッセージが表示されると、システムはユーザーにテキストメッセージまたは電子メールを自動的に送信します。

ログのダウンロード: ユーザーは、CDN プラットフォームを通じて業務運営ステータスのログをダウンロードでき、データをさらに分析したりアーカイブしたりするのに役立ちます。

トラフィック バランス: CDN は、CDN に接続されているサービス用にキャッシュ サーバー クラスターをセットアップし、専用のトラフィック割り当てシステムを備えて、CDN に接続されている Web サイトの高性能キャッシュを動的に選択して、Web サイトの高速化サービスを継続的かつ安定的に提供します。ネットワークの混雑による Web サイトのユーザー エクスペリエンスには影響しません。

安全

  • CDNサービスを利用することで、Webサイトの送信元サイトのアドレスが公衆ネットワーク上に公開されることがなくなり、送信元サイトが予期せぬ攻撃を受けることを防ぎます。
  • CDN 監視システムは、いつでもサービスを監視し、サービスのセキュリティを確保するために適時にアラームを発します。
  • WAF のサポート: リファラー ブラック/ホワイト リスト フィルタリングとソース IP ブラック/ホワイト リスト フィルタリングを実現、CC 攻撃防御、SQL インジェクション防御、XSS 攻撃防御、SSRF 攻撃防御、ローカル ファイル呼び出し防御、リモート ファイル呼び出し防御、共通ストレス テスト ツール攻撃防御、一般的なスキャナ スキャン攻撃の防御、高リスク システム コマンド呼び出しの防御、SVN、一般的なバックアップ ファイル漏洩の防止、静的ファイル ディレクトリによる実行可能ファイルの呼び出しの防止。

リフレッシュ ウォームアップ: CDN は、キャッシュ リフレッシュおよびリソース ウォームアップ機能を提供します。ディレクトリ更新/URL 更新により、ノード キャッシュ リソースを定期的にクリアし、CDN ノードをソースに強制的に戻して最新のファイルを取得できます。また、予熱機能により、営業時間のピーク時に人気のあるリソースを予熱して、リソース アクセス効率を向上させることができます。

画像ポルノ: クラウド コンピューティング プラットフォームに基づいて、大量のデータを迅速にスキャンして、CDN によって高速化された画像がポルノかどうかを検出します。これにより、人間によるレビューのコストを 90% 以上節約できます。

動的アクセラレーション: 典型的な Web サイトは通常、静的ページと動的ページで構成されます。これまで、Web サイトのアクセラレーションでは、一般に高速化のために動的と静的な分離が使用されていましたが、CDN サービスは全体的な高速化を実現するために動的と静的な分離を必要としませんでした。

EdgeJS エッジ スクリプト: エッジ ノードでの独自の JavaScript コードの実行をサポートし、プログラム可能なカスタム エッジ構成機能を提供します。

13. 応用シナリオ

ウェブサイトの高速化

  • CDN は、Web サイトのページや画像へのユーザーのアクセス速度を向上させ、完璧な監視メカニズムにより継続的で安定した Web サイト サービスを保証し、静的ページのアクセス速度を効果的に向上させます。
  • CDN は、動的と静的な分離を必要とせずに、サイト全体の全体的な高速化を実現できます。

非常に大きなファイルの配布

粒度の異なるファイルの全国配布が高速化され、オンラインゲーム、音楽、ビデオ、ソフトウェアなどの大きなファイルの送信が遅くて不安定であるという問題が解決されます。ストレージ分散ソリューションの詳細をご覧ください

アーキテクチャの概略図:

ビデオオンデマンド

mp4 や flv ビデオ ファイルのオンデマンド アクセラレーションなど、オンライン オンデマンド アクセラレーション サービスをサポートします。主なビジネス シナリオはビデオ オン デマンドであり、バックトゥソースの速度を向上させ、バックトゥソースに近い帯域幅のコストを節約できるオブジェクト ストレージ BOS サービスの使用をお勧めします。

アーキテクチャの概略図:

ライブビデオ

Baidu スマート クラウド VOD は、大規模なリアルタイム ストリーミング コンピューティング クラスターと強力なオーディオおよびビデオ信号処理アルゴリズムに基づいており、CDN 技術サービスの綿密な開発と最適化と組み合わせて、「クリアでスムーズ、低遅延、高同時実行性」を提供します。 「音声およびビデオのライブブロードキャストサービス。

アーキテクチャの概略図:

14. ノードの配布

CDN 回線は、China Telecom、China Unicom、China Mobile、Radio and Television、Railcom、Dr. Peng、Wasu、BGP などのネットワークに接続されています。ノードは全国の 30 以上の省と都市をカバーしており、ユーザーに次のようなサービスを提供します。信頼できるサービス。

 

おすすめ

転載: blog.csdn.net/w2009211777/article/details/131247892