總覽

Cloud CDN 內容傳遞聯播網能與 HTTP(S) 負載平衡搭配運作,將內容傳送給使用者。HTTP(S) 負載平衡器提供接收要求的前端 IP 位址和通訊埠,以及負責回應要求的後端。

Cloud CDN 內容可透過各種類型的後端提供:

在 Cloud CDN 中,這些後端也稱為「原始服務器」。下圖說明在 VM 執行個體中執行的原始伺服器所產生的回應,如何經由 HTTP(S) 負載平衡器,然後再由 Cloud CDN 進行傳遞。

回應透過 Cloud CDN 從原始伺服器流向用戶端
Cloud CDN 回應流程

Cloud CDN 的運作方式

當使用者向 HTTP(S) 負載平衡器要求內容時,系統會將要求傳送到 Google Front End (GFE),該網路位於 Google 網路的邊緣,最靠近使用者的部分。如果負載平衡器的網址對應將流量轉送到已設定 Cloud CDN 的後端,則 GFE 將依照以下方式使用 Cloud CDN:

  • GFE 首先會在 Cloud CDN 快取中尋找使用者要求的回應。如果 GFE 找到快取的回應,就會將其傳送給使用者。這稱為「在快取中找到了所需資料」

  • 假如 GFE 找不到要求的快取回應,GFE 會向適當的後端 (原始伺服器) 提出要求。如果此要求的回應可快取,GFE 會將回應儲存在 Cloud CDN 快取中,以便將快取用於後續要求。

如要使用 Cloud CDN,您的 HTTP(S) 負載平衡器必須使用 Premium Network Service Tiers。當 Cloud CDN 提供快取回應時,該回應將透過負載平衡器的 IP 位址提供。Cloud CDN 不會執行任何網址重新導向;Cloud CDN 快取位於 GFE。也就是說,無論是否已啟用 Cloud CDN,用戶端要求的網址均為相同,且無論是否在快取中找到了所需資料,網址都相同。

如要移除快取中的項目,您可以撤銷快取內容

如要繞過 Cloud CDN,您可以直接要求 Cloud Storage 值區或 Compute Engine VM 中的物件。舉例來說,Cloud Storage 物件的網址看起來如下所示:

https://storage.googleapis.com/your-storage-bucket/filename

在快取中找到了所需資料、在快取中找不到所需資料、快取填補和快取輸出

第一次要求內容時,GFE 會判斷系統無法從快取資料中找到相對應的資料,就構成所謂的「在快取中找不到所需資料」。GFE 可能會嘗試從附近的快取資料中取得內容。如果附近的快取有該內容,GFE 即會透過快取對快取填補方式,將該內容傳送至第一個快取。否則,GFE 會將要求轉送給 HTTP(S) 負載平衡器。負載平衡器再將要求轉送至您的其中一個後端。這個後端就是該內容的原始伺服器。

快取收到內容時,GFE 就會將內容轉送給使用者。如果內容可快取,則快取就會儲存該內容以供日後要求使用,但如果插入新內容時需要移除較常用的內容,或如果快取對新內容的熱門程度資訊不足,則快取可能會拒絕儲存新內容。例如,快取可能會在第一次存取時拒絕插入大型內容。

如果使用者要求的內容已經儲存在快取中,GFE 會透過其快取鍵查詢內容並直接回應使用者。這樣可以縮短封包往返時間,且原始伺服器也不需要處理要求。

初始回應是由來源伺服器提供,而後續回應則由 GFE 從快取提供
在快取中找不到所需資料與在快取中找到了所需資料

資料從快取移轉到用戶端稱為「快取輸出」,資料移轉到快取稱為「快取填補」。如下圖所示,快取填補可以從另一個 Cloud CDN 快取或從原始伺服器產生。

快取填補是資料從原始伺服器移轉至快取,或從快取移傳至另一個快取。快取輸出是資料從快取移轉至用戶端。
快取填補與快取輸出

在快取中找到了所需資料時,您必須支付快取輸出頻寬費用。在快取中找不到所需資料時 (包括找不到資料而導致執行快取對快取填補作業),則必須另外支付快取填補頻寬費用。這表示在所有其他條件相同的情況下,在快取中找到了所需資料的費用,會低於在快取中找不到所需資料的費用。如需詳細的定價資訊,請參閱定價頁面

快取命中率

快取「命中率」是指從快取提供要求物件的次數百分比。如果快取命中率是 60%,這表示在提供要求物件的次數中,有 60% 是來自快取,其餘 40% 則必須從原始資料來源擷取。

