Jak mogę określić, która lokalizacja AWS jest najlepsza do obsługi klientów z określonego regionu?

87

AWS ma kilka lokalizacji do przechowywania i instancji EC2, na których można działać z różnymi cenami. Jak mogę określić, która lokalizacja jest najlepsza dla określonego regionu. Czy jest intuicyjny (najlepiej bliżej regionu obsługi), czy też istnieją jakiekolwiek problemy z niezawodnością (konkretna lokalizacja AWS ma więcej awarii niż inne). Czy są dostępne dane umożliwiające podjęcie takiej decyzji?

Tworzę aplikację, która jest skierowana głównie do klientów indyjskich. Więc rozważam Singapur lub Tokio jako opcję.

Gagandeep Singh
źródło

Odpowiedzi:

82

Określanie lokalizacji AWS o najniższym opóźnieniu do niestandardowego użytku

Inteligentni i innowacyjni ludzie z TurnKey Linux niedawno otworzyli swoje rozwiązanie problemu, zobacz mapowanie AWS Regional Data Centers na GitHub:

Ten projekt służy do generowania indeksów (i mapy wizualnej w celach informacyjnych) używanych przez TurnKey Hub do znajdowania najbliższego centrum danych AWS dla użytkownika. [podkreślenie moje]

Szczegółowy opis używanego algorytmu znajduje się w artykule Znajdowanie najbliższego centrum danych przy użyciu GeoIP i indeksowania, a także w artykule uzupełniającym Wyszukiwanie najbliższego archiwum pakietów APT przy użyciu GeoIP i indeksowania .

