SSD Nodes Learn 8GB RAM — $66/rok
Przewodniki Matt ConnorAutor: Matt Connor

VPS w Kanadzie: kiedy lokalizacja serwera ma znaczenie

PIPEDA nie wymaga kanadyjskiego VPS w każdej sytuacji. Sprawdź, kiedy obowiązuje rezydencja danych, oraz zmierz RTT użytkowników zamiast zgadywać wpływ opóźnień.

Czy VPS musi znajdować się w Kanadzie?

Hosting VPS w Kanadzie warto wybrać, gdy przepisy lub umowa wymagają, aby dane pozostały na terytorium Kanady. To jedyny bezwzględny powód. Podróż w obie strony z domowego łącza w Toronto do centrum danych w Nowym Jorku trwa około 18 ms, a do centrum danych w Toronto około 3 ms. Prawie żadna aplikacja internetowa nie jest w stanie wykryć tej różnicy.

Trzy czynniki skłaniają do wyboru serwera w Kanadzie. Rezydencja danych jest obowiązkiem prawnym, więc sama rozstrzyga tę kwestię. Opóźnienie można zmierzyć i zwykle jest mniejsze, niż się oczekuje. Rozliczanie w dolarach kanadyjskich jest udogodnieniem dla księgowości. Przed rozważeniem innych kwestii należy ustalić, czy pierwszy czynnik ma zastosowanie.

Ten artykuł ogólnie wyjaśnia zasady. Nie stanowi porady prawnej. Jeżeli organizację obowiązują przepisy dotyczące prywatności, odpowiedzi należy uzyskać od doradcy prawnego.

Rezydencja danych: jedyny bezwzględny wymóg

PIPEDA (Personal Information Protection and Electronic Documents Act) to federalna kanadyjska ustawa o ochronie prywatności w sektorze prywatnym. Nie wymaga ona, aby dane osobowe pozostawały w kraju. Przekazanie danych podmiotowi przetwarzającemu za granicą traktuje jako transfer w celu przetwarzania: organizacja nadal odpowiada za dane, podmiot przetwarzający musi zapewnić im porównywalną ochronę, a osoby, których dane dotyczą, muszą zostać poinformowane o takim transferze. Office of the Privacy Commissioner konsultował zaostrzenie tych zasad w 2019, a następnie utrzymał dotychczasowe stanowisko. Dlatego często powtarzane twierdzenie, że PIPEDA wymaga przechowywania danych w Kanadzie, jest nieprawdziwe, mimo że pojawia się w wielu materiałach dostawców hostingu.

Rzeczywiste wymogi dotyczące rezydencji danych istnieją. Obowiązują jednak w węższych obszarach.

  • Quebec's Law 25 wymaga przeprowadzenia oceny przed wysłaniem danych osobowych poza prowincję. Dane muszą otrzymać odpowiednią ochronę w miejscu docelowym. Przepis ten obowiązuje od September 2023. Wymaga on dokumentacji oraz decyzji, której zasadność musi być możliwa do wykazania. Nie ustanawia zakazu.
  • Przepisy dotyczące sektora publicznego wiążą organy publiczne oraz obsługujące je przedsiębiorstwa. Nova Scotia's PIIDPA ogranicza przechowywanie danych osobowych poza Kanadą. British Columbia's FIPPA zawierała podobny wymóg do czasu nowelizacji w 2021, która po przeprowadzeniu oceny dopuściła przechowywanie danych za granicą.
  • Prace dla rządu federalnego podlegają kierunkom Government of Canada's cloud, które wymagają, aby dane sklasyfikowane jako Protected B i wyższe pozostały w Kanadzie.
  • Prowincjonalne przepisy dotyczące prywatności danych medycznych ustanawiają dodatkowe warunki dotyczące miejsca przechowywania dokumentacji medycznej. Warunki te różnią się w poszczególnych prowincjach.
  • W praktyce najczęstszą przyczyną są umowy z klientami i przetargi publiczne. Kwestionariusz bezpieczeństwa zawierający wymóg „data at rest in Canada” wiąże organizację równie ściśle jak ustawa, ponieważ został przez nią podpisany.

Praktyczny test jest prosty. Czy można wskazać konkretny przepis? Jeżeli nikt w organizacji nie potrafi wskazać ustawy ani umowy wymagającej przechowywania danych w Kanadzie, decyzję podejmuje się na podstawie opóźnień i ceny.

Czy kanadyjskie centrum danych znajduje się poza zasięgiem prawa USA?

