SSD Nodes Learn 8GB 記憶體 — 每年 $66
指南 Matt Connor作者: Matt Connor

VPS 託管需要選加拿大伺服器嗎?

選擇加拿大 VPS 的唯一硬性理由並非延遲,而是資料落地規範。本文解析 PIPEDA 法規誤區、魁北克 Law 25 影響,以及如何透過實際 RTT 數據評估伺服器位置的必要性。

您的 VPS 是否需要位於加拿大?

若法律或合約要求資料必須儲存在加拿大境內,則選擇加拿大的 VPS 託管服務是有意義的。這是唯一的硬性理由。從多倫多的家用網路連線到紐約資料中心的來回傳輸時間(RTT)約為 18 ms,而連線至多倫多資料中心則約為 3 ms,幾乎沒有任何網頁應用程式能察覺其中的差異。

有三個因素會促使人們選擇加拿大伺服器。資料落地(Data residency)是法律義務,這本身就決定了選擇。延遲是可以測量的,且通常比預期中小。以加幣計費對會計作業較為便利。在考慮其他因素前,請先確認第一點是否適用於您的情況。

本文僅說明一般規則,並非法律建議。若您的組織受隱私法規約束,請諮詢您的法律顧問以取得確切答案。

資料落地:唯一的硬性要求

PIPEDA (Personal Information Protection and Electronic Documents Act) 是加拿大的聯邦私部門隱私法,該法並未要求個人資料必須留在國內。它將資料傳送至國外的處理者視為處理傳輸:您的組織仍須對資料負起責任,處理者必須提供相當的保護,且您必須向當事人公開此類傳輸行為。隱私專員辦公室 (Office of the Privacy Commissioner) 曾於 2019 年針對收緊此規定進行諮詢,最終維持現有立場。因此,坊間常稱 PIPEDA 要求資料必須存放在加拿大境內的說法是錯誤的,儘管許多託管服務的文案仍重複此一誤解。

