網站內容搬遷完成後,前往phpMyAdmin修改網站的相關URL資料,都確認EC2原站可以正常運行後,我們就可以在AWS為網站配置CloudFront CDN+Load Balance+Auto Scaling等服務了,大致的架構圖如下 (極度簡略)
Client用戶端 --HTTPS--> CloudFront CDN --HTTPS--> Elastic Load Balance、Target Group--HTTPS--> Auto Scaling Group(EC2)
整段都是走HTTPS,客戶端從CloudFront節點進入會經過Load Balance、Target Group進行分流導向,最終進入到Auto Scaling Group生成的後端執行個體群組。OK,大致了解完之後,就讓我們開始今天的文章吧!
目前訪問網站頁面的話,會跳轉至舊站IP/域名,這是為什麼?首先要先來了解什麼是HomeURL、什麼是SiteURL
這2項是網站至關重要的連結導向,是必須要更改的項目,而剩餘的連結URL如果網站物件、外掛、樣式等等都可以順利載入那就不必進行修改,那就讓我們進入接下來的實際操作
1.1 進入phpMyAdmin,並找到『wp-options』表,將Home、SiteURL的Option_value欄位修改為正確的網站域名
1.2 (非必要)點選『新增』、『搜尋』,輸入『舊站的IP/域名』並按下執行,此步驟是確認是否還有其他的網站項目是使用舊的連結URL
1.3 (非必要)跑出結果後,點選『瀏覽』來確認是『哪個資料表的哪個欄位』使用舊站的IP/域名
1.4 (非必要)確認後,再次點選左側目錄欄的『新增』、『SQL』,輸入下列SQL指令並點選『執行』,將該表該欄的所有錯誤IP/域名一起修改
UPDATE 資料表名稱 SET 欄位名稱=REPLACE (欄位名稱, '錯誤的URL', '正確的URL');
1.5 (非必要)修改完全部的錯誤欄位後,可以再次透過『新增』、『搜尋』的功能確認是不是都修改完畢
1.6 重新訪問正確的新站域名,確認首頁、分頁的內容物件是否都正常
如果修改網站的URL後,出現502 Bad Gateway、Mixed Content等錯誤的話,建議使用瀏覽器的『開發人員工具』來確認有問題的物件圖片、外掛插件、外觀樣式等,並加以修正,因為可能的錯誤原因都不相同,便不進行說明。
Target Group在Load Balance中扮演的是與後端執行個體連接的角色,也就是架構中的這段『Target Group--HTTPS--> Auto Scaling Group(EC2)』的設置
2.1 左側目錄欄點選『目標群組』,接著點選『建立目標群組』
2.2 目標群組類型選擇『執行個體』並輸入『目標群組名稱』
2.3 選擇與EC2相同的的『VPC』,並輸入與後端執行個體的『通訊協議、通訊埠號』
2.5 接著設置『後端執行個體的運行狀態檢查』,選擇運行狀態檢查所使用的『通訊協議』
2.6 設置『運作狀態檢查的進階設定』
2.7 接著點選『下一步』,將我們的EC2加入目標群組內,並完成目標群組的建立
Load Balance其實類似於Proxy代理,負責前端與後端的連接,也就是架構中的這端『CloudFront CDN --HTTPS--> Elastic Load Balance』
3.1 左側目錄欄點選『負載平衡器』,接著點選『建立負載平衡器』
3.2 我們選擇第七層的負載平衡器-Application Load Balance
3.3 輸入『負載平衡器的名稱』,接著選擇要建立的負載平衡器結構,我們是要分流外部流量,因此選擇『面對網際網路』
3.4 選擇與EC2相同的的『VPC』,並添加要附載平衡的『子網路』,也就是後端執行個體要部屬的子網路
3.5 選擇與EC2相同的的『安全群組』
3.6 根據架構圖去選擇『通訊協議、監聽埠號』
3.7 前一步的通訊協議使用加密協議的話,就要向選擇或匯入TLS/SSL憑證(使用網站域名的TLS/SSL憑證即可)
3.8 設置完成,點選『建立負載平衡器』