在 GCP 上建立網站
GCP
課程概述
想在 GCP 上架網站,方法不只一種。從單純的靜態網頁,到比較複雜的動態應用,Google Cloud 都接得住。這堂課我們挑三種最常見的做法來比一比:Cloud Storage 靜態託管、Cloud Run 容器化部署,還有 Firebase Hosting 全端方案。
你將學到
- 使用 Cloud Storage 託管靜態網站
- 透過 Cloud Run 部署容器化 Web 應用
- 設定自訂網域與 SSL 憑證
- 理解不同部署方案的成本與效能差異
核心概念
網站部署方案比較
| 方案 | 適用類型 | 自動擴展 | 自訂網域 | 免費額度 |
|---|---|---|---|---|
| Cloud Storage | 純靜態網站 | 自動 | 需搭配 LB | 5GB 儲存 |
| Cloud Run | 動態應用/API | 0→N 自動 | 內建支援 | 200 萬次請求/月 |
| Firebase Hosting | 全端應用 | 自動 | 內建支援 | 10GB 傳輸/月 |
| App Engine | 傳統 Web App | 自動 | 內建支援 | 28 小時/天 |
Cloud Storage 靜態網站
# 建立 bucket(名稱需與網域一致)
gcloud storage buckets create gs://www.example.com --location=us-central1
# 上傳網站檔案
gcloud storage cp -r ./website/* gs://www.example.com/
# 設定網站配置
gcloud storage buckets update gs://www.example.com \
--web-main-page-suffix=index.html \
--web-not-found-page=404.html
# 設定公開存取
gcloud storage buckets add-iam-policy-binding gs://www.example.com \
--member=allUsers --role=roles/storage.objectViewer
Cloud Run 部署流程
- 撰寫 Dockerfile
- 建立 Artifact Registry 儲存庫:
gcloud artifacts repositories create REPO --repository-format=docker --location=REGION - 使用 Cloud Build 建構映像:
gcloud builds submit --tag REGION-docker.pkg.dev/PROJECT/REPO/app - 部署到 Cloud Run:
gcloud run deploy app --image REGION-docker.pkg.dev/PROJECT/REPO/app
實作重點
- 純靜態網站就用 Cloud Storage + Cloud CDN,成本最低
- 有伺服器端邏輯要跑就上 Cloud Run,什麼語言的容器都吃得下
- Firebase Hosting 適合搭配 Firebase 全家桶(Auth、Firestore)
- 記得設定 HTTPS,Cloud Run 和 Firebase Hosting 預設提供 SSL
Skill Badge 指引
Lab 連結:Build a Website on Google Cloud — 完成此 lab 可獲得 Skill Badge
延伸學習
- 本系列下一課:App Engine 三種部署方式
- 無伺服器進階:Cloud Run 無伺服器開發
Study Jam:雲端基礎實作 — 4/10 完成
查看系列全覽 →