本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Amazon CloudFront 分發服務靜態網站
此入門教學課程說明如何執行以下任務:
註冊網域名稱,例如 example.com。
為您的網域建立憑證。
建立兩個 Amazon S3 儲存貯體,並設定一個儲存貯體用於託管網站,另一個用於重新引導至子網域。
建立範例網站,並將檔案儲存在 S3 儲存貯體
為兩個 S3 儲存貯體建立 CloudFront 分發。
設定 Amazon 路線 53 以將流量路由到 CloudFront 分發。
完成後,您將能夠開啟瀏覽器,輸入網域名稱,並安全地檢視您的網站。
主題
必要條件
開始之前,請務必先完成 設定 Amazon Route 53 中的步驟。
步驟 1:註冊網域
若要使用網域名稱 (例如 example.com),您必須找到一個未被使用的網域名稱並註冊該網域。當您註冊網域名稱,即表示您要保留它以供您在網際網路上的任何位置獨佔使用,通常為期一年。依預設,我們會在每年年底自動續約網域名稱,但您可以關閉自動續約。如需詳細資訊,請參閱 註冊新網域。
步驟 2:請求公有憑證
Amazon CloudFront 分發需要公有憑證才能進行設定,以 CloudFront 要求檢視者使用 HTTPS,以便在與檢視者 CloudFront 通訊時加密連線。
要求 AWS Certificate Manager(ACM) 公用憑證 (主控台)
-
登入 AWS 管理主控台,然後開啟 ACM 主控台,網址為 https://console.aws.amazon.com/acm/home
。 注意
確定您是在美國東部 (維吉尼亞北部) 區域建立憑證。這是 Amazon 所必需的 CloudFront。
在左側導覽區中選擇請求憑證,然後在請求憑證頁面上依次選擇請求公有憑證和下一步。
在網域名稱區段中,輸入
example.com
之類的網域。選擇將其他名稱新增至此憑證,在網域名稱前輸入星號,以請求所有子網域的萬用字元憑證,例如
*.example.com
。在驗證方法區段中,選擇 DNS 驗證。
在金鑰演算法區段中,選擇 RSA 2048。
-
在新增標籤區段中,您可以選擇標記憑證。標籤是索引鍵值配對,可做為識別和組織 AWS 資源的中繼資料。
選擇請求以進入憑證頁面。
當新憑證的狀態顯示為擱置中時,請選擇憑證 ID,然後在憑證詳細資訊頁面上選擇在 Route 53 中建立記錄,以自動新增網域的 CNAME 記錄,然後選擇建立記錄。
所以此 Certificate status(憑證狀態)頁面應該開啟並顯示狀態橫幅報告 Successfully created DNS records(成功建立 DNS 記錄)。
您的新憑證可能會繼續顯示 Pending validation(待定驗證)狀態最多 30 分鐘。
步驟 3:建立 S3 儲存貯體以託管您的子網域
為 www 創建一個 S3 存儲桶。 your-domain-name
Amazon S3 可讓您從網際網路上的任何位置儲存和擷取您的資料。在此步驟中,您將建立一個 S3 儲存貯體來儲存網站的所有檔案。
前往 https://console.aws.amazon.com/s3/
開啟 Amazon S3 主控台。 -
選擇建立儲存貯體。
-
輸入下列值:
- 儲存貯體名稱
-
輸入萬維網。
your-domain-name
。例如,如已註冊網域名稱 example.com,請輸入 www.example.com。 - 區域
-
為您的儲存貯體選擇一個區域。
-
若要接受預設設定並建立儲存貯體,請選擇 Create bucket (建立儲存貯體)。
如需 S3 儲存貯體設定的詳細資訊,請參閱 Amazon S3 使用者指南中的檢視儲存貯體屬性。
步驟 4:為您的根網域建立另一個 S3 儲存貯體
如果您還希望您的用戶能夠使用根域,請. your-domain-name
(例如 example.com) 若要存取您的範例網站,請建立第二個 S3 儲存貯體。在本教學課程中,您需設定第二個儲存貯體 (根網域),以將流量路由到第一個儲存貯體。
若要為其建立 S3 儲存貯體 your-domain-name
前往 https://console.aws.amazon.com/s3/
開啟 Amazon S3 主控台。 -
選擇建立儲存貯體。
-
輸入下列值:
- 儲存貯體名稱
-
輸入
your-domain-name
。例如,如已註冊網域名稱 example.com,請輸入 example.com。 - 區域
-
選擇建立第一個儲存貯體的區域。
-
若要接受預設設定並建立儲存貯體,請選擇 Create bucket (建立儲存貯體)。
步驟 5:將網站檔案上傳到您的子網域儲存貯體
現在您有了一個 S3 儲存貯體,可以上傳您的網站檔案。在本教學課程中,您只需上傳一個在頁面上顯示文字的簡單 index.html 檔案。
若要為網站託管啟用 S3 儲存貯體
前往 https://console.aws.amazon.com/s3/
開啟的 Amazon Simple Storage Service (Amazon S3) 主控台。 -
在 Buckets (儲存貯體) 清單中,選擇您要上傳網站檔案的目標儲存貯體名稱,例如
www.example.com
。 -
複製建立一個簡單的單頁網頁的示例文字,將其貼到文字編輯器中,並將其儲存為 index.html:
<html> <head> <title>Amazon Route 53 Getting Started</title> </head> <body> <h1>Routing Internet traffic to Cloudfront distributions for your website stored in an S3 bucket</h1> <p>For more information, see <a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting Started with Amazon Route 53</a> in the <emphasis>Amazon Route 53 Developer Guide</emphasis>.</p> </body> </html>
-
在 Objects (物件) 標籤上,選擇 Upload (上傳)。
-
在 Files and folders (檔案和資料夾) 下方,選擇 Add files (新增檔案) 並上傳您的網站檔案。在本教學課程中,上傳您在此程序步驟 3 中儲存的 index.html 檔案。
步驟 6:設定用於網站重新引導的根網域儲存貯體
設定用於網站託管的根網域儲存貯體之後,您可以選擇設定根網域儲存貯體,以將所有請求重新引導至子網域。例如,您可以設定 example.com
的所有要求以重新引導至 www.example.com
。
若要設定重新引導
在 Amazon S3 主控台中,於 Buckets (儲存貯體) 清單中選擇子網域儲存貯體 (例如
example.com
)。選擇 Properties (屬性)。
在 Static website hosting (靜態網站託管) 下,選擇 Edit (編輯)。
在 Static website hosting (靜態網站託管) 下,選擇 Enable (啟用)。
選擇 Redirect requests for an object (重新引導物件請求)。
在 Host name (主機名稱) 方塊中,輸入您的子網域,例如
www.example.com
。請在 Protocol (通訊協定) 中選擇 HTTPS。
選擇儲存變更。
-
在 Static website hosting 下,請記下 Endpoint (端點)。
Endpoint (端點) 是儲存貯體的 Amazon S3 網站端點。您將使用此端點來設定 Amazon CloudFront 分發。
步驟 7:為您的子域創建 Amazon CloudFront 分發
在此步驟中,您會為您的子網域 (例如 www.example.com) 建立 CloudFront分發,讓您的網站能夠使用 HTTPS,讓人們可以安全地檢視網站。
建立 CloudFront 分佈
在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
選擇 Create Distribution (建立分佈)。
-
在來源下,對於來源網域,選擇您先前建立的 Amazon S3 儲存貯體。格式看起來類似於
。www.example.com.s3.<Region>.amazonaws.com
對於原始存取,選取舊版存取身分。對於 Origin access identity (原始存取身分),您可以從清單選擇,或選擇 Create new OAI (建立新的 OAI) (兩者都可以發揮作用)。
對於 Bucket policy (儲存貯體政策),選擇 Yes, update the bucket policy (是,更新儲存貯體政策)。
-
對於 Default Cache Behavior Settings (預設快取行為設定) 下的設定,在 Viewer (檢視器) 下將 Viewer protocol policy (檢視器通訊協定政策) 設定為 Redirect HTTP to HTTPS (重新導向 HTTP 到 HTTPS),並接受其餘的預設值。
如需快取行為選項的詳細資訊,請參閱 Amazon CloudFront 開發人員指南中的快取行為設定。
在 Web 應用程式防火牆 (WAF) 區段中,您可以選擇啟用或停用 AWS WAF 安全保護。
-
對於 Settings (設定) 下的欄位,執行下列動作:
-
CloudFront 建立發行版之後,發佈的 [狀態] 欄的值會從 [進行中] 變更為 [已部署]。通常這需要幾分鐘的時間。
記錄指 CloudFront 派給您的發行版的網域名稱,該網域名稱會出現在發行版清單中。您可以使用此網域名稱來測試分佈。
步驟 8:為您的根網域建立 Amazon CloudFront 分發
在此步驟中,您可以為根網域建立一個 CloudFront 分發,以便在其 URL 重新導向至子網域時使用 HTTPS。
建立 CloudFront 分佈
在開啟 CloudFront 主控台https://console.aws.amazon.com/cloudfront/v4/home
。 -
選擇 Create Distribution (建立分佈)。
-
在 Origin Settings (原始設定) 下方,對於 Origin Domain Name (原始網域名稱),請輸入儲存貯體網站端點。對於您先前建立的 Amazon S3 儲存貯體,您從 Properties (屬性) 的 Static website hosting (靜態網站託管) 部分取得此資訊。
對於其餘的欄位,請接受預設值。
在 Web 應用程式防火牆 (WAF) 區段中,您可以選擇啟用或停用 AWS WAF 安全保護。
-
對於 [快取金鑰和來源要求] 下的欄位,請選擇 [快取原則和原始要求原則] (建議選項),然後在 [快取政策] 下拉式清單中選 CachingDisabled
對於其餘的欄位,請接受預設值。
如需快取行為選項的詳細資訊,請參閱 Amazon CloudFront 開發人員指南中的快取行為設定。
-
對於 Settings (設定) 下的欄位,執行下列動作:
-
為 Alternate domain name (CNAME) - optional (備用網域名稱 (CNAME) - 選用) 選擇 Add item (新增項目),然後輸入您的根網域,例如
example.com
。 -
對於 Custom SSL Certificate (自訂 SSL 憑證),選擇您先前建立的憑證。
-
對於其餘的欄位,請接受預設值。
如需分佈選項的詳細資訊,請參閱分佈設定。
-
-
在頁面底部,選擇 Create Distribution (建立分佈)。
-
CloudFront 建立發行版之後,發佈的 [狀態] 欄的值會從 [進行中] 變更為 [已部署]。通常這需要幾分鐘的時間。
記錄指 CloudFront 派給您的發行版的網域名稱,該網域名稱會出現在發行版清單中。您可以使用此網域名稱來測試分佈
步驟 9:將您網域的 DNS 流量路由到您的CloudFront 分發
您現在在 S3 儲存貯體中有一個使用 CloudFront 分發的單頁網站。若要開始將您網域的網際網路流量路由至 CloudFront 發佈,請執行下列程序。
如需將流量路由至 CloudFront 分發的詳細資訊,請參閱使用您的網域名稱將流量路由到 Amazon CloudFront 分發。
若要將流量路由到您的網站
請在 https://console.aws.amazon.com/route53/
開啟 Route 53 主控台。 -
在導覽窗格中,選擇 Hosted zones (託管區域)。
注意
當您註冊網域時,Amazon Route 53 自動建立同名的託管區域。託管區域包含有關您希望 Route 53 如何路由網域流量的資訊。
-
在託管區域清單,請選擇您的網域名稱。
-
選擇 Create record (建立記錄)。
如果您位於 Quick create record (快速建立記錄) 檢視,選擇 Switch to wizard (切換至精靈)。
注意
每個記錄包含有關您希望如何路由某個網域 (如 example.com) 或子網域 (例如 www.example.com 或 test.example.com) 流量的資訊。記錄儲存在網域的託管區域中。
-
選擇 Simple routing (簡易路由),然後選擇 Next (下一步)。
-
選擇 Define simple record (定義簡易記錄)。
-
在 Record name (記錄名稱) 中,在預設值的前方輸入
www
,這是您的託管區域與網域的名稱。 -
在 [記錄類型] 中,選擇 [A]-將流量路由至 IPv4 位址和某些 AWS 資源。
-
在流量值/路由到中,選擇要分配的別名。 CloudFront
-
選擇分佈。
分佈名稱應與 Distributions (分佈) 清單的 Domain name (網域名稱) 方塊中出現的名稱相符,例如
dddjjjkkk.cloudfront.net
。 -
在 Evaluate target health (評估目標運作狀態) 中,選擇 No (否)。
選擇 Define simple record (定義簡易記錄)。
新增根網域 (example.com
) 的別名記錄
同時新增根網域的別名記錄,以便它指向將流量重新引導到 www.example.com
的 S3 儲存貯體。如需將流量路由至 CloudFront 分發的詳細資訊,請參閱使用您的網域名稱將流量路由到 Amazon CloudFront 分發。
-
在導覽窗格中,選擇 Hosted zones (託管區域)。
-
在託管區域清單,請選擇您的網域名稱。
-
選擇 Create record (建立記錄)。
如果您位於 Quick create record (快速建立記錄) 檢視,選擇 Switch to wizard (切換至精靈)。
注意
每個記錄包含有關您希望如何路由某個網域 (如 example.com) 或子網域 (例如 www.example.com 或 test.example.com) 流量的資訊。記錄儲存在網域的託管區域中。
-
選擇 Simple routing (簡易路由),然後選擇 Next (下一步)。
-
選擇 Define simple record (定義簡易記錄)。
-
在 Record name (記錄名稱) 中,接受預設值。
-
在 [記錄類型] 中,選擇 [A]-將流量路由至 IPv4 位址和某些 AWS 資源。
-
在流量值/路由到中,選擇要分配的別名。CloudFront
-
選擇分佈。
分佈名稱應與 Distributions (分佈) 清單的 Domain name (網域名稱) 方塊中出現的名稱相符,例如
dddjjjkkk.cloudfront.net
。 -
在 Evaluate target health (評估目標運作狀態) 中,選擇 No (否)。
-
選擇 Define simple record (定義簡易記錄)。
-
在 Configure records (設定記錄) 頁面上,選擇 Create records (建立記錄)。
步驟 10:測試您的網站
若要確認網站正常運作,請開啟 Web 瀏覽器並瀏覽到下列 URL:
https://www.
your-domain-name
例如www.example.com
— 在www 中顯示索引文件。 your-domain-name
桶例如,
example.com
-將您的請求重定向到萬維網。
桶your-domain-name
your-domain-name
在某些情況下,您可能需要清除快取,才能看到預期的行為。
如需路由網際網路流量的進階資訊,請參閱將 Amazon Route 53 設定為 DNS 服務。如需將網際網路流量路由至 AWS 資源的相關資訊,請參閱將互聯網流量路由到您的 AWS 資源。