1.
前言與準備工作
- 確認遷移範圍:網站、資料庫、檔案儲存(如 /var/www、/home、/srv);
- 确定目標平台:如 AWS (ap-northeast-1/近區)、GCP、Azure 或 台灣本地託管(中華電信、台灣雲端業者);
- 列出資源清單:公網 IP 數量、SSL 憑證、API 金鑰、備份時間窗與業務低峰期;
- 合規與資料主權:若涉個資或金融資料,確認是否需留在台灣境內伺服器;
- 人員與通訊:建立遷移負責人、聯絡群組、回退負責人與時間表。
2.
評估現有伺服器與資源
- 列出硬體與軟體:CPU、RAM、磁碟類型(SATA / SSD / NVMe)、IOPS 與網路頻寬;
- 應用依賴關係:資料庫版本 (MySQL 5.7/8.0)、PHP/Node.js 版本、Redis/Memcached;
- 網路需求:平均流量(Mbps)、峰值併發連線數、必要的帶寬保留量;
- 安全需求:現有防火牆規則、WAF 設定、DDoS 攻擊歷史與頻率;
- 成本估算:含運算、儲存、輸出頻寬與備援成本比對。
3.
備份策略與資料同步步驟
- 建立完整備份:資料庫使用 mysqldump 或 xtrabackup,檔案使用 rsync --archive --xattrs --delete;
- 增量同步:採用 rsync + cron 或 lsyncd 做近實時同步,例:rsync -azP /var/www/ user@cloud:/var/www/;
- 備份保留與驗證:RPO 24 小時、RTO 2 小時為範例,驗證備份可用性與 restore 測試;
- 影像快照:若是 VPS,可在遷移前建立快照(ex: 30GB SSD 快照需時 2-10 分鐘);
- 備份至多區域:將重要備份同時儲存在本地 NAS 與雲端物件儲存(S3/GCS),確保冗餘。
4.
DNS、域名與切換策略
- 降低 TTL:在切換前 24-48 小時將 A/AAAA/CAA/TXT 的 TTL 調到 60 秒或 120 秒以便快速回退;
- 預配置新 IP:在 DNS 切換前先在新機器上配置好應用、SSL 與虛擬主機;
- 使用灰度切換:先將少量流量導向新環境(以子域或負載均衡分流)做驗證;
- 切換時間窗:選在業務低峰,例如週日凌晨 02:00-04:00,並監控 24 小時;
- 回退計畫:若錯誤,快速把 DNS 指回舊環境並提升人員支援。
5.
CDN 與 DDoS 防禦設置
- 啟用 CDN:將靜態資源(圖片、CSS、JS)接入 CDN(例如 Cloudflare、Akamai、Fastly)降低源站帶寬;
- SSL/TLS:採用 CDN 終端 TLS,並在源站配置嚴格傳輸安全(TLS 1.2+);
- Anycast 與 WAF:啟用 Anycast 節點與 WAF 規則來阻擋常見攻擊(SQLi、XSS);
- DDoS 緩解:設置速率限制、黑白名單、Geo-blocking 與自動封鎖異常來源;
- 監控與告警:使用流量監控(bps、pps)、異常峰值告警與自動擴展策略。
6.
測試、驗證與正式切換
- 功能測試:確認登入、交易流程、API 呼叫在新環境無誤;
- 性能壓力測試:使用工具(JMeter、k6)模擬峰值流量,觀察 CPU、IO、連線數;
- 下載/上傳速率測試:實測帶寬與延遲,確保 MAX 95% 的峰值可處理;
- 日誌與監控:確認 Logstash/Fluentd、Prometheus、Grafana 告警都已就緒;
- 正式切換:在預定窗口修改 DNS 並持續監控 48 小時,驗證無錯誤後完成收尾。
7.
真實案例與伺服器配置示例
- 案例概述:某台灣電商(匿名)由本地機房遷移至混合雲 + CDN,遷移期間日流量峰值 1.2 Gbps;
- 問題與解決:原本單一機房遭受短期 DDoS,導致 30 分鐘停擺,遷移後採用 Cloudflare Anycast 與 WAF 成功緩解;
- 成果數據:遷移後平均頁面載入時間由 1.8s 降至 0.9s,帶寬成本下降約 28%;
- 配置舉例(遷移前 vs 遷移後)表格如下示例:
| 項目 | 遷移前(本地機房) | 遷移後(雲端 + CDN) |
| 主機型號 | 裸機 Xeon E5, 32GB, 2x1TB SATA | vCPU 8 / 32GB RAM / 200GB NVMe |
| 頻寬 | 1 Gbps 共用 | 100 Mbps 保證 + 彈性擴展 |
| 公網 IP | 2 個 | 彈性浮動 IP 4 個 |
| 儲存 IOPS | 200 IOPS | 5,000 IOPS (NVMe) |
| 備援 | 冷備份每日一次 | 跨區複寫 + 實時同步 |
- 推薦指令範例:同步檔案使用 rsync -azP /var/www/ user@newhost:/var/www/,資料庫導出 mysqldump -u root -p --single-transaction dbname > dump.sql 。
来源:台企迁移上云时台湾服务器托管云空间迁移步骤指南