真正的落地規則確實存在,但適用範圍較窄。

  • 魁北克的 Law 25 要求在將個人資料傳送至省外之前必須進行評估,且資料在目的地必須獲得適當的保護。該條款自 2023 年 9 月起生效。這是一項行政程序與決策,您必須具備辯護能力,而非全面禁止。
  • 公部門規則約束公家機關及其服務廠商。新斯科細亞省的 PIIDPA 限制將個人資料儲存在加拿大境外。英屬哥倫比亞省的 FIPPA 曾有類似規定,直到 2021 年修法後,允許在經過評估後進行境外儲存。
  • 聯邦政府業務遵循加拿大政府的雲端方針 (Government of Canada's cloud direction),該方針要求 Protected B 等級及以上的資料必須留在加拿大。
  • 各省的健康隱私法對健康紀錄的存放位置有額外條件,且各省規定不盡相同。
  • 客戶合約與公開招標在實務上是最常見的驅動因素。若資安問卷中載明「資料靜態儲存於加拿大」,則該條款對您的約束力等同於法規,因為您已簽署該文件。

實務上的檢驗方式很簡單。您能指出具體的條款嗎?如果您的組織內無人能說出要求加拿大落地的法規或合約名稱,那麼您目前的選擇僅是基於延遲與價格考量。

加拿大資料中心是否不受美國法律管轄?

單憑地理位置無法規避。美國的 CLOUD Act (Clarifying Lawful Overseas Use of Data Act) 規定,只要資料由美國供應商持有、保管或控制,無論硬體位於何處,皆在該法管轄範圍內。因此,由美國公司營運的多倫多區域資料中心仍受其管轄。若您的實際需求是規避外國法律程序而非地理位置,關鍵在於誰營運該服務以及誰持有加密金鑰。建築物地址位於加拿大並不能解決此問題。

路由是第二個意外因素。兩座加拿大城市之間的網路流量經常會經過美國,因為歷史上該處擁有成本較低的對等互連 (peering)。研究人員稱此現象為「迴力鏢路由」(boomerang routing)。在向他人保證您的封包未離開國境之前,請先執行 traceroute。

traceroute vps.example.com

節點名稱通常包含城市代碼,例如 nycchiash。這些名稱僅供參考且可能過時,請將其視為向供應商查詢的線索,而非確切證據。對於傳輸中的資料,可靠的解決方案是您自行控制的加密技術,而非地圖。若您需要在自有機器之間建立私人路徑,自架 WireGuard VPN 可提供一條不需考量光纖經過何國的連線。

延遲:請進行測量,切勿憑空臆測

光纖中的光速約為每毫秒 200 公里,因此在任何設備介入前,每 100 公里的傳輸距離大約會產生 1 毫秒的往返延遲。多倫多至溫哥華的直線距離約為 3,400 公里,實際纜線長度更長,這使得理論最低延遲接近 40 毫秒。實際路徑的數值通常更高。

ChartTypical round trip from a Toronto connection, milliseconds
The data behind this chart
[
  {
    "label": "Toronto",
    "rtt_ms": 3
  },
  {
    "label": "Montreal",
    "rtt_ms": 12
  },
  {
    "label": "New York",
    "rtt_ms": 18
  },
  {
    "label": "Chicago",
    "rtt_ms": 24
  },
  {
    "label": "Northern Virginia",
    "rtt_ms": 26
  },
  {
    "label": "Dallas",
    "rtt_ms": 42
  },
  {
    "label": "Vancouver",
    "rtt_ms": 62
  },
  {
    "label": "London",
    "rtt_ms": 88
  },
  {
    "label": "Frankfurt",
    "rtt_ms": 98
  }
]

上述為多倫多地區連線品質良好的消費級線路之典型公開數據。這些數據僅供參考,並非保證值。您實際的數值取決於您的存取網路與供應商的對等互連(peering),且會隨時段波動。

有兩行數據值得特別留意。多倫多至蒙特婁的延遲約為 12 毫秒,兩地距離極近,在大多數應用場景中可視為同一區域。多倫多至溫哥華的延遲約為 62 毫秒,這比多倫多至北維吉尼亞的 26 毫秒更遠。身處加拿大境內並不等同於接近您的使用者。

通常「最後一哩路」的影響最為顯著。家用光纖會增加幾毫秒的延遲。當線路繁忙時,有線電視網路(Cable)的延遲會更高。行動網路連線本身則會增加數十毫秒的延遲。多倫多的手機使用者連線至當地的伺服器可能會有 50 毫秒的延遲,此時若將伺服器遷移至紐約,對其體驗的影響僅有幾個百分點。

如何從使用者所在地測試延遲

首先找出使用者實際所在的地理位置。您的分析工具已經按城市或地區細分了工作階段。請閱讀這些數據,不要僅憑辦公室所在地進行猜測。

接著從該處進行測量。您無法在 Ottawa 的辦公桌上測試 Vancouver 的延遲。請在目標城市租用一個按小時計費的 VPS,使用 20 分鐘後將其銷毀。或者請同事或客戶執行一條指令。您也可以使用免費的 RIPE Atlas 測量網路 https://atlas.ripe.net,該網路在加拿大各城市設有探針,允許您從當地執行 ping 指令。

sudo apt update && sudo apt install -y mtr-tiny traceroute iperf3
ping -c 20 vps.example.com

閱讀最後兩行。

20 packets transmitted, 20 received, 0% packet loss, time 19031ms
rtt min/avg/max/mdev = 17.412/18.006/19.882/0.594 ms

avg 是關鍵數據。mdev 是抖動(jitter),即封包之間的差異。短路徑上的任何封包遺失都是值得追查的故障。高抖動對語音和遊戲的影響比稍高的平均延遲更嚴重,因為接收端必須為最差的封包而非典型封包進行緩衝。

mtr --report --report-cycles 50 vps.example.com

mtr 會列印每一跳(hop)的遺失率。如果執行時出現權限錯誤,請使用 sudo 執行。中間節點經常顯示並非真實的遺失,因為路由器會將其自行產生的 ICMP 回應設為最低優先級。只有持續到最後一行的遺失,才是您的流量實際遭受的遺失。請先閱讀最底行,再向上檢查。

當 ICMP 被封鎖或限速時,請改為測量真實協定的時間。

curl -o /dev/null -s -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total}\n' https://vps.example.com/

每個欄位都是從請求開始累積的秒數。connect 減去 dns 是一次 TCP 來回時間(round trip)。tls 減去 connect 是交握(handshake)時間。ttfb 減去 tls 是另一次來回時間,加上應用程式回應所需的時間。最後這個間隔是大多數慢速網站真正耗時的地方。在短路徑上 ttfb 為 0.8 s,這屬於應用程式問題,將伺服器遷移到另一個城市無法解決。

若要測量吞吐量,請在 VPS 上執行伺服器端,並從使用者端執行客戶端。iperf3 會監聽 TCP 5201 連接埠,因此請 使用 ufw 開啟連接埠 進行測試,測試完成後請將其關閉。

iperf3 -s
iperf3 -c vps.example.com -t 20
iperf3 -c vps.example.com -t 20 -R
iperf3 -c vps.example.com -t 20 -P 8

