從零開始布署你的個人網頁 — GCP網頁架設激鬥篇
上一篇 網域購買篇,大家買好了網域,大家聽我胡扯後也搞了個什麼 Cloudflare 帳號,還弄了一堆有的沒的。可是最重要的網頁咧?
看官們,稍安勿躁。因為那些都只是前置作業,重頭戲是這篇,GCP網頁架設激鬥篇。既然是激鬥,當然就會流點汗,有點累,大家忍忍。閒話到此,我們趕快前進。
Google Cloud Platform
簡單來說,Google Cloud Platform (GCP) 是 Google 的雲端服務,提供了一系列超便利的開發工具給開發者們。誇張點講,雲端服務,是開發者延年益壽的靈丹。市面上,有 AWS, Azure 和 GCP,各有千秋,我自己最愛 GCP,因為我是 Google 迷弟,手機也是 Google 的。我們今天主要用到兩個服務: Storage 及 Load Balancer (負載平衡)。
在開始前,請大家登入自己的 Google 帳號,開通 GCP 服務,開一個專案,設好帳單。不懂沒關西,這邊有更多資訊。開好再接著看。忘了說,新用戶開通服務有300美元送喔,不用自己掏腰包。
網域擁有權認證
確認帳號都準備好及登入後,我們 Google 搜尋 "Google Search Console" 或者點我。我們選擇「新增資源」,理論上,我們要看到以下頁面:
![](https://assets.matters.news/embed/39f39f83-e610-4c41-b5b0-c33bb609fad5.png)
我們在深色的區塊,輸入自己的網域 (example.com),輸入完,選「繼續」。
![](https://assets.matters.news/embed/5d8661cd-bb00-4d07-ba0d-66e284f7ac5d.png)
我們現在要登入 Cloudflare ,不是你的網域供應商,因為如果你照上一篇流程做的話,你的網域現在是 Cloudflare 在管理。
登入 Cloudflare ,選擇你的目標網域,來到管理頁面,選擇 DNS 。
![](https://assets.matters.news/embed/caa2a2f2-989e-4aac-bce2-5a466df6e1cb.png)
點選「新增資料」按鈕。把剛剛 Google 提供的長字串,如下圖般新增到 Cloudflare。
![](https://assets.matters.news/embed/00dfcf60-7279-40f6-8c94-34b544be7af4.png)
確認無誤後,我們儲存。我們會到 Google 剛剛認證的頁面 (圖2),點選 VERIFY。然後看到下圖的提示的話,就代表你的網域認祖歸宗了。
![](https://assets.matters.news/embed/e1075387-bd77-4a91-8812-92f80d859127.png)
Google Storage
登入 GCP,選擇你的專案,我們來到主控版面。我們接著用GCP面板的搜尋功能搜尋並選擇 「Storage」。
![](https://assets.matters.news/embed/9b73c997-116a-401c-86c7-e6ec9eea8066.png)
我們接著要創造一個網域值區(bucket)。點擊「建立值區」,你的值區名稱要跟你的網域依樣,不要給我加 www 喔。
![](https://assets.matters.news/embed/c0ae08e9-e6ad-4708-b428-cf83f3717686.png)
同一個頁面的右方,你可以試算費用,基本上費用就很便宜,一個月10塊台幣了不起。別忘了,你還有300美元可以慢慢花。
別急著點建立,照下圖選擇細項。區域的話,我覺得預設值也沒差。我自己選了 asia-east1 (台灣)。
![](https://assets.matters.news/embed/fc77462e-3b37-4f33-b696-d392f813afe7.png)
設定好,建立後,我們需要把這個值區的權限設定成公開,不然我怎麼訪問你的網頁資料。在 Storage 主頁,在你新增的值區列的尾巴,點擊3個點的圖標並選「編輯值區權限」 。
![](https://assets.matters.news/embed/4e8b9504-c673-4ffe-8c4b-6bf2b8369a21.png)
彈出一個列表,我們在列表選擇「新增成員」按鈕,我們要加一個新成員「allUsers」。我們給予這位新成員,Cloud Storage 的「儲存空間物件檢視者」權限。如下圖所示。
![](https://assets.matters.news/embed/a5d31155-7ac2-496f-88a3-2cd1237af974.png)
我們接著選儲存,並在提示方塊選擇允許公開存取。
我們現在點進去我們的值區,並開始上傳我們的網頁資料,這裡我準備了 index.html 及 404.html 做示範。裡面就很簡單的 html hello world 內容。你們可以選擇你們想要上傳的網頁內容。這邊用網頁上傳資料只能逐筆資料一次一次上傳,我相信是 GCP 的周想不全。我當然有其他更推薦的上傳方式,但不在本次分享的範圍,這邊先賣個關子。
![](https://assets.matters.news/embed/fad8bbef-c64b-4d07-8898-7137cf757a9d.png)
最後,我們需要設置值區的網頁設定。一樣在 Storage 主頁,點擊3個點的圖標。這次我們選「編輯網站設定」。我們需要設置主頁及404頁面。
![](https://assets.matters.news/embed/964e13c9-a09c-4c5f-94ae-81e7624b35fb.png)
大功告成,我們告別 Cloud Storage。
Load Balancer (負載平衡)
這次我們要設定 GCP 裡面的負載平衡,我們可以用面板的搜尋功能找到,英文版是 load balancer。
![](https://assets.matters.news/embed/caeec9c6-2260-4bff-bb6e-5829e80823e4.png)
點擊「建立負載平衡器」後,我們要建立的是 HTTP(S) 負載平衡。
![](https://assets.matters.news/embed/24dca890-3133-4471-be1e-f49f196d9be6.png)
第一個選項我們選擇「從網際網路到我的 VM」,接著我們從「後端設定」開始由上至下逐一設定。點擊「後端設定」,我們在選擇欄位裡面選「後端 Bucket」,然後創立後端 Bucket。這一步,把剛剛創好的值區跟這個負載平衡連結。
![](https://assets.matters.news/embed/8f872e2b-ebff-43e7-83ea-4fc149f05eb5.png)
這邊有一個好消息,主機與路徑規則不用設定,直接無視。
前端設定就要稍微點一下,點選「前端設定」,這邊設定的是 IP 位址、通訊埠和通訊協定。通訊協定一定要選HTTPS。HTTP的通訊保安比較糟糕。網路服務級別,我們用進階的,有300美元就是任性。
IP地址用臨時的就好,通訊埠設定443。憑證的選項,我們需要建立一個新憑證,選擇「建立 Google 代管的憑證」即可。
![](https://assets.matters.news/embed/7c56ee0c-af4b-4120-b25f-e23e5f2853df.png)
用好長這樣。
![](https://assets.matters.news/embed/14007f9f-f1df-42ac-98d4-435d7dfefa9f.png)
至此,我們就可以告別 GCP 了。
Cloudflare
最後的最後,我們只要在 Cloudflare 設定好 DNS 及 網頁規則就真的結局了。
在你的 Cloudflare 網域管理頁面,在上方的工具列表(圖3)選擇DNS,然後在下方 「yourSite.com 的管理 DNS」區塊,我們需要新增兩筆資料。
第一筆,A, www, 192.0.2.1,把 www 跟 Cloudflare 的位址連起來。
![](https://assets.matters.news/embed/79228e89-9e87-4fd5-be2c-d3c62378781e.png)
第二筆,CNAME, yourSite.com(你的網域),storage.googleapis.com,把你在 Cloudflare 的網域和你在 GCP 的 網域名稱值區連接。
![](https://assets.matters.news/embed/093f2ece-c51a-4c25-8630-1628760625b1.png)
最後,在上方的工具列表(圖3)選擇「網頁規則」。建立一筆新的網頁規則。如下圖所示填上資料,儲存並部署。這一步,主要是確保基於你的網域的網址變化都不會發生錯誤。
![](https://assets.matters.news/embed/723eb918-2d33-4aa0-a424-189dee77d1f4.png)
如果想知道更多,聽更多詳細解釋又不介意聽英文的話,可以看這段影片。
大結局
謝謝你們耐著性子,做到最後一部,現在你們可以在瀏覽器裡面,輸入網域並連到你們的個人網站。至此,我的 從零開始布署你的個人網頁 的主線劇情就演完了。但如果想要更進一步的話,請留意下一篇: 從零開始布署你的個人網頁 — CI/CD自動化布署覺醒篇。
附上一張大結局圖片。
![](https://assets.matters.news/embed/aa43643f-f304-4b73-bece-719e75821abc.png)
如果大家有任何問題,歡迎留言,我會盡力回答,如果有錯誤或不詳細的地方,也請多多包涵。我是老虎,我們下次見。
注意:負載平衡並非必要的條件,你可能需要額外支付負載平衡的費用。
Reference
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!