Nie samo w sobie. Amerykańska ustawa CLOUD Act (Clarifying Lawful Overseas Use of Data Act) obejmuje dane będące w posiadaniu, pieczy lub pod kontrolą amerykańskiego dostawcy, niezależnie od lokalizacji sprzętu. Oznacza to, że region Toronto obsługiwany przez amerykańską firmę również podlega jej zasięgowi. Jeśli rzeczywiste wymaganie dotyczy zagranowych procedur prawnych, a nie geografii, znaczenie ma to, kto obsługuje usługę i kto posiada klucze szyfrujące. Sam kanadyjski adres budynku nie rozstrzyga tej kwestii.

Routing jest drugim zaskoczeniem. Ruch między dwoma kanadyjskimi miastami często przebiega przez Stany Zjednoczone, ponieważ historycznie znajdował się tam tani peering. Badacze nazywają to routingiem typu boomerang. Przed poinformowaniem kogokolwiek, że pakiety nie opuszczają kraju, należy uruchomić traceroute.

traceroute vps.example.com

Nazwy hopów zawierają kody miast, takie jak nyc, chi lub ash. Są to jedynie wskazówki i z czasem tracą aktualność. Należy traktować je jako powód do zapytania dostawcy, a nie jako dowód. W przypadku danych przesyłanych niezawodną odpowiedzią jest szyfrowanie kontrolowane przez użytkownika, a nie mapa. Jeśli wymagane jest prywatne połączenie między własnymi maszynami, samodzielnie hostowana sieć VPN WireGuard zapewnia taką ścieżkę niezależnie od kraju, przez który przebiega światłowód.

Opóźnienia: należy je mierzyć, a nie zakładać

Światło w światłowodzie pokonuje około 200 km w ciągu jednej milisekundy, dlatego każde 100 km odległości oznacza około 1 ms opóźnienia w obie strony, jeszcze przed uwzględnieniem jakiegokolwiek sprzętu. Odległość między Toronto a Vancouver wynosi około 3,400 km w linii prostej i jest większa w przypadku trasy kablowej, co wyznacza dolną granicę na poziomie około 40 ms. Rzeczywiste trasy mają większe wartości.

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
  }
]

Są to typowe opublikowane wartości dla dobrze skomunikowanego łącza konsumenckiego w Toronto. Stanowią punkt wyjścia, a nie gwarancję. Własne wyniki zależą od sieci dostępowej i peeringu operatora oraz zmieniają się w zależności od pory dnia.

Dwa wiersze warto przeczytać dwukrotnie. Toronto–Montreal to około 12 ms, czyli na tyle mało, że w większości zastosowań oba miasta funkcjonują jak jeden region. Toronto–Vancouver to około 62 ms, czyli więcej niż Toronto–Northern Virginia, gdzie wartość wynosi 26 ms. Lokalizacja w Kanadzie nie oznacza automatycznie bliskości użytkowników.

Decydujące znaczenie i tak ma zwykle odcinek ostatniej mili. Światłowód doprowadzony do domu dodaje kilka milisekund. Łącze kablowe dodaje więcej, gdy jest obciążone. Samo połączenie mobilne dodaje dziesiątki milisekund. Użytkownik telefonu w Toronto może uzyskać opóźnienie 50 ms do serwera w Toronto, a przeniesienie tego serwera do Nowego Jorku zmieni jego odczucia o kilka procent.

Jak testować opóźnienia z lokalizacji użytkowników

Najpierw ustal, gdzie faktycznie znajdują się użytkownicy. Dane analityczne pokazują już sesje według miasta lub regionu. Należy korzystać z tych danych, zamiast zgadywać na podstawie lokalizacji biura.

Następnie wykonaj pomiar z odpowiedniej lokalizacji. Nie można testować opóźnienia do Vancouver z komputera w biurze w Ottawie. Należy wynająć na 20 minut VPS rozliczany godzinowo w docelowym mieście, a następnie go usunąć. Można poprosić współpracownika lub klienta o uruchomienie jednego polecenia. Można też użyć bezpłatnej sieci pomiarowej RIPE Atlas dostępnej pod adresem https://atlas.ripe.net. Sieć ta ma sondy w kanadyjskich miastach i umożliwia uruchamianie testów ping z ich użyciem.

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

Należy odczytać dwa ostatnie wiersze.

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 to główna wartość pomiaru. mdev to jitter, czyli rozrzut między pakietami. Każda utrata pakietów na krótkiej trasie jest usterką wymagającą zbadania. Wysoki jitter bardziej szkodzi połączeniom głosowym i grom niż nieco wyższa średnia, ponieważ odbiornik musi buforować dane z uwzględnieniem najgorszego pakietu, a nie typowego.

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