-R 會反轉方向,以便同時測量下載與上傳。-P 8 會開啟 8 個平行串流。如果 8 個串流的速度遠快於 1 個,則限制因素是長路徑上的 TCP 視窗(TCP window)而非鏈路本身,因為單一串流在每次來回中只能傳輸一個視窗的資料。相同的視窗在 Vancouver 路徑上每秒傳輸的資料量,大約只有在 New York 路徑上的三分之一。長途備份的行為模式相同,這就是為什麼 使用 restic 進行異地備份 在面對遠端目標時,即使在快速線路上也會感覺緩慢。

iperf3 運作時,請在第二個終端機視窗中持續執行 ping。如果傳輸過程中來回時間從 20 ms 攀升至 300 ms,這就是您自身存取設備的緩衝區膨脹(bufferbloat),更換資料中心位置無法解決此問題。

請進行多次測量,並在晚間進行。晚上 9 點的壅塞程度才是使用者實際體驗到的數據。凌晨 4 點的數據則是銷售頁面更傾向引用的數字。

往返時間 (RTT) 對工作負載的意義

冷頁面載入在瀏覽器能繪製任何內容前,需經歷四次往返。

ChartDelay before the first pixel on a cold page load, milliseconds
The data behind this chart
[
  {
    "label": "DNS lookup",
    "toronto_to_new_york_ms": 18,
    "toronto_to_vancouver_ms": 62
  },
  {
    "label": "TCP handshake",
    "toronto_to_new_york_ms": 18,
    "toronto_to_vancouver_ms": 62
  },
  {
    "label": "TLS 1.3 handshake",
    "toronto_to_new_york_ms": 18,
    "toronto_to_vancouver_ms": 62
  },
  {
    "label": "Request and first byte",
    "toronto_to_new_york_ms": 18,
    "toronto_to_vancouver_ms": 62
  },
  {
    "label": "All four round trips",
    "toronto_to_new_york_ms": 72,
    "toronto_to_vancouver_ms": 248
  }
]

DNS 查詢會發送至解析器而非您的伺服器,且通常會被快取,因此熱門訪問可跳過此步驟。從端到端計算,冷載入在 New York 路徑上會落後 72 ms,在 Vancouver 路徑上則落後 248 ms。這兩個數值在單次 400 ms 的資料庫查詢面前微不足道。一旦連線建立,HTTP/2 與 HTTP/3 可透過該連線同時傳輸多個請求,因此該成本僅需支付一次,而非針對每個檔案支付。將靜態資產放置於 CDN (內容傳遞網路) 上,來源伺服器所在的城市便完全不再重要,這也是為何歐洲訪客面對前往 Toronto 的 98 ms 延遲時,仍能獲得快速的頁面載入體驗。

即時多人遊戲則屬於相反情況,因為往返時間即是體驗本身。在快節奏動作遊戲中,低於 50 ms 左右感覺即時,玩家在 80 ms 左右開始察覺延遲,超過 120 ms 時則會歸咎於伺服器。在此情況下,區域選擇確實決定了產品的好壞。節奏較慢的伺服器寬容度高得多,因此 在 VPS 上執行 Minecraft 伺服器 可以承受會毀掉射擊遊戲的距離。

資料庫是區域選擇會造成實際損害的地方。切勿將應用程式與其資料庫放置於不同區域。每個查詢都是一次往返。一個發出 40 次查詢的頁面需支付 40 次往返成本:若每次為 18 ms,總計將近一秒;若每次為 62 ms,則超過兩秒。然而,若資料庫位於同一台機器上,該頁面的效能分析僅需 30 ms。非同步複製至其他區域對於讀取複本與災難復原是可行的。跨長路徑的同步提交會將該路徑延遲增加至每一次寫入操作中。

互動式連線則介於兩者之間。SSH 在 100 ms 左右仍保持舒適,超過此數值則會感到延遲,因為每個按鍵都需等待回傳確認。mosh 會在本地進行預測並隱藏大部分延遲。Webhook 與內部 API 應始終與其呼叫的服務位於同一區域。

帳務、貨幣與稅務

以加拿大元支付可避免信用卡發卡機構收取的外幣交易手續費(截至 2026 年 8 月,該費用通常約為 2.5%),並能確保您的帳務維持單一貨幣。加拿大供應商開立的發票包含 GST 或 HST,已註冊的企業可將其申報為進項稅額抵扣。這屬於財務問題,應由財務角度解答,不應作為決定網路封包路由的依據。若要了解伺服器的實際成本,以及如何在不被續約價格誤導的情況下比較方案,請參閱 每月 VPS 的實際成本

小型市場的代價

