超神奇網站架設術

傳統上,架設網站需要一台7x24小時網路與電源不中斷的實體主機、Apache HTTP伺服器(或IIS)及一個響亮的網域名稱,所有東西都準備好之後再開始規劃引人入勝的網站內容。這樣子的方式在現今講求Time to Market與Content is King的時代顯得落伍了,此外,要做到全世界各地都能快速讀取到網站的圖片與影音等靜態內容對傳統地端做法更是遙不可及的夢想,因此,內容傳遞網路(Content Delivery Network, CDN)的興起就是為了克服這項障礙,但具體而言CDN是如何運作的呢?


我們舉GCP Cloud CDN為例說明CDN運作機制:
  1. cache key:每筆可快取的(cacheable)資料(例如圖片與JavaScript檔)都會建立相對應cache key,每當有網站資源存取需求時,Google部署在世界各地主要城市離使用者最近的Google Front End(GFE)會收到請求,GFE會先比對存取請求的內容是否有相對應得cache key。
  2. cache miss:當GFE未找到相對應cache key,則會把存取請求傳送至Global Load Balancer,由Global Load Balancer將存取請求傳送至Backend Service,Backend Service可能是在某個region運行的Compute Engine或Cloud Storage,或甚至是地端的虛擬主機。
  3. cache fill:Global Load Balancer收到回應內容後,會回傳內容給GFE,以回應使用者需求,同時,會透過cache fill的機制將資料複製一份儲存在Cloud CDN。
  4. cache hit:在一段時間內,若有其他使用者提出相同存取需求,經GFE比對有相對應的cache key,則GFE會直接從Cloud CDN取得資料後回應使用者。
在了解CDN的運作機制後,我們可以開始進行網站架設了,以下是網站架設相關步驟:
  1. 註冊網域名稱:可透過Cloud Domains或是GoDaddy網站進行註冊,註冊完後至Google Search Console輸入網域名稱,依據相關指示步驟讓Google驗證您具有該網域管理權限,驗證的主要方式是您必須於網域名稱DNS的TXT紀錄@值設定成特定資料。


  2. 申請固定對外IP:可透過GCP IP addresses服務保留固定對外IP,將網域名稱DNS的A紀錄www值設定成該對外IP。
  3. 建立Bucket:透過Cloud Storage建立Bucket,建議Bucket名稱與網域名稱一致則可透過瀏覽器輸入網域名稱後直接存取,另外可選擇Multi-region以避免Bucket因單一region失效導致資料遺失,最後,需開放讓allUsers有Storage Object Viewer權限,以對外公開Bucket存取權限。


  4. 設定網站:將網站相關資料上傳至該Bucket後,點選Bucket的"Edit website configuration"後,設定網站首頁與錯誤時顯示網頁(非必要)。


  5. 建立Load Balancer:建立Global HTTP(S) Load Balancing並設定"From Internet to my VMs or serverless services"。


  6. 建立Load Balancer Frontend:Protocol選擇HTTPS,IP Address使用先前申請的固定對外IP(與網域名稱DNS的A紀錄www值對外IP一致),申請由Google管理的憑證,申請憑證時需輸入憑證綁定的網域名稱。


  7. 靜待15分鐘左右等GCP的憑證合作單位完成憑證簽發後,即可透過瀏覽器輸入註冊的網域名稱進行網站內容瀏覽。



以上就是網站架設步驟,是不是非常容易呢?由於網站內容是放置於GCP Cloud Storage,本身費用就非常的便宜,不需要申請虛擬主機架設網路伺服器,此外,由於採用Cloud CDN進行靜態資料快取,可以確保網頁內容在全世界各地都能快速存取,綜觀上述優點,故我稱呼此方法為超神奇網站架設術。

附錄:三大公有雲產品對照
Service categoryService typeGoogle Cloud product
AWS offeringAzure offering
NetworkingCDNCloud CDN
Amazon CloudFrontAzure Content Delivery Network, Azure Front Door
NetworkingCDNMedia CDNAmazon CloudFrontAzure Content Delivery Network

留言

此網誌的熱門文章

雲端資訊安全101