

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 了解持續部署的運作方式
<a name="understanding-continuous-deployment"></a>

下列主題說明 CloudFront 持續部署的運作方式。

**Topics**
+ [將請求路由至臨時分佈](#understanding-continuous-deployment-routing)
+ [以權重為基礎之組態的工作階段黏性](#understanding-continuous-deployment-sessions)
+ [更新主要分佈或臨時分佈](#updating-staging-and-primary-distributions)
+ [主要分佈和臨時分佈不會共用快取](#staging-and-primary-no-shared-cache)

## 將請求路由至臨時分佈
<a name="understanding-continuous-deployment-routing"></a>

使用 CloudFront 持續部署時，您不必變更檢視者請求的任何相關資訊。檢視者無法使用 DNS 名稱、IP 位址或 CNAME，將請求直接傳送至臨時分佈。反之，檢視者會將請求傳送至主要 (生產) 分佈，而 CloudFront 會根據持續部署政策的流量組態設定，將部份請求路由至臨時分佈。有兩種類型的流量組態：

**以權重為基礎的**  
以權重為基礎的組態會將指定百分比的檢視者請求路由至臨時分佈。當您使用以權重為基礎的組態時，您也可以啟用*工作階段黏性*，有助於確保 CloudFront 會將來自相同檢視者的請求視為單一工作階段的一部份。如需詳細資訊，請參閱[以權重為基礎之組態的工作階段黏性](#understanding-continuous-deployment-sessions)。

**以標頭為基礎的**  
當檢視者請求包含特定 HTTP 標頭 (您可以指定該標頭和值)，以標頭為基礎的組態會將請求路由至臨時分佈。不包含指定標頭和值的請求則會路由至主要分佈。此組態對於本地測試或您可以控制檢視者請求時非常有用。  
路由至臨時分佈的標頭必須包含字首 `aws-cf-cd-`。

## 以權重為基礎之組態的工作階段黏性
<a name="understanding-continuous-deployment-sessions"></a>

當您使用以權重為基礎的組態，將流量路由至臨時分佈時，您也可以啟用*工作階段黏性*，有助於確保 CloudFront 會將來自相同檢視者的請求視為單一工作階段。當您啟用工作階段黏性，CloudFront 會設定 Cookie，如此一來，單一工作階段中來自相同檢視者的所有請求都會由一個分佈 (主要或臨時) 提供服務。

當您啟用工作階段黏性，您也可以指定*閒置時間*。如果檢視者在這段時間內處於閒置狀態 (不傳送任何請求)，工作階段會過期，CloudFront 之後會將來自此檢視者的請求視為新工作階段。您能以秒為單位，將閒置時間設定為 300 (5 分鐘) 到 3600 (一小時)。

在下列情況中，CloudFront 會重設所有工作階段 (甚至是作用中的工作階段)，並將所有請求視為新工作階段：
+ 您停用或啟用持續部署政策
+ 您停用或啟用工作階段黏性設定

## 更新主要分佈或臨時分佈
<a name="updating-staging-and-primary-distributions"></a>

當主要分佈具有連接的持續部署政策時，主要分佈和臨時分佈皆可使用下列組態變更：
+ 所有快取行為設定，包括預設快取行為
+ 所有原始伺服器設定 (原始伺服器和原始伺服器群組)
+ 自訂錯誤回應 (錯誤頁面)
+ 地理限制
+ 預設根物件
+ 日誌設定
+ 描述 (評論)

您也可以更新分佈組態中參考的外部資源，例如快取政策、回應標頭政策、CloudFront 函數或 Lambda @Edge 函數。

## 主要分佈和臨時分佈不會共用快取
<a name="staging-and-primary-no-shared-cache"></a>

主要分佈和臨時分佈不會共用快取。CloudFront 將第一個請求傳送至臨時分佈時，其快取會是空的。當請求抵達臨時分佈時，便會開始快取回應 (如果設定為如此)。