先準備好
- AWS 帳戶
- 自己的網域 (如何從 Google Domains 購買網域)
- 靜態網站 (本文使用 hugo 製作靜態網站)
如果是使用 hugo 來製作靜態網站,要修改 config.toml 的 baseURL
改成自己的網址,例如:https://blog.jihongo.com
最後在終端機輸入 hugo 會將網站編譯輸出到 public 資料夾
裡面的檔案就是整個網站的內容
S3
首先,點選 S3
點選建立儲存貯體
輸入儲存貯體名稱,可以選擇東京或新加坡,公開存取
點選名稱進入
切換到屬性分頁並選擇靜態網站託管
索引文件輸入 index.html,錯誤文件輸入 404.html
另外複製終端節點的網址,晚點會用到
切換頁面至概觀,上傳靜態網站的檔案
(不要直接上傳 public 資料夾,是上傳 public 裡面的檔案)
選擇公開
標準儲存類別
上傳
等待上傳完成
CloudFront
從服務點選 CloudFront
點選建立分佈
選擇 Web
跳轉頁面後,滑到中間先建立憑證
輸入 *.YOUR_DOMAIN_NAME
選擇電子郵件驗證或 DNS 驗證
這邊使用電子郵件驗證
不新增標籤,跳過
確認網域名稱與驗證方法
可以查看它會寄給哪些信箱,自己要確保收的到信
其中一個收件者是 admin@YOUR_DOMAIN_NAME
我是 Google Domains 購買的網域
至少新增一個 admin@YOUR_DOMAIN_NAME 轉寄到自己的信箱
信箱收到信
跳轉網頁,按下 I Approve
沒問題就會成功
刷新 AWS Certificate Manager 頁面,就可以看到狀態變成已發行
重新回到建立分佈頁面
源網域名稱選擇 Amazon S3 儲存貯體
檢視器通訊協定政策選擇重新導向 HTTP 到 HTTPS
啟用自動壓縮物件
價格分級我選擇有亞洲的
使用網域名稱自行輸入
SSL 憑證選擇剛剛建立好的那個
其它使用預設值
建立完成後,點選 ID 進入設定
狀態欄位會處理一段時間,最後會變成已部署
另外複製自己的網域名稱 YOURS.cloudfront.net,晚點會用到
進入後選擇源和源群組頁面,打勾後點編輯
貼上先前複製的終端節點網址
如果已上傳靜態網站,設定都沒問題的話
瀏覽器輸入終端節點網址就可以看到自己的靜態網站 (HTTP)
瀏覽器輸入 YOURS.cloudfront.net 也可以看到自己的靜態網站 (HTTPS)
最後到自己的 DNS 供應商增加一個 CNAME 指向剛剛複製的 YOURS.cloudfront.net
以 Google Domains 為例,CNAME 是 blog
等待生效需要一段時間
生效後,前往自訂網域
Done