加拿大相較於美國是一個小型託管市場,誠懇的建議必須包含您所放棄的權益。

  • 競爭供應商較少,因此相同等級的機器,其每 GB RAM 或磁碟的價格通常較高。
  • 運算容量集中於 Toronto 與 Montreal,Vancouver 與 Calgary 的資源較少。若需第二個加拿大區域進行容錯移轉,通常意味著網路路徑較長,或必須將服務移至國外。
  • 小型區域託管商可能僅運作單一機房,且僅連接一至兩家上游電信商。請詢問其電信商數量,並確認其中一家故障時的應對機制。
  • 硬體選擇較少。大型執行個體與 GPU 機器在美國區域較易取得,因此您可能無法在理想的城市找到符合規格的 GPU VPS
  • 小型託管商的支援服務是實際問題,而非行銷話術。請確認其人工支援的服務時間。

Montreal 在價格上是個例外。Quebec 的水力發電成本低廉,且冬季可降低冷卻成本,因此 Montreal 地區擁有大量運算容量,其費率足以與美國區域競爭。若您的需求僅是「加拿大」而非特定城市,請優先考慮此處。

若加拿大的 VPS 等級無法負荷您的工作負載,請在認定國家因素導致問題前,先比較 VPS 與實體伺服器 的差異。

何時該選擇加拿大 VPS 託管

  1. 法規、合約或公共部門政策指定必須位於加拿大。請在加拿大進行託管。此處不適用其他考量,且您應取得供應商提供的書面駐地承諾。
  2. 您的使用者位於加拿大境內某個都會區,且工作負載受延遲限制:例如多人連線遊戲、語音服務、遠端桌面或交易系統。請在最近的城市託管,並在簽約前評估所有選項。
  3. 您的使用者遍布全國。多倫多或蒙特婁可覆蓋最大比例的人口,且針對靜態資源使用 CDN,對於溫哥華使用者的效益遠高於遷移原始伺服器位置。
  4. 其他所有情況(即大多數情況)。請依據價格與實際取得的硬體規格進行選擇,並確認凌晨 2 點時的技術支援品質。請先對候選伺服器進行基準測試,因為規格表相同的兩個方案,其效能表現並不相同:如何正確進行 VPS 基準測試

無論您採取何種方式,請將決策理由記錄在案。下一位詢問是否應在加拿大託管的人,值得獲得比猜測更精確的答案;若答案源於合約條款,未來也必須有人能再次找到該文件。一旦伺服器建立,新 VPS 的前十分鐘對安全性的影響,遠比其所在城市更為重要。

FAQ

PIPEDA 是否要求我的資料必須留在加拿大?

否。PIPEDA(個人資訊保護與電子文件法)並未針對私部門制定資料在地化規則。將個人資訊傳輸至其他國家的處理商屬於處理傳輸:您的組織仍須對資料負起責任,處理商必須提供相當的保護措施,且您必須向當事人公開此傳輸行為。加拿大隱私專員辦公室曾於 2019 年諮詢是否變更此立場,最終維持原狀。在地化要求源自其他法規:例如魁北克省的 Law 25 評估、如新斯科細亞省 PIIDPA 等公共部門法案、加拿大政府的雲端政策,或是您與客戶合約中的條款。

加拿大使用者會察覺伺服器位於美國嗎?

一般的網頁應用程式不會。從多倫多到紐約的來回傳輸時間約為 18 ms,到北維吉尼亞約為 26 ms,兩者皆短於多倫多到溫哥華的 62 ms。使用者在察覺 20 ms 的網路延遲前,會先感受到伺服器回應時間與頁面大小。但在即時遊戲、語音通話或任何涉及人與人互動的場景中,使用者確實會察覺到延遲。

加拿大的資料中心是否不受美國法律管轄?

並非自動豁免。美國 CLOUD Act 涵蓋美國供應商持有、保管或控制的資料,無論伺服器位於何處;因此,由美國公司營運的加拿大區域仍受其管轄。若您真正擔心的是外國法律程序,請關注服務的營運商以及加密金鑰的持有者,而非建築物的地址。使用您自行持有的金鑰進行加密,將會改變供應商所能提供的資料內容。

我該如何測量不在我居住城市的延遲?

在該城市租用按小時計費的 VPS,執行 ping -c 20mtr --report --report-cycles 50 回測至您的伺服器,隨後將其銷毀。RIPE Atlas 網路是一個免費的替代方案,在加拿大各城市設有探測節點。若 ICMP 被封鎖,請改用 curl -o /dev/null -s -w '%{time_connect} %{time_starttransfer}\n' https://your.server/ 測量實際請求,該工具可提供 TCP 來回傳輸時間以及到達首位元組的完整時間。

#vps#hosting#canada#data-residency#latency