View a markdown version of this page

建立 Lightsail 內容交付網路分發 - Amazon Lightsail

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

建立 Lightsail 內容交付網路分發

在本指南中,我們會為您介紹如何使用 Lightsail 主控台建立 Amazon Lightsail 分發,並說明您可設定的分發設定。如需有關分發的詳細資訊,請參閱內容交付網路分發

內容

先決條件

在您開始建立分發之前,請先完成以下事前準備:

  1. 視您要將執行個體、容器服務或儲存貯體用於分發而定,完成下列步驟之一。

    • 建立 Lightsail 執行個體來託管內容。執行個體會作為分發的原始伺服器。原始伺服器會儲存內容的原始最終版本。如需詳細資訊,請參閱建立執行個體

      1. 對於IPv4-only 和雙堆疊執行個體,請將靜態 IP Lightsail 連接至執行個體。如果您停止和啟動執行個體,執行個體的預設公有 IPv4 地址會變更,這會中斷分佈與原始執行個體之間的連線。停止並啟動執行個體時,靜態 IP 不會變更。如需詳細資訊,請參閱建立靜態 IP 並將其附接至執行個體

      2. 對於IPv6-only 的執行個體,不需要靜態 IP。當您停止和啟動執行個體時,IPv6 地址會持續存在。只有在刪除執行個體或停用執行個體的 IPv6 時才會釋放該地址。在執行以上任一動作後,您便無法取回 IPv6 地址。

      將內容和檔案上傳至執行個體。您的檔案 (也稱為物件) 通常包含網頁、影像和媒體檔案,但也可以是能透過 HTTP 提供的任何內容。

    • 建立 Lightsail 容器服務來託管您的網站或 Web 應用程式。容器服務會作為分發的原始伺服器。原始伺服器會儲存內容的原始最終版本。如需詳細資訊,請參閱建立 Amazon Lightsail 容器服務

    • 建立 Lightsail 儲存貯體來存放靜態內容。儲存貯體會作為分發的原始伺服器。原始伺服器會儲存內容的原始最終版本。如需詳細資訊,請參閱建立儲存貯體

      使用Lightsail主控台、 AWS Command Line Interface (AWS CLI) 和 AWS APIs。如需有關上傳檔案的詳細資訊,請參閱將檔案上傳至儲存貯體

  2. (選用) 如果網站需要容錯能力,請建立 Lightsail 負載平衡器。然後,將執行個體的多件複本連接至負載平衡器。您可以將負載平衡器 (含一或多個連接其上的執行個體) 設定為分發的原始伺服器,而不將執行個體設定為原始伺服器。如需詳細資訊,請參閱建立負載平衡器並將執行個體與其附接

原始伺服器資源

原始伺服器是分發內容的最終來源。在您建立分發時,可選擇託管您網站或 Web 應用程式內容的 Lightsail 執行個體、容器服務、儲存貯體或負載平衡器 (含一個或多個連接至其上的執行個體)。

每個分發僅能選擇一個原始伺服器。在建立分發後,您可以隨時變更原始伺服器。如需詳細資訊,請參閱變更分發的原始伺服器

分發原始伺服器選取器

原始伺服器通訊協定政策

您的分發在從原始伺服器提取內容時所使用的通訊協定政策,即為原始伺服器通訊協定政策。在您選擇分發的原始伺服器後,您應判斷分發在從原始伺服器提取內容時,是否應使用超文字傳輸通訊協定 (HTTP) 或超文字傳輸通訊協定安全 (HTTPS)。如果您的原始伺服器未設定使用 HTTPS,則必須使用 HTTP。

您可以為分發選擇以下其中一個原始伺服器通訊協定政策:

  • 僅限 HTTP - 您的分發僅使用 HTTP 來存取原始伺服器。這是預設設定。

  • 僅限 HTTPS - 您的分發僅使用 HTTPS 來存取原始伺服器。

編輯原始伺服器通訊協定政策的步驟包含在本指南後續的建立分發章節中。

注意

在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,Origin protocol policy (原始伺服器通訊協定政策) 會預設為 HTTPS only (僅限 HTTPS)。在儲存貯體為分發原始伺服器時,您便無法變更原始伺服器通訊協定政策。

原始 IP 位址類型

原始 IP 地址類型會決定您的分佈在與原始資源通訊時所使用的網際網路通訊協定版本。選擇分發的原始伺服器後,您可以選擇分發應該用來連線到原始伺服器的 IP 地址類型。