mtr wyświetla utratę pakietów dla każdego przeskoku. Jeśli polecenie zakończy się błędem uprawnień, należy uruchomić je z użyciem sudo. Przeskoki pośrednie często pokazują utratę, która nie jest rzeczywista, ponieważ routery nadają generowanym przez siebie odpowiedziom ICMP najniższy priorytet. Rzeczywista dla ruchu jest tylko utrata, która utrzymuje się aż do ostatniego wiersza. Najpierw należy odczytać ostatni wiersz, a następnie analizować wcześniejsze.

Gdy ICMP jest blokowany lub ograniczany, należy zmierzyć czas działania właściwego protokołu.

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/

Każde pole zawiera skumulowany czas w sekundach od początku żądania. connect minus dns to jedno pełne połączenie TCP. tls minus connect to uzgadnianie połączenia. ttfb minus tls to jeszcze jedno pełne połączenie oraz czas potrzebny aplikacji na udzielenie odpowiedzi. Właśnie w tej ostatniej różnicy większość powolnych witryn traci czas. Wartość ttfb wynosząca 0.8 s na krótkiej trasie wskazuje na problem aplikacji. Przeniesienie serwera do innego miasta go nie rozwiąże.

Aby zmierzyć przepustowość, należy uruchomić serwer na VPS, a klienta po stronie użytkownika. iperf3 nasłuchuje na TCP 5201. Na potrzeby testu należy otworzyć port za pomocą ufw, a po zakończeniu testu ponownie go zamknąć.

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 odwraca kierunek, dzięki czemu można zmierzyć zarówno pobieranie, jak i wysyłanie. -P 8 otwiera osiem równoległych strumieni. Jeśli osiem strumieni działa znacznie szybciej niż jeden, ograniczeniem jest okno TCP na długiej trasie, a nie samo łącze. Pojedynczy strumień może przesyłać tylko jedno okno w każdym pełnym połączeniu. To samo okno na trasie do Vancouver przesyła w przybliżeniu jedną trzecią ilości danych na sekundę w porównaniu z trasą do Nowego Jorku. Kopie zapasowe przesyłane na duże odległości działają tak samo. Dlatego kopie zapasowe poza lokalizacją za pomocą restic działają wolno względem odległego celu nawet przy szybkim łączu.

Podczas działania iperf3 należy utrzymywać ping w drugim terminalu. Jeśli podczas transferu czas pełnego połączenia wzrośnie z 20 ms do 300 ms, oznacza to bufferbloat we własnym urządzeniu dostępowym. Żadna lokalizacja centrum danych tego nie naprawi.

Pomiary należy wykonywać więcej niż raz, w tym wieczorem. Przeciążenie o 9pm to wartość, z którą użytkownicy faktycznie mają do czynienia. Wartość z 4am to ta, którą strona sprzedażowa wolałaby podawać.

Co oznacza czas RTT dla obciążenia

Zimne ładowanie strony wymaga czterech podróży w obie strony, zanim przeglądarka będzie mogła cokolwiek narysować.

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
  }
]

Zapytanie DNS jest kierowane do resolvera, a nie do serwera, i zwykle znajduje się w pamięci podręcznej, dlatego podczas ponownej wizyty można je pominąć. Licząc od początku do końca, zimne ładowanie zaczyna się z opóźnieniem 72 ms na trasie do Nowego Jorku oraz 248 ms na trasie do Vancouver. Obie wartości są pomijalne w porównaniu z pojedynczym zapytaniem do bazy danych trwającym 400 ms. Po otwarciu połączenia HTTP/2 i HTTP/3 przesyłają wiele żądań jednocześnie, dlatego ten koszt jest ponoszony raz, a nie dla każdego pliku. Zasoby statyczne należy umieścić w CDN (sieci dostarczania treści). W takim przypadku lokalizacja serwera źródłowego przestaje mieć dla nich znaczenie, dlatego użytkownik z Europy, dla którego czas RTT do Toronto wynosi 98 ms, nadal może szybko wczytać stronę.

Gry wieloosobowe działające w czasie rzeczywistym są przypadkiem przeciwnym, ponieważ podróż w obie strony decyduje o jakości rozgrywki. W dynamicznej grze akcji opóźnienie poniżej około 50 ms jest odczuwane jako natychmiastowa reakcja, przy około 80 ms gracze zaczynają je zauważać, a powyżej 120 ms obwiniają serwer. W tym przypadku region rzeczywiście decyduje o jakości produktu. Serwery gier o wolniejszym tempie są znacznie bardziej tolerancyjne, dlatego uruchomienie serwera Minecraft na VPS pozwala obsługiwać odległości, które zniszczyłyby jakość rozgrywki w strzelance.

