建立內 Lightsail 遞網路發佈 - Amazon Lightsail

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

建立內 Lightsail 遞網路發佈

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

內容

必要條件

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

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

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

      將 Lightsail 靜態 IP 附加至您的執行個體。如果您停止並啟動執行個體,則執行個體的預設公有 IP 地址會變更,使分發與原始伺服器執行個體之間的連線中斷。停止並啟動執行個體時,靜態 IP 不會變更。如需詳細資訊,請參閱建立靜態 IP 並將其附接至執行個體

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

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

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

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

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

原始伺服器資源

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

注意

目前,僅限 IPv4 的執行個體無法設定為 Lightsail 內容傳遞網路 (CDN) 分發的來源。

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

分發原始伺服器選取器

原始伺服器通訊協定政策

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

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

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

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

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

注意

當您選取 Lightsail 儲存貯體做為發佈的來源時,原始通訊協定原則僅預設為 HTTPS。在儲存貯體為分發原始伺服器時,您便無法變更原始伺服器通訊協定政策。

快取行為和快取預設

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

注意

當您選取 Lightsail 值區做為發行版本的來源時,無法使用快取預設集選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

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

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

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

  • 最適合 WordPress-此預設集可將您的發行版配置為緩存除了實例wp-includes/wp-content/目錄中的文件以外的 WordPress任何內容。如果您的來源是使用 Bitnami WordPress 認證和自動藍圖 (不包括多網站藍圖) 的執行個體,則此預設集是理想的選擇。如需有關此預設集的詳細資訊,請參閱最適合 WordPress 快取預設集

    注意

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

快取預設集只能在 Lightsail 主控台中指定。您無法使用 Lightsail API 和開發套件來指定它。 AWS CLI

最適合 WordPress 緩存預設

當您選取使用「由 Bitnami WordPress 認證」和「自動化」藍圖做為發佈來源的執行個體時,Lightsail 會詢問您是否要將最佳 WordPress快取預設集套用至您的發佈。如果您應用當前,則會自動配置您的分發以最適合您的 WordPress 網站。您不需要套用其他分發設定。最適合 WordPress 預設緩存除了網站wp-includes/wp-content/目錄中的文件之外沒有任何內 WordPress容。它也會將分發設定為每天清除其快取 (快取壽命為 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 網頁伺服器之文件根目錄中的所有檔案。

    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 儲存貯體作為發行版本的來源時,無法在 [建立發佈] 頁面上使用進階快取設定。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。不過,您可以在分發建立之後修改分發管理頁面中的進階快取設定。

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

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. 登入主 Li ghtsail 台

  2. 在 Lightsail 首頁,選擇 Networking (聯網) 索引標籤。

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

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

    分發為全域資源。他們可以引用任何來源 AWS 區域,並在全球範圍內分發其內容。

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

    重要

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

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

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

    注意

    當您選取 Lightsail 儲存貯體做為發佈的來源時,原始通訊協定原則僅預設為 HTTPS。在儲存貯體為分發原始伺服器時,您便無法變更原始伺服器通訊協定政策。

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

    注意

    當您選取 Lightsail 值區做為發行版本的來源時,無法使用快取預設集選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

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

    注意

    當您選取 Lightsail 值區做為發行版本的來源時,無法使用快取行為設定。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

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

    注意

    當您選取 Lightsail 值區做為發佈的原點時,無法使用預設行為選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

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

    注意

    當您選取 Lightsail 值區做為發行版本的原點時,無法使用目錄和檔案覆寫選項。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。

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

    注意

    當您選取 Lightsail 儲存貯體作為發行版本的來源時,無法在 [建立發佈] 頁面上使用進階快取設定。我們會自動套用最適合存放在儲存貯體中靜態內容的分發設定。不過,您可以在分發建立之後修改分發管理頁面中的進階快取設定。

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

  13. 輸入分發名稱。

    資源名稱:

    • 每個 Lightsail 帳戶 AWS 區域 中的每個項目都必須是唯一的。

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

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

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

  14. 檢閱分發成本。

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

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

後續步驟

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

  1. 如果您發行版的來源是 WordPress 執行個體,您必須在執行個體中編輯 WordPress設定檔,讓您的 WordPress 網站與您的發行版一起使用。如需詳細資訊,請參閱設定您的 WordPress執行個體以搭配您的發佈使用。

  2. (選擇性) 建立 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. 測試分發是否正在快取內容。如需詳細資訊,請參閱測試您的分發