您可以為您的分佈選擇下列其中一個原始 IP 地址類型:

  • IPv4-only - 您的分發僅使用 IPv4 與原始伺服器通訊。對於執行個體原始伺服器,必須連接靜態 IP。

  • 雙堆疊 - 您的分發可以使用 IPv4 或 IPv6 與原始伺服器通訊。對於執行個體原始伺服器,必須連接靜態 IP。

  • IPv6-only - 您的分發僅使用 IPv6 與原始伺服器通訊。對於執行個體原始伺服器,不需要靜態 IP,但執行個體必須具有 IPv6 連線能力。

注意

Origin IP 地址類型設定僅適用於執行個體原始伺服器。當您選取儲存貯體、容器服務或負載平衡器做為原始伺服器時,原始 IP 地址類型預設為IPv4-only,且無法變更。

快取行為和快取預設

快取預設會針對您在原始伺服器上託管的內容類型,自動設定分發的設定。例如,選擇 Best for static content (靜態內容最佳選擇) 預設,會使用最適合靜態網站的設定來自動設定您的分發。如果您的網站是在 WordPress 執行個體上託管,請選擇 Best for WordPress (WordPress 的最佳選擇) 預設,讓您的分發自動設定為與您的 WordPress 網站搭配使用。

注意

在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用快取預設選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

您可以針對分發選擇下列其中一個快取預設:

  • Best for static content (靜態內容最佳選擇) - 此預設會設定您的分發為快取所有內容。如果您在原始伺服器上託管靜態內容 (例如靜態 HTML 頁面),或託管不會針對造訪您網站的每位使用者變更的內容,則此預設非常適合。當您選擇此預設時,系統會快取分發中的所有內容。

  • Best for dynamic content (動態內容的最佳選擇) - 此預設會將您的分發設定為不快取,除了您在 Create a distribution (建立分發) 頁面的 Directory and file overrides (目錄和檔案覆寫) 區段中指定為 Cache (快取) 的內容以外。如需詳細資訊,請參閱本指南中的目錄和檔案覆寫。如果您在原始伺服器上託管動態內容,或託管可能會針對造訪您網站或 Web 應用程式的每位使用者變更的內容,則此預設非常適合。

  • Best for WordPress (WordPress 的最佳選擇) - 此預設會將您的分發設定為不快取,除了 wp-includes/ 中的檔案和 WordPress 執行個體的 wp-content/ 目錄以外。如果您的原始伺服器是使用 Bitnami 和 Automattic 認證的 WordPress 藍圖 (不包括多站台藍圖) 的執行個體,則此預設非常適合。如需有關此預設的詳細資訊,請參閱 WordPress 快取預設的最佳選擇

    注意

    無法選取 Custom settings (自訂設定) 預設。如果您選擇某個預設,然後手動修改分發設定,則系統會自動為您選取該預設。

快取預設只能在 Lightsail 主控台中指定。它無法使用 Lightsail API AWS CLI和 SDKs來指定。

WordPress 快取預設的最佳選擇

當您選取的執行個體使用 Bitnami 和 Automattic 認證的 WordPress 藍圖作為分發原始伺服器時,Lightsail 會詢問您是否要將 Best for WordPress (WordPress 的最佳選擇) 快取預設套用至您的分發。如果您套用目前的預設,則系統會將分發自動設定為最適合您的 WordPress 網站。您不需要套用其他分發設定。WordPress 最佳選擇會預設為不快取,除了 wp-includes/ 中的檔案和 WordPress 網站的 wp-content/ 目錄以外。它也會將分發設定為每天清除其快取 (快取壽命為 1 天),允許所有 HTTP 方法、僅轉送 Host 標頭,不轉送 Cookie 並轉送所有查詢字串。

重要

您必須在執行個體中編輯 WordPress 組態檔案,以便 WordPress 網站與分發搭配使用。如需詳細資訊,請參閱設定 WordPress 執行個體以使用分發

預設行為

預設行為會指定分發處理內容快取的方式。系統會根據您選取的快取預設自動為您指定分發的預設行為。如果您選取不同的預設行為,則快取預設會自動變更為 Custom settings (自訂設定)。

注意

在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用預設行為選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

您可以為分發選擇以下其中一個預設行為:

  • 快取所有內容 - 這種行為會將分發設定為快取整個網站並將其作為靜態內容。如果您的原始伺服器託管的內容不會因檢視器而變更,或者您的網站不使用 Cookie、標頭或查詢字串來個人化內容,則此選項非常適合。

  • 不快取 - 這種行為會將您的分發設定為只快取您指定的原始伺服器檔案和資料夾路徑。如果您的網站或 Web 應用程式使用 Cookie、標頭和查詢字串為個別使用者個人化內容,則此選項非常適合。如果您選取此選項,您必須指定要快取的目錄和檔案路徑覆寫