Bazy danych to obszar, w którym wybór regionu może poważnie zaszkodzić wydajności. Aplikacji i bazy danych nie należy umieszczać w różnych regionach. Każde zapytanie jest podróżą w obie strony. Strona wykonująca 40 zapytań ponosi ten koszt 40 razy: przy 18 ms za każde zapytanie daje to prawie sekundę, a przy 62 ms za każde zapytanie przekracza dwie sekundy. Dotyczy to strony, której profilowanie wykazało 30 ms, gdy baza danych znajdowała się na tym samym serwerze. Replikacja asynchroniczna do innego regionu sprawdza się w przypadku replik do odczytu i odzyskiwania po awarii. Synchroniczne zatwierdzanie zmian przez długą trasę dodaje czas tej trasy do każdej operacji zapisu.

Sesje interaktywne zajmują pośrednie miejsce. SSH pozostaje wygodne do około 100 ms, a powyżej tej wartości zaczyna działać z opóźnieniem, ponieważ każde naciśnięcie klawisza wymaga oczekiwania na powrót echa. mosh przewiduje dane lokalnie i ukrywa większość tego opóźnienia. Webhooki i wewnętrzne interfejsy API powinny zawsze znajdować się w tym samym regionie co wywoływana usługa.

Rozliczenia, waluta i podatek

Płatność w dolarach kanadyjskich pozwala uniknąć opłaty za transakcję zagraniczną naliczanej przez wystawcę karty, która w sierpniu 2026 wynosiła zazwyczaj około 2.5%, oraz prowadzić księgowość w jednej walucie. Kanadyjski dostawca wystawia fakturę z podatkiem GST lub HST, który zarejestrowana firma może odliczyć jako podatek naliczony. Jest to kwestia finansowa, więc należy udzielić na nią odpowiedzi finansowej. Nie powinna ona nigdy decydować o tym, dokąd jest kierowany ruch sieciowy. Aby dowiedzieć się, jaki jest rzeczywisty koszt serwera i jak porównywać plany bez nieuwzględniania cen odnowienia, zapoznaj się z artykułem jaki jest rzeczywisty miesięczny koszt VPS.

Ile kosztuje mniejszy rynek

Kanada jest małym rynkiem hostingu w porównaniu ze Stanami Zjednoczonymi. Rzetelna ocena obejmuje także ograniczenia.

  • O klientów konkuruje mniej dostawców. Cena za gigabajt pamięci RAM lub przestrzeni dyskowej jest więc zwykle wyższa dla maszyny tej samej klasy.
  • Zasoby koncentrują się w Toronto i Montrealu. W Vancouver i Calgary jest ich mniej. Drugi kanadyjski region na potrzeby przełączania awaryjnego często oznacza długą trasę albo konieczność opuszczenia kraju.
  • Mały dostawca regionalny może korzystać z jednego budynku i usług jednego lub dwóch operatorów nadrzędnych. Należy ustalić, ilu jest operatorów oraz co się dzieje w przypadku awarii jednego z nich.
  • Oferta sprzętowa jest węższa. Duże instancje i maszyny GPU łatwiej znaleźć w regionach amerykańskich. Dlatego VPS GPU o wymaganym rozmiarze może nie być dostępny w wybranym mieście.
  • Zakres obsługi przez personel małego dostawcy jest rzeczywistą kwestią, a nie elementem marketingu. Należy ustalić, w jakich godzinach personel jest dostępny.

Montreal jest wyjątkiem pod względem ceny. Energia wodna w Quebecu jest tania, a zimy obniżają koszty chłodzenia. Dzięki temu obszar Montrealu ma dużą przepustowość i oferuje stawki konkurencyjne wobec regionów amerykańskich. Jeżeli wymagane jest korzystanie z Kanady, a nie z konkretnego miasta, należy zacząć od tego obszaru.

Jeżeli kanadyjskie poziomy VPS są zbyt małe dla danego obciążenia, przed uznaniem, że problemem jest wybór kraju, należy porównać VPS z serwerem dedykowanym.

