加拿大 VPS 主機需要放在加拿大嗎?
PIPEDA 並未要求個資留在加拿大;只有法律或合約明文規定時才需要。了解 Quebec Law 25、公部門規則,以及如何從使用者所在地測量 RTT。
您的 VPS 需要位於加拿大嗎?
當法律或合約規定資料必須留在加拿大境內時,選擇加拿大的 VPS hosting 才有意義。這是唯一明確的理由。從多倫多家用網路連線到紐約資料中心的往返延遲約為 18 ms,而到多倫多資料中心約為 3 ms;幾乎沒有任何網頁應用程式能分辨這項差異。
有三項因素會讓人考慮加拿大伺服器。資料落地是法律義務,因此單獨就能決定選擇。延遲可以量測,而且通常比預期低。以加幣計費則能讓會計作業更方便。先確認第一項是否適用於你,再考慮其他因素。
本文概述一般適用的規則,不構成法律建議。如果隱私法規約束您的組織,請向法律顧問確認答案。
資料在地性:唯一的硬性要求
PIPEDA(Personal Information Protection and Electronic Documents Act)是加拿大的聯邦私部門隱私法,並未要求個人資訊必須留在加拿大境內。該法將把資料傳送給境外處理者視為處理用途的移轉:您的組織仍須對資料負責,處理者必須提供相當的保護,而您也必須向當事人公開說明資料會這樣處理。Office of the Privacy Commissioner 曾在 2019 年諮詢是否應收緊相關規定,之後仍維持原有立場。因此,常見的「PIPEDA 要求資料必須存放在加拿大」說法是錯誤的,儘管許多 hosting 業者的文案一再重複這種說法。
實際的資料在地性規則確實存在,但適用範圍較窄。
- Quebec 的 Law 25 要求在將個人資訊傳送至該省以外之前先完成評估,且資料在接收地必須獲得充分保護。這項規定自 September 2023 起生效。它要求完成文件作業並作出可提出理由的決定,而不是全面禁止。
- 公部門規則約束公法人及為其提供服務的公司。Nova Scotia 的 PIIDPA 限制將個人資訊存放在加拿大境外。British Columbia 的 FIPPA 也曾有類似規定,直到 2021 年修法後,才允許在完成評估後進行境外儲存。
- 聯邦政府業務須遵循 Government of Canada 的 cloud direction,要求 Protected B 及更高敏感度的資料留在加拿大境內。
- 各省的健康隱私法會針對健康紀錄可存放的位置附加條件,而且各省規定不同。
- 實務上,最常造成限制的是客戶合約與公共採購標案。安全性問卷只要寫明「data at rest in Canada」,就會對您產生與法規同等嚴格的約束,因為那是您簽署同意的內容。
實務上的判斷很簡單。您能指出具體條款嗎?如果組織內沒有人能說出哪一部法規或哪份合約要求資料位於加拿大,那麼您做出的選擇依據就是延遲與價格。
加拿大資料中心是否不受美國法律管轄?
不能僅憑資料中心位於加拿大就如此認定。美國 CLOUD Act(Clarifying Lawful Overseas Use of Data Act)適用於由美國服務提供者持有、保管或控制的資料,不論硬體位於何處。因此,由美國公司營運的 Toronto region 仍在該法的管轄範圍內。若真正的要求是避免外國法律程序,而非單純考量地理位置,關鍵在於誰營運服務,以及誰持有加密金鑰。建築物位於加拿大,單獨無法回答這個問題。
路由是另一個容易出乎意料的因素。兩個加拿大城市之間的網路流量經常會經過美國,因為歷來較低成本的 peering 多集中在美國。研究人員稱這種現象為 boomerang routing。在告訴他人封包絕不離開加拿大之前,請先執行 traceroute。
traceroute vps.example.comHop 名稱會帶有 nyc、chi 或 ash 等城市代碼。這些名稱只能提供線索,而且可能已經過時,因此應把它們視為向服務提供者查詢的理由,而不是證明。對於傳輸中的資料,可靠的做法是使用由你控制的加密,而不是依賴地圖。若要在自己的機器之間建立私有路徑,自架 WireGuard VPN 可提供不受光纖實際經過哪個國家影響的連線。
延遲:測量,不要假設
光在光纖中的傳播速度約為每毫秒 200 km,因此每增加 100 km 的距離,在不計任何設備延遲前,往返時間約增加 1 ms。Toronto 到 Vancouver 的直線距離約為 3,400 km,經由光纜的距離更長,因此理論下限接近 40 ms。實際路由通常會更高。
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
}
]這些是 Toronto 連線品質良好的消費者線路常見公開數據。它們可作為起點,但不是保證。實際數值取決於您的存取網路與供應商的對等互連,也會隨一天中的時段變動。
有兩列數據值得仔細比較。Toronto 到 Montreal 約為 12 ms,距離很近,因此在大多數情況下,兩座城市可視為同一個區域。Toronto 到 Vancouver 約為 62 ms,這比 Toronto 到 Northern Virginia 的 26 ms 更高。在加拿大境內,不代表距離您的使用者很近。
不過,最後一哩通常才是主要因素。家用光纖會增加幾毫秒。Cable 線路在繁忙時會增加更多延遲。行動網路本身就可能增加數十毫秒。Toronto 的手機使用者連線到 Toronto 伺服器時,可能看到 50 ms;若將伺服器移到 New York,其體感只會改變幾個百分點。
如何從使用者所在地測試延遲
先確認使用者實際位於哪些地區。分析資料通常已依城市或區域拆分工作階段。請以此為依據,不要根據辦公室所在地猜測。
接著從這些地點進行測量。無法在 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 msavg 是主要數值。mdev 是 jitter,表示封包之間的分散程度。短路徑上的任何封包遺失都值得追查。高 jitter 對語音與遊戲的影響比稍高的平均延遲更大,因為接收端必須依最慢封包,而不是一般封包的速度進行緩衝。
mtr --report --report-cycles 50 vps.example.commtr 會列出每一跳的遺失率。如果因權限錯誤而結束,請加上 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 往返時間。tls 減去 connect 是交握時間。ttfb 減去 tls 是另一次往返時間,加上應用程式回應所需的時間。多數網站真正耗時的地方就是最後這段間隔。短路徑上的 ttfb 若為 0.8 s,問題出在應用程式,將伺服器搬到其他城市也無法改善。
若要測量吞吐量,請在 VPS 上執行伺服器,並從使用者所在的一側執行用戶端。iperf3 會監聽 TCP 5201,因此測試時請使用 ufw 開放連接埠,完成後再關閉。
iperf3 -siperf3 -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 視窗,而不是線路本身,因為單一串流在每次往返中只能傳送一個視窗的資料。同一個視窗經過 Vancouver 路徑時,每秒傳輸的資料量約只有 New York 路徑的三分之一。長距離備份也有相同情況,因此即使線路速度很快,對遠端目標執行 使用 restic 進行異地備份仍會感覺緩慢。
讓第二個終端機持續執行 ping,同時觀察 iperf3 的執行情況。如果傳輸期間往返時間從 20 ms 升至 300 ms,表示自有存取設備發生 bufferbloat,變更資料中心位置也無法解決。
請測量多次,並在晚間測量。使用者實際面對的是 9pm 的壅塞情況。4am 的數值則是銷售頁面較希望引用的結果。
往返時間對工作負載的意義
瀏覽器在能夠繪製任何內容前,冷啟動頁面載入會經歷 4 次往返。
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 查詢會傳送至 resolver,而不是您的伺服器,且通常會被快取,因此暖啟動造訪會略過這個步驟。從端到端計算,冷啟動載入在 New York 路徑上會落後 72 ms,在 Vancouver 路徑上會落後 248 ms。這兩個數值相較於單次 400 ms 的資料庫查詢都微不足道。連線建立後,HTTP/2 和 HTTP/3 可同時在同一條連線上傳輸多個請求,因此這項成本只需支付一次,而不是每個檔案各支付一次。將靜態資產放在 CDN(content delivery network)上後,origin 的城市對這些資產完全不再重要。因此,即使歐洲訪客到 Toronto 的延遲為 98 ms,仍可能取得快速頁面。
即時多人遊戲則相反,因為往返時間就是遊戲體驗的一部分。在快速動作遊戲中,低於約 50 ms 通常感覺即時;延遲約 80 ms 時,玩家開始察覺;超過 120 ms 後,玩家會將問題歸咎於伺服器。此時,region 確實會決定產品品質。節奏較慢的伺服器寬容得多,因此 在 VPS 上執行 Minecraft 伺服器 能容忍會使射擊遊戲無法正常運作的距離。
資料庫是 region 選擇會造成重大影響的地方。絕不要將應用程式放在一個 region,資料庫放在另一個 region。每次查詢都是一次往返。若頁面發出 40 次查詢,就要支付 40 次往返:每次 18 ms 時,總延遲接近 1 秒;每次 62 ms 時,總延遲超過 2 秒。相同頁面在資料庫位於同一台主機時,分析結果只有 30 ms。將資料非同步複寫到另一個 region,適合用於唯讀複本和災難復原。跨越長距離路徑進行同步提交,會讓該路徑的延遲加入每一次寫入。
互動式工作階段介於兩者之間。SSH 在約 100 ms 內仍然舒適,超過此延遲後會感到卡頓,因為每次按鍵都要等待回應傳回。mosh 會在本機進行預測,隱藏大部分延遲。Webhooks 和內部 API 應一律與其呼叫的服務位於同一個 region。
帳務、貨幣與稅務
以加拿大元付款可避免發卡機構收取的國外交易手續費。截至 2026 年 8 月,這項費用通常約為 2.5%,且能讓帳務維持使用單一貨幣。加拿大供應商會開立包含 GST 或 HST 的發票,已註冊企業可將其申報為進項稅額抵免。這是財務問題,應由財務因素決定,不應影響封包的傳送位置。若要了解伺服器的實際成本,以及如何比較方案而不受續約價格影響,請參閱 VPS 每月實際成本。
較小型市場的代價
相較於美國,加拿大是較小的 hosting 市場,因此務實的評估也必須納入你需要放棄的條件。
- 競爭的 providers 較少,因此相同等級的機器,每 GB RAM 或 disk 的價格通常較高。
- 容量集中在 Toronto 和 Montreal,Vancouver 與 Calgary 的容量較少。若要在加拿大境內尋找第二個故障切換區域,通常代表網路路徑很長,或最後仍必須離開加拿大。
- 小型 regional host 可能只在一棟建築內運作,並依賴 1 或 2 家 upstream carrier。請詢問 carrier 的數量,以及其中一家故障時會發生什麼情況。
- 硬體選項較少。在 US regions 較容易找到大型 instances 與 GPU machines,因此你想要的城市可能沒有符合所需規模的 GPU VPS。
- 小型 host 的支援時段是實際問題,不是行銷用語。請詢問何時有真人值班。
Montreal 在價格方面是例外。Quebec 的水力發電成本低,加上冬季可降低 cooling 成本,因此 Montreal 地區具備大量容量,價格也能與 US regions 競爭。如果你的需求是位於加拿大,而不是指定某個城市,建議先從這裡開始。
如果 Canadian VPS tiers 對工作負載而言太小,請先比較VPS 與 dedicated server,再決定問題是否真的出在國家選擇。
在加拿大使用 VPS hosting 是正確選擇的情況
- 法規、合約或公部門政策明定必須位於加拿大。請在加拿大 hosting。本文其他內容均不適用,並應要求 provider 以書面確認資料所在地承諾。
- 使用者集中在加拿大某個都會區,且工作負載受延遲限制,例如多人遊戲、語音服務、遠端桌面或交易。請選擇距離最近的城市,並在簽約前測量兩種方案的效能。
- 使用者分布在全國各地。Toronto 或 Montreal 可涵蓋最大比例的人口;對 Vancouver 的訪客而言,在靜態資產前方加入 CDN,比搬移 origin 更有效。
- 其他情況,也就是大多數情況。請依價格及實際取得的硬體做選擇,然後確認凌晨 2am 的支援服務如何。先對候選方案進行 benchmark,因為規格表相同的兩個方案,實際效能不一定相同:如何正確對 VPS 進行 benchmark。
無論採用哪種方式,都應將決策理由記錄下來。下一位詢問是否應在加拿大 hosting 的人,值得得到比猜測更可靠的答案;如果當初的理由是合約條款,日後還必須有人找得到該條款。主機建立後,新 VPS 上線後的前 10 分鐘對安全性的影響,遠比所在城市重要。
FAQ
PIPEDA 是否要求我的資料留在加拿大?
不要求。PIPEDA(Personal Information Protection and Electronic Documents Act)沒有針對私營部門的資料存放地規定。將個人資訊傳送給其他國家的處理者,屬於為處理目的進行的跨境傳輸:您的組織仍須對資料負責,處理者必須提供相當程度的保護,且您必須向當事人公開說明這項安排。Office of the Privacy Commissioner 曾於 2019 年諮詢是否要改變這項立場,之後仍維持原立場。資料存放地要求來自其他規範,例如 Quebec's Law 25 的評估要求、Nova Scotia's PIIDPA 等公部門法規、Government of Canada 的雲端政策,或您自己的客戶合約條款。
加拿大使用者會注意到伺服器位於美國嗎?
對一般 Web 應用程式而言,不會。從 Toronto 到 New York 的往返延遲約為 18 ms,到 Northern Virginia 約為 26 ms;兩者都低於 Toronto 到 Vancouver 的 62 ms。使用者早在注意到 20 ms 的網路延遲前,就會先感受到伺服器回應時間與頁面大小。但在即時遊戲、語音通話,以及一個人需要對另一個人的動作即時反應時,他們確實會注意到延遲。
位於加拿大的資料中心是否不受美國法律管轄?
不一定。US CLOUD Act 適用於 US provider 擁有、保管或控制的資料,不論伺服器位於何處。因此,由美國公司營運的加拿大區域仍受該法涵蓋。如果您真正關注的是外國法律程序,應查看服務的營運者及加密金鑰的持有人,而不是只看建築物地址。使用由您自行持有的金鑰進行加密,會改變 provider 能夠交付的資料範圍。
如何測量自己不居住城市的延遲?
在該城市租用按小時計費的 VPS,執行 ping -c 20 和 mtr --report --report-cycles 50 測試到您自己的伺服器,然後刪除該 VPS。RIPE Atlas network 是另一個免費選項,其 probes 分布在加拿大各城市。如果 ICMP 遭到封鎖,請改用 curl -o /dev/null -s -w '%{time_connect} %{time_starttransfer}\n' https://your.server/ 測量實際請求;它會提供 TCP 往返時間,以及到達第一個位元組所需的完整時間。