目錄和檔案覆寫

目錄和檔案覆寫可用來覆寫您選取的預設行為,或在該行為中新增例外狀況。例如,如果您選擇快取所有內容,請使用覆寫來指定分發不該快取的目錄、檔案或檔案類型。或者,如果您選擇不快取,請使用覆寫來指定分發應該快取的目錄、檔案或檔案類型。

在該頁面的 Directory and file overrides (目錄和檔案覆寫) 區段中,您可以指定目錄或檔案的路徑,以進行快取或不快取。使用星號符號指定萬用字元目錄 (path/to/assets/*) 和檔案類型 (*.html*jpg*js)。目錄和檔案路徑區分大小寫。

注意

在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用目錄和檔案覆寫選項。存放在所選儲存貯體中的所有內容都會受到快取。

以下僅為如何指定目錄和檔案覆寫的範例:

  • 指定下列項目,以快取在 Lightsail 執行個體上執行的 Apache Web 伺服器文件根目錄中的所有檔案。

    var/www/html/
  • 指定下列檔案,以僅快取 Apache Web 伺服器文件根目錄中的索引頁面。

    var/www/html/index.html
  • 指定下列項目,以僅快取 Apache Web 伺服器文件根目錄中的 。html 檔案。

    var/www/html/*.html
  • 指定下列項目,以僅快取 Apache Web 伺服器文件根目錄映像子目錄中的 .jpg、.png 和 .gif 檔案。

    var/www/html/images/*.jpg
    var/www/html/images/*.png
    var/www/html/images/*.gif

    指定下列項目,以僅快取 Apache Web 伺服器文件根目錄映像子目錄中的所有檔案。

    var/www/html/images/

進階快取設定

進階設定可用來指定分發中的內容快取壽命、允許的 HTTP 方法、HTTP 標頭轉送、Cookie 轉送和查詢字串轉送。您指定的進階設定僅適用於分發所快取的目錄和檔案,包括您指定為 Cache (快取) 的目錄和檔案覆寫。

注意

在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,進階快取設定無法用於 Create distribution (建立分發) 頁面。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。不過,您可以在分發建立之後修改分發管理頁面中的進階快取設定。

您可以進行下列進階設定:

Cache lifespan (TTL) (快取壽命 (TTL))

在分發轉送另一個請求到原始伺服器,以判斷您的內容是否已更新之前,請控制您的內容在分發快取中停留的時間量。預設值為一天。縮短持續時間後,您可以更好地提供動態內容。增加持續時間會讓您的使用者取得更好的效能,因為檔案更有可能是直接從節點提供。增加持續時間也能減少原始伺服器的負載,因為分發提取內容的頻率減少。

注意

您指定的快取壽命值僅在原始伺服器不新增 HTTP 標頭至您的內容時才適用,例如不新增 Cache-Control max-ageCache-Control s-maxageExpires

Allowed HTTP methods (允許的 HTTP 方法)

控制分發處理及轉送至原始伺服器的 HTTP 方法。HTTP 方法表示想要在原始伺服器上執行的動作。例如,GET 方法會從您的原始伺服器擷取資料,而 PUT 方法會請求將封閉的實體存放在您的原始伺服器上。

您可以為分發選擇下列其中一個 HTTP 方法選項:

  • Allow GET, HEAD, OPTIONS, PUT, PATCH, POST, and DELETE methods (允許 GET、HEAD、OPTIONS、PUT、PATCH、POST 和 DELETE 方法)

  • Allow the GET, HEAD, and OPTIONS methods (允許 GET、HEAD 和 OPTIONS 方法)

  • Allow the GET and HEAD methods (允許 GET 和 HEAD 方法)

您的分發一律會快取針對 GET 與 HEAD 請求的回應。如果您選擇允許這些請求,您的分發也會快取針對 OPTIONS 請求的回應。您的分發不會快取針對任何其他 HTTP 方法的回應。如需詳細資訊,請參閱 HTTP 方法

重要

如果您將分發設定為允許支援的所有 HTTP 方法,則您必須將原始伺服器執行個體設定為處理所有方法。例如,如果因為想要使用 POST,而將您的分發設定為允許這些方法,則您必須將原始伺服器設定為以適當方式處理 DELETE 請求,讓檢視器無法刪除您不希望其刪除的資源。如需詳細資訊,請搜尋您的網站或 Web 應用程式的文件。

HTTP header forwarding (HTTP 標頭轉送)

控制分發是否根據指定標頭的值來快取內容,如果是的話,是根據哪些標頭的值。HTTP 標頭攜帶有關用戶端瀏覽器、請求的頁面、原始伺服器等的資訊。例如,Accept-Language 標頭會傳送用戶端的語言 (例如針對英文是 en-US),以便原始伺服器能以用戶端語言的內容 (如果可用) 來回應。

您可以為分發選擇下列其中一個 HTTP 標頭選項:

  • Forward no headers (不轉送標頭)

  • Forward only the headers I specify (只轉送我指定的標頭)

如果您選取 Forward no headers (不轉送標頭),您的分發不會根據標頭值快取內容。無論您選取的選項為何,您的分發皆會轉送特定標頭至原始伺服器,並根據您轉送的標頭來採取特定動作。如需有關分發處理標頭轉送的詳細資訊,請參閱 HTTP 請求標頭和分發行為

Cookie forwarding (Cookie 轉送)

控制您的分發是否將 Cookie 轉送到原始伺服器,若要轉送,是哪些 Cookie 要轉送。Cookie 包含傳送至原始伺服器的一小段資料,例如有關訪客在您原始伺服器網頁上的動作的資訊,以及訪客提供的任何資訊,例如他們的姓名和興趣。

您可以為您的分發選擇下列其中一個 Cookie 轉送選項:

  • Don't forward cookies (請勿轉送 Cookie)

  • Forward all cookies (轉送所有 Cookie)

  • Forward cookies I specify (轉送我指定的 Cookie)

如果您選擇 Forward all cookies (轉送所有 Cookie),無論您的應用程式使用多少 Cookie,您的分發都會轉送所有 Cookie。如果您選擇 Forward cookies I specify (轉送我指定的 Cookie),然後在顯示的文字方塊中輸入您要分發轉送之 Cookie 的名稱。當您指定 Cookie 名稱時,您可以指定以下萬用字元:

  • * 符合 Cookie 名稱中的 0 個或多個字元

  • ? 完全符合 Cookie 名稱中的一個字元

例如,假設檢視器針對某個物件的請求包含名稱為 userid_member-number 的 Cookie。其中每個使用者都有 member-number (userid_123userid_124userid_125 等) 的唯一值。您希望分發為每個成員快取單獨版本的內容。您可以透過將所有 Cookie 轉送到原始伺服器以達成此目標,但檢視器請求包含一些您不希望分發快取的 Cookie。您可以指定以下值作為 Cookie 名稱,這會導致分發將所有以 userid_ 開頭的 Cookie 轉送至您的原始伺服器:userid_*

Query string forwarding (查詢字串轉送)

控制您的分發是否將查詢字串轉送至原始伺服器,若要轉送,是哪些查詢字串要轉送。查詢字串是指派值給指定參數的 URL 的一部分。例如,https://example.com/over/there?name=ferret URL 包含 name=ferret 查詢字串。當伺服器收到該等頁面的請求時,它可能會執行一個程式,並將不變的 name=ferret 查詢字串傳遞至該程式。問號用作分隔符號,而非查詢字串的一部分。

您可以選擇讓分發不轉送查詢字串,或只轉送您指定的查詢字串。如果您的原始伺服器傳回相同版本的內容,而不考慮查詢字串參數的值,請選擇不轉送查詢字串。這會讓分發更有可能提供來自快取的請求,從而提高效能並降低原始伺服器的負載。如果您的原始伺服器根據一或多個查詢字串參數傳回不同版本的內容,請選擇只轉送您指定的查詢字串。

分發計劃

分發計劃會指定每月的資料傳輸配額和分發成本。如果您的分發傳輸的資料數量超過計劃的每月資料傳輸配額,則會向您收取超額費用。如需詳細資訊,請參閱 Lightsail 定價頁面

若要避免產生超額費用,請將目前的分發計劃變更為不同的計劃,以便在分發超過每月配額之前,提供更多的每月資料傳輸量。在每個 AWS 計費週期中,您只能變更分發的計劃一次。如需有關在建立分發計畫後再變更的詳細資訊,請參閱變更分發計畫

建立分發

完成下列程序以建立分發。

  1. 登入 Lightsail 主控台

  2. 在左側導覽窗格中,選擇聯網

  3. 選擇 Create Distribution (建立分佈)

  4. 在頁面的選擇原始伺服器區段中,選擇已在其中建立原始伺服器資源的 AWS 區域 。

    分發為全域資源。他們可以參考任何 中的原始伺服器 AWS 區域,並將其內容分發至全球。

  5. 選擇您的原始伺服器。原始伺服器可以是 Lightsail 執行個體、儲存貯體或負載平衡器 (具有一個或多個連接至其上的執行個體)。如需詳細資訊,請參閱原始伺服器資源

    重要

    如果選擇 Lightsail 容器服務作為分發的原始伺服器,Lightsail 自動將分發的預設網域名新增為容器服務的自訂網域。這樣就可以在分發和容器服務之間路由流量。但是,在某些情況下,您可能需要手動將分發的預設網域名新增至容器服務。如需詳細資訊,請參閱將分發的預設域新增至容器服務

  6. (選用) 若要變更来源通訊協定政策,請選擇顯示於分發使用的目前原始伺服器通訊協定政策旁的鉛筆圖示。如需詳細資訊,請參閱原始伺服器通訊協定政策

    此選項列於該頁面的 Choose your origin (選擇原始伺服器) 區段中,位於您為分發選取的原始伺服器資源下方。

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,Origin protocol policy (原始伺服器通訊協定政策) 會預設為 HTTPS only (僅限 HTTPS)。在儲存貯體為分發原始伺服器時,您便無法變更原始伺服器通訊協定政策。

    原始伺服器通訊協定政策
  7. 為分發選擇快取行為 (亦稱為快取預設)。如需詳細資訊,請參閱快取行為和快取預設

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用快取預設選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

  8. (選用) 選擇 Show all settings (顯示全部設定),以檢視分發的其他快取行為設定。

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,快取行為設定無法使用。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

  9. (選用) 為分發選擇預設行為。如需詳細資訊,請參閱預設行為

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用預設行為選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

  10. (選用) 選擇 Add path (新增路徑),以將目錄和檔案覆寫新增至分發的快取行為中。如需詳細資訊,請參閱目錄和檔案覆寫

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,無法使用目錄和檔案覆寫選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

  11. (選用) 選擇顯示在您要為分發編輯的進階設定旁的鉛筆圖示。如需詳細資訊,請參閱進階快取設定

    注意

    在您選取 Lightsail 儲存貯體作為分發的原始伺服器時,進階快取設定無法用於 Create distribution (建立分發) 頁面。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。不過,您可以在分發建立之後修改分發管理頁面中的進階快取設定。

  12. 選擇您的分發計劃。如需詳細資訊,請參閱分發計劃

  13. 輸入分發名稱。

    資源名稱:

    • AWS 區域 在您的Lightsail帳戶中的每個 中必須是唯一的。

    • 必須包含 2 到 255 個字元。

    • 開頭和結尾必須是英數字元或數字。

    • 可以包含英數字元、數字、句點、破折號和底線。

  14. 檢閱分發成本。

  15. 選擇 Create Distribution (建立分佈)

    系統會在數分鐘後建立分發。

後續步驟

建議您在分發啟動並執行之後,完成下列後續步驟。

  1. 如果分發的原始伺服器是 WordPress 執行個體,則您必須在執行個體中編輯 WordPress 組態檔案,以便 WordPress 網站與分發搭配使用。如需詳細資訊,請參閱設定 WordPress 執行個體以使用分發

  2. (選用) 在 Lightsail 主控台中建立 Lightsail DNS 區域,以管理網域的 DNS。這可讓您輕鬆將網域對應至 Lightsail 資源。如需詳細資訊,請參閱建立 DNS 區域以管理域的 DNS 記錄。或者,您亦可繼續在目前的位置託管網域的 DNS。

  3. 為網域建立 Lightsail SSL/TLS 憑證,以搭配分發使用。Lightsail 分發需要 HTTPS,因此您必須先為網域請求 SSL/TLS 憑證,才能搭配分發使用。如需詳細資訊,請參閱為分發建立 SSL/TLS 憑證

  4. 啟用分發的自訂網域,以便將網域與分發搭配使用。啟用自訂網域時,您需要指定為網域建立的 Lightsail SSL/TLS 憑證。此操作會將網域新增至分發,並啟用 HTTPS。如需詳細資訊,請參閱啟用分發的自訂域

  5. 將別名記錄新增至網域的 DNS,以開始將網域流量路由至分發。新增別名記錄之後,造訪您網域的使用者會透過分發路由。如需詳細資訊,請參閱將域指向分發

  6. 測試分發是否正在快取內容。如需詳細資訊,請參閱測試您的分發