Choć trochę sztuczka, wizualizacja jest naprawdę fajna i potwierdza resp. ilustruje powód, dla którego na pierwszy rzut oka zaskakuje fakt, o którym Josh już wspomniał , a mianowicie, że użytkownicy w Australii mają obecnie tendencję do uzyskiwania lepszych opóźnień przez Zachodnie Stany Zjednoczone (Północna Kalifornia / us-west-1), a nie przez Azję Pacyfik -1) region. ( Wskazówka : sprawdzenie Future Cables w prawym dolnym rogu pokazuje, że prawdopodobnie to się zmieni, co jest bardziej szczegółowo opisane w Greg's Cable Map , która wskazuje, że Australia może przeskakiwać między obiema lokalizacjami AWS w nadchodzących latach;)

Korzystanie z lokalizacji AWS o najniższych opóźnieniach automatycznie za pośrednictwem Amazon Route 53

W międzyczasie AWS dostarcza pomocną mapę ilustrującą ich globalną infrastrukturę do szybkiej oceny, wraz z odpowiednimi szczegółami, takimi jak np. Liczba stref dostępności i punkt końcowy API.

Co ważniejsze, AWS właśnie ogłosił wsparcie geograficzne DNS, o którym Jahufar już wspomniał , zobacz wpis wprowadzający Multi-region Latency Based Routing jest teraz dostępny dla AWS , który udostępnia tę samą technologię routingu opartą na opóźnieniach, która zasila Amazon CloudFront użytkownikom Amazon EC2 , Elastyczne równoważenie obciążenia i nie tylko.

Jeśli więc Twoje środowisko zawiera już architekturę Auto Scaling EC2 Instances, po prostu zastosowanie tego routingu opartego na opóźnieniach powinno automatycznie rozwiązać problem.

Podczas gdy przypadek użycia jest oczywiście skierowany do ofert tworzących wiele regionów AWS, wyrafinowane funkcje związane z routingiem opartym na opóźnieniach i ważonymi zestawami rekordów Round Robin mogą również pozwolić ci na łatwiejsze określenie pożądanych informacji.

Steffen Opel
źródło
39

Wypróbuj cloudping.info

Wykona ping HTTP z przeglądarki do każdego regionu AWS.

Region  Latency
US-East (Virginia)  28 ms
US-West (California)    100 ms
US-West (Oregon)    110 ms
Europe (Ireland)    100 ms
Europe (Frankfurt)  119 ms
Asia Pacific (Singapore)    269 ms
Asia Pacific (Sydney)   239 ms
Asia Pacific (Japan)    209 ms
South America (Brazil)  147 ms

UWAGA dla administratorów SO : nie jestem powiązany z tą usługą. Znalazłem go przygotowując się do certyfikacji AWS.

Alex B.
źródło
1
To było przydatne. Z jakiegoś powodu z Tokio regionem o największym opóźnieniu jest Pekin.
Antonio Val
Mogłem uzyskać opóźnienie w ciągu kilku sekund.
Nagesh
7

Oto narzędzie konsoli, które pokazuje najbliższy region aws:

Jest napisany w języku golang i bardzo łatwy w użyciu:

➥ ./awsping --verbose 1
      Code            Region                                      Latency
    0 eu-central-1    Europe (Frankfurt)                         36.97 ms
    1 eu-west-1       Europe (Ireland)                           63.18 ms
    2 us-east-1       US-East (Virginia)                        126.52 ms
    3 ap-south-1      Asia Pacific (Mumbai)                     156.98 ms
    4 us-west-1       US-West (California)                      192.92 ms
    5 us-west-2       US-West (Oregon)                          226.23 ms
    6 sa-east-1       South America (São Paulo)                 247.74 ms
    7 ap-northeast-1  Asia Pacific (Tokyo)                      312.22 ms
    8 ap-northeast-2  Asia Pacific (Seoul)                      329.54 ms
    9 ap-southeast-2  Asia Pacific (Sydney)                     337.84 ms
   10 ap-southeast-1  Asia Pacific (Singapore)                  395.73 ms

Regiony są uporządkowane według opóźnienia.

Możesz go uruchomić na dowolnym serwerze i określić najbliższy region.

shorrty
źródło
6

Testowanie opóźnienia w różnych regionach jest oczywiście wskazane! Znajduję się w Australii i wielu użytkowników tutaj ma lepsze opóźnienie do zachodnich stanów USA niż do Singapuru - po części sprowadza się to do komunikacji równorzędnej lokalnych dostawców usług internetowych i łączności międzynarodowej. Sprawdzanie, czy masz użytkowników w regionie, na który kierujesz reklamy, jest stosunkowo proste.

Niezawodność po stronie AWS (tj. Nie problemy z siecią użytkowników) jest głównie konsekwencją wdrożenia w wielu strefach dostępności. W regionach USA jest więcej możliwości wyboru niż w krajach APAC tylko dlatego, że obsługują te rynki dłużej. Efektem ubocznym jest to, że funkcje są wdrażane stosunkowo późno w Singapurze / Tokio - zwykle nowe funkcje są wdrażane we wschodnich stanach USA.

Ponieważ masz już na myśli S3 i EC2 jako usługi, z których chcesz korzystać i oba są dostępne w bliższych regionach, oceń, czy nowsze usługi internetowe z AWS są od razu ważne - jeśli nie, strzelaj do czegoś (opóźnienia) w pobliżu.

Josh
źródło
4

Dobre narzędzie / witryna do sprawdzania opóźnień z naszej lokalizacji

http://www.cloudwatch.in/

wprowadź opis obrazu tutaj

BJ Patel
źródło
To rozwiązanie nie jest niezawodne. Zgłasza opóźnienie, które jest znacznie inne niż to, które mierzę z terminala za pomocą polecenia ping. Nie odzwierciedla również właściwej kolejności między tym, który region jest zamknięty, a który najdalej.
user1942586
3

EDYCJA: Spójrz na odpowiedź Marka Tsai. To jest droga do zrobienia (trasa 53 nie istniała, kiedy pisałem tę)

To prawdopodobnie należy do ServerFault, ale tutaj idzie:

To, o co w zasadzie prosisz, to Geo DNS.

W tej chwili nie jest bezpośrednio obsługiwany w AWS - chociaż widziałem, że niektórzy mówią o tym w niektórych postach na forum AWS - najprawdopodobniej w ich usłudze Route 53 .

Do tego czasu możesz przyjrzeć się rozwiązaniom innych firm, takim jak Zerigo , które zapewniłyby usługę Geo DNS.

Lub jeśli jesteś hardkorem, możesz stworzyć własny, konfigurując BIND z IP2Location

EDYCJA: Jest post na ServerFault, który mówi o dostawcach Geo DNS

Jeśli chodzi o twoje pytanie dotyczące wydajności i niezawodności AWS: powinieneś rozważyć serwowanie swojej witryny od najbliższego AZ do użytkownika - ma to sens, jeśli chodzi o szybkość i nie umieszczanie wszystkich instancji w jednym AZ. Możesz sprawdzić panel stanu usługi AWS aby uzyskać ogólne pojęcie o niezawodności usług Amazon w różnych AZ. Zwróć uwagę, że te dane pochodzą bezpośrednio z Amazona - nigdzie indziej nie widziałem żadnych niezależnych statystyk.

Jay Sidri
źródło