在 Google Cloud Platform 主控台中,您可以在「Cache hit ratio」(快取命中率) 資料欄中查看系統回報的每個原始資料來源的快取命中率。
前往 Cloud CDN 頁面
這個頁面上顯示的百分比代表一個較短時間範圍 (過去幾分鐘) 的計算比率。如要查看從 1 小時到 30 天的快取命中率,請按一下來源名稱,然後按一下 [Monitoring] 分頁標籤。

請參閱使用快取金鑰,瞭解快取金鑰如何影響快取命中率的相關資訊。如需疑難排解相關資訊,請參閱快取命中率偏低

將內容插入快取

當要求經過特定快取且回應可快取時,快取機制才會開始作業,將物件儲存在該快取中。儲存在某一快取中的物件不會自動複製到其他快取中;只有在回應用戶端發出的要求時,才會執行快取填補作業。除非讓個別快取回應要求,否則無法預先載入快取。

原始伺服器支援位元組範圍要求時,Cloud CDN 可以發出多個快取填補要求,以回應單一用戶端要求。如要進一步瞭解上述要求,請參閱 Cloud CDN 發出的要求一節。

從快取提供內容

啟用 Cloud CDN 之後,系統會針對所有可快取的內容自動執行快取功能。您的原始伺服器使用 HTTP 標頭來指出應該快取和不應快取的回應。您使用後端值區時,原始伺服器就是 Cloud Storage。您使用 VM 執行個體時,原始伺服器則是您用來執行那些執行個體的網路伺服器軟體。 快取詳細資料提供有關 Cloud CDN 快取內容及有效時間長度的其他資訊。

Cloud CDN 可使用全球眾多位置的快取。基於快取的本質,無法預測是否能從快取提供特定要求。然而,您可以預期針對可快取內容的常用要求在大部分時間中均會透過快取提供,這樣可以大幅減少延遲時間、降低費用並減輕原始伺服器的負載。

您可以查看記錄,瞭解 Cloud CDN 可以從快取提供的內容。如果您需要從快取中移除內容,可以啟動快取撤銷作業

移除及到期時間

由快取提供的內容必須已插入快取之中,不得遭到移除,也不得超過到期時間。

「移除」及「到期時間」是兩種不同概念。兩者都會影響提供的內容,但並不會互相直接影響。

  • 移除:每個快取都會限制本身能夠容納的內容量。不過即使快取已滿,Cloud CDN 仍會將內容新增至其中。為了將內容插入已滿的快取,快取必須先移除其他內容以挪出空間,也就是所謂的移除。快取通常是滿的,因此會不斷移除內容。快取一般會移除最近未受存取的內容,不論內容有效時間為何。遭移除的內容可能過期,也可能並未過期。設定有效時間並不會影響移除。

    「非熱門內容」是指有一段時間未受存取的內容。而認定何者屬於「一段時間」及「非熱門」內容,則是與快取內的大部分其他項目相對比較得出。隨著快取接收更多流量,也會移除更多快取內容。

    和所有大規模快取一樣,內容可能會以無法預測的方式移除,所以無法保證由快取提供特定要求。

  • 到期時間:HTTP(S) 快取之中的內容,可能有可設定的有效時間。有效時間會告知快取不要提供舊有內容,即使該內容尚未遭到移除。

    以每小時相片網址為例,其回應可能需設定在一小時內過期,否則提供的內容就可能是快取的舊相片。

Cloud CDN 發出的要求

如果原始伺服器支援位元組範圍要求,Cloud CDN 可以傳送多個要求到原始伺服器,以回應單一用戶端要求。如支援位元組範圍要求一文所述,Cloud CDN 可以發出兩種類型的要求:驗證要求及位元組範圍要求。如需進一步瞭解位元組範圍要求,請參閱該說明文件。

其他 Cloud Platform 服務的資料位置設定

請注意,使用 Cloud CDN 意謂著資料可能儲存在原始伺服器所在地區或區域以外的服務位置。這種情形很正常,同時也是 HTTP 快取作業在網際網路中的運作方式。依據 Google Cloud Platform 服務條款的服務專屬條款,特定 Cloud Platform 服務在與其他 Google 產品與服務 (在此情況下指 Cloud CDN 服務) 一起使用時,這些服務可以使用的資料位置設定不適用於各自 Cloud Platform 服務的核心客戶資料。如果您不想得到此結果,請勿使用 Cloud CDN 服務。

支援 Google 代管的 SSL 憑證

啟用 Cloud CDN 後,您可以使用 Google 代管的憑證。

後續步驟

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud CDN 說明文件