Kiedy hosting VPS w Kanadzie jest właściwym wyborem

  1. Kanadę wskazuje ustawa, umowa lub polityka sektora publicznego. Należy hostować usługę w Kanadzie. Pozostałe informacje z tego artykułu nie mają wówczas zastosowania. Należy również uzyskać od dostawcy pisemne zobowiązanie dotyczące lokalizacji danych.
  2. Użytkownicy znajdują się w jednej kanadyjskiej aglomeracji, a obciążenie jest zależne od opóźnień: dotyczy gier wieloosobowych, komunikacji głosowej, zdalnych pulpitów lub transakcji. Należy hostować usługę w najbliższym mieście i przed podpisaniem umowy zmierzyć oba warianty.
  3. Użytkownicy są rozproszeni po całym kraju. Toronto lub Montreal obejmuje największą część populacji, a CDN przed statycznymi zasobami zapewnia użytkownikowi w Vancouver większą poprawę niż przeniesienie serwera źródłowego.
  4. Wszystkie pozostałe przypadki, czyli większość sytuacji. Należy wybrać ofertę na podstawie ceny i rzeczywiście dostępnego sprzętu, a następnie sprawdzić jakość wsparcia o 2am. Najpierw należy wykonać test porównawczy kandydującej oferty, ponieważ dwa plany o identycznej specyfikacji nie muszą działać tak samo: jak prawidłowo przeprowadzić test porównawczy VPS.

Niezależnie od wyboru należy zapisać jego uzasadnienie obok decyzji. Kolejna osoba, która zapyta, czy usługa powinna znajdować się w Kanadzie, zasługuje na lepszą odpowiedź niż przypuszczenie. Jeżeli decyzja kiedykolwiek wynikała z zapisu umownego, trzeba będzie go ponownie odnaleźć. Po uruchomieniu serwera pierwsze dziesięć minut na nowym VPS będzie miało większe znaczenie dla bezpieczeństwa niż jego lokalizacja.

FAQ

Czy PIPEDA wymaga, aby moje dane pozostały w Kanadzie?

Nie. PIPEDA (Personal Information Protection and Electronic Documents Act) nie ustanawia wymogu rezydencji danych dla sektora prywatnego. Przekazanie danych osobowych podmiotowi przetwarzającemu w innym kraju jest transferem w celu przetwarzania: organizacja nadal odpowiada za dane, podmiot przetwarzający musi chronić je na porównywalnym poziomie, a organizacja musi w przejrzysty sposób poinformować osoby, że taki transfer ma miejsce. Office of the Privacy Commissioner konsultował zmianę tego stanowiska w 2019 roku, a następnie je utrzymał. Wymogi dotyczące rezydencji danych wynikają z innych źródeł: oceny wymaganej na mocy Quebec's Law 25, przepisów sektora publicznego, takich jak Nova Scotia's PIIDPA, wytycznych Government of Canada dotyczących chmury lub klauzuli zawartej we własnej umowie z klientem.

Czy użytkownicy w Kanadzie zauważą serwer znajdujący się w Stanach Zjednoczonych?

W przypadku zwykłej aplikacji internetowej — nie. Podróż w obie strony z Toronto do Nowego Jorku trwa około 18 ms, a do Northern Virginia około 26 ms. W obu przypadkach jest to krócej niż podróż z Toronto do Vancouver, która trwa 62 ms. Użytkownicy zauważają czas odpowiedzi serwera i rozmiar strony znacznie wcześniej niż 20 ms opóźnienia w sieci. Zauważają je jednak w grach działających w czasie rzeczywistym, podczas połączeń głosowych oraz wszędzie tam, gdzie jedna osoba reaguje na drugą.

Czy kanadyjskie centrum danych znajduje się poza zakresem prawa Stanów Zjednoczonych?

Nie automatycznie. US CLOUD Act obejmuje dane znajdujące się w posiadaniu, pieczy lub pod kontrolą dostawcy z USA, niezależnie od lokalizacji serwera. Oznacza to, że kanadyjski region obsługiwany przez amerykańską firmę również podlega temu aktowi. Jeżeli rzeczywistym problemem jest zagranowe postępowanie prawne, należy sprawdzić, kto obsługuje usługę i kto posiada klucze szyfrowania, zamiast analizować adres budynku. Szyfrowanie przy użyciu kluczy przechowywanych samodzielnie zmienia zakres informacji, które dostawca może przekazać.

Jak zmierzyć opóźnienie z miasta, w którym nie mieszkam?

Należy wynająć VPS na godziny w tym mieście, uruchomić ping -c 20 i mtr --report --report-cycles 50 do własnego serwera, a następnie zniszczyć VPS. Sieć RIPE Atlas jest bezpłatną alternatywą z sondami rozmieszczonymi w kanadyjskich miastach. Jeżeli ICMP jest blokowany, należy zamiast tego zmierzyć czas rzeczywistego żądania za pomocą curl -o /dev/null -s -w '%{time_connect} %{time_starttransfer}\n' https://your.server/. Polecenie to podaje czas podróży w obie strony dla TCP oraz pełny czas do otrzymania pierwszego bajtu.

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