Uwagi terenowe: Praca z Route Tables w AWS Transit Gateway

15 września 2021

AWS Transit Gateway pozwala dołączyć Amazon VPCs, AWS S2S VPN i połączenia AWS Direct Connect w tym samym regionie i kierować ruchem między nimi.

Transit Gateways są zaprojektowane tak, aby były wysoce skalowalne i odporne. Do każdego gate’a można podłączyć do 5000 VPC, a każdy załącznik może obsłużyć ruch o szybkości do 50 GB/s.

W tym artykule autor wyjaśni przepływ pakietów, jeśli zarówno sieć źródłowa, jak i docelowa są powiązane z tą samą lub inną AWS Transit Gateway Route Table. AWS Transit Gateway Route Table zawiera trasy dynamiczne, trasy statyczne i trasy blackhole. Ten routing działa w warstwie 3, gdzie pakiety IP są wysyłane do określonego załącznika następnego skoku w oparciu o docelowe adresy IP. Możesz utworzyć wiele tabel tras, aby oddzielić dostęp do sieci. AWS Transit Gateway kontroluje sposób kierowania ruchu do wszystkich połączonych sieci przy użyciu tabel tras.

Przegląd architektury

Aby zilustrować, jak działają tabele tras AWS Transit Gateway, rozważ następującą architekturę z zasobami na wielu kontach AWS (Prod, Pre-Prod, Staging, Dev, Network Service), a wszystkie konta znajdują się w tej samej organizacji AWS.

How-different-AWS-accounts-are-connected-via-AWS-Transit-Gateway

Rysunek 1: Jak różne konta AWS są połączone przez AWS Transit Gateway

Ogólny zarys

Autor artykułu utworzył bramę tranzytową na koncie Network Service i udostępnił Transit Gateway innym kontom AWS (Prod, Pre-Prod, Staging, Dev) w organizacji AWS z AWS Resource Access Manager (RAM).

AWS RAM umożliwia łatwe i bezpieczne udostępnianie zasobów AWS z dowolnym kontem AWS lub w ramach Twojej organizacji AWS. Autor utworzył trzy tabele tras Transit Gateway: tabelę tras Prod, tabelę tras usług sieciowych i tabelę tras przemieszczania.

Aby dołączyć połączenia VPC, VPN i Direct Connect w tym samym regionie do Transit Gateway, musisz utworzyć załączniki bramy tranzytowej. Proces wygląda następująco:

  • Gdy dołączasz VPC do Transit Gateway, musisz określić jedną podsieć w każdej strefie dostępności, która ma być używana przez bramę tranzytową do kierowania ruchu.
  • Utwórz podsieć łączności we wszystkich VPC i zdefiniuj podsieci łączności dla załącznika bramy tranzytowej.
  • Transit Gateway umieszcza interfejs sieciowy w podsieci łączności przy użyciu jednego adresu IP z podsieci. Określenie jednej podsieci dla strefy dostępności umożliwia ruchowi dotarcie do zasobów w innych podsieciach w tej strefie dostępności.
  • Jeśli strefa dostępności nie jest powiązana podczas tworzenia załączników bramy tranzytowej w celu dołączenia VPC, zasoby w tej strefie dostępności nie mogą dotrzeć do Transit Gateway.

UWAGA: Możesz mieć 20 tabel tras TGW na bramkę tranzytową i 10 000 tras na bramkę tranzytową.

Zasoby na kontach AWS i lokalnie

Masz AWS S2S VPN, który łączy lokalnie i TGW na koncie Network Service. Połączenie AWS S2S VPN jest dołączone do załącznika TGW (TGW Attachment-4) na koncie usługi sieciowej. Poniżej znajdują się informacje na temat sieci dla sieci lokalnej.

CIDR

Poniższa tabela przedstawia bloki CIDR VPC na różnych kontach AWS i odpowiednie załączniki Transit Gateway. Posiada również jedną instancję testową w każdym VPC na każdym koncie AWS.

Konta AWS

Sieci VPC, połączenia VPN/Direct Connect mogą dynamicznie szerzyć trasy do tabeli tras Transit Gateway. Możesz włączyć lub wyłączyć propagację trasy dla każdego załącznika Transit Gateway. W przypadku przyłączenia VPC bloki CIDR VPC są propagowane do tabeli tras bramy tranzytowej. W przypadku połączenia VPN/Direct Connect trasy w tabeli tras Transit Gateway są propagowane do lokalnego routera/zapory sieciowej przy użyciu protokołu Border Gateway (BGP). Prefiksy anonsowane przez sesję BGP z lokalnego routera/zapory są rozprzestrzeniane do tabeli tras bramy tranzytowej.

Powiązanie Transit Gateway Route Table

Załączniki Transit Gateway są powiązane z tabelą tras bramy tranzytowej. Załącznik można powiązać z jedną tabelą tras. Warto jednak pamiętać, że załącznik może propagować swoje trasy do jednej lub kilku tabel tras bramy tranzytowej.

Poniższa tabela przedstawia tabelę tras i powiązane załączniki bramy tranzytowej.

Powiązanie Transit Gateway Route Table

Aby zrozumieć, w jaki sposób pakiety przepływają w obrębie lub innej tabeli tras Transit Gateway. W tym artykule autor wyjaśnił to w trzech różnych scenariuszach.

Ważne: we wszystkich scenariuszach podsumowano sieć 10.0.0.0/8 i dodano trasę statyczną w tabeli tras VPC, dzięki czemu nie musimy wprowadzać zmian w tabeli tras podsieci za każdym razem, gdy chcesz uzyskać dostęp do zasobów w różnych kontach AWS. Jednak jesteśmy w stanie kontrolować ruch z tablicy tras TGW. Zmniejsza to koszty operacyjne i zyskuje możliwość centralnego zarządzania całą łącznością.

Scenariusz 1: Przepływ pakietów między kontem Prod a kontem Pre-Prod

Próbujesz wykonać SSH do Instance-2 (pre-prod) z Instance-1 (Prod). Poniższy obraz przedstawia przepływ pakietów dla pierwszych dwóch etapów uzgadniania protokołu TCP 3-Way między instancjami.

Przepływ pakietów między kontem Prod i Pre-Prod

Rysunek 2: Przepływ pakietów między kontem Prod i Pre-Prod

Grupy zabezpieczeń AWS i listy NACL są skonfigurowane tak, aby umożliwić komunikację dla obu instancji.

Źródłowy adres IP wystąpienia 1 to 10.1.10.10, a docelowy adres IP wystąpienia 2 to 10.2.10.10.

  1. Pakiet SYN jest weryfikowany na podstawie tabeli tras VPC powiązanej z podsiecią, która posiada instancję 1, a tabela tras VPC ma trasę dla sieci 10.0.0.0/8 punktów do przyłączenia bramy tranzytowej. Pakiet jest przekazywany do załącznika TGW.
  2. Brama tranzytowa odbiera ruch w tabeli tras Prod TGW, ponieważ przyłączenie bramy tranzytowej (Załącznik TGW-1) jest powiązane z tabelą tras Prod TGW. Tablica tras Prod TGW zawiera trasę dla sieci 10.2.0.0/16.
  3. Pakiet SYN jest oceniany na podstawie tabeli tras Prod Transit Gateway i przekazywany do Pre-Prod VPC. Następnie jest oceniany na podstawie tabeli tras VPC podsieci przyłącza TGW i NACL podsieci łączności.
  4. Pakiet jest przekazywany z załącznika Transit Gateway ENI do instancji 2 (10.2.10.10) po ocenie grup NACL i Security. W przypadku ruchu zwrotnego (SYN/ACK), źródłowy adres IP to 10.2.10.10, a docelowy adres to 10.1.10.10.
  5. Pakiet SYN/ACK jest oceniany na podstawie tabeli tras VPC powiązanej z podsiecią, która posiada instancję 2, a tabela tras VPC ma trasę dla sieci 10.0.0.0/8 punktów do przyłączenia TGW. Pakiet jest przekazywany do załącznika TGW.
  6. TGW odbiera ruch w tabeli tras Prod TGW, ponieważ przyłączenie bramy tranzytowej (Załącznik TGW-2) jest powiązane z tabelą tras Prod TGW. Tablica tras Prod TGW zawiera trasę dla sieci 10.1.0.0/16.
  7. Pakiet SYN/ACK jest oceniany na podstawie tabeli tras Prod TGW i przekazywany do Prod VPC. Następnie jest oceniany na podstawie tabeli tras VPC podsieci załącznika bramy tranzytowej i NACL tego samego.
  8. Pakiet SYN/ACK jest przekazywany z ENI załącznika TGW do instancji-1 po ocenie stanów przychodzących NACL i grupy bezpieczeństwa.

Wynik: Instancja-1 może pomyślnie odebrać pakiet SYN/ACK z instancji-2.

Jest to przepływ pakietów w momencie, gdy zarówno sieć źródłowa, jak i docelowa są powiązane z tą samą tabelą tras bramy tranzytowej.

Scenariusz 2: Przepływ pakietów między kontem przejściowym a kontem Pre-Prod

Załącznik Transit Gateway dla konta Pre-Prod (TGW Attachment-2) jest powiązany z tabelą tras Prod TGW, a załącznik TGW konta Staging (TGW Attachment-5) jest powiązany z tabelą Staging Transit Gateway w koncie usługi sieciowej.

W tabeli tras Transit Gateway można dodać trasę statyczną lub utworzyć propagację, aby dołączyć załącznik bramy tranzytowej, a trasy będą propagowane w tabeli tras bramy tranzytowej. W tym artykule wybrano opcję tworzenia propagacji do propagacji trasy w tabeli tras Transit Gateway.

W tabeli tras Prod Transit Gateway należy utworzyć propagację i wybrać załącznik Transit Gateway (TGW Attachment-5), a blok VPC CIDR 10.4.0.0/16 jest propagowany w tabeli tras Prod TGW. Podobnie musisz utworzyć propagację w tabeli tras Staging Transit Gateway i wybrać załącznik TGW (TGW Attachment-2), blok VPC CIDR 10.2.0.0/16 jest propagowany w tabeli tras Staging.

Jeśli próbujesz pingować Instancję-4 (Staging) z Instancji-2 (Pre-Prod), odpowiedź ICMP echo nie dociera do Instancji-2 z Instancji-4. Poniżej znajduje się przepływ pakietów dla żądania echa ICMP i odpowiedzi echa między instancjami.

Przepływ pakietów między kontem Pre-Prod i Staging

Rysunek 3: Przepływ pakietów między kontem Pre-Prod i Staging

Grupy zabezpieczeń AWS i listy NACL są skonfigurowane tak, aby umożliwić komunikację dla obu instancji.

Źródłowy adres IP Instancji-2 to 10.2.10.10, a docelowy adres IP Instancji-4 to 10.4.10.10.

  1. Pakiet Echo-Request jest weryfikowany na podstawie tabeli tras VPC powiązanej z podsiecią, która ma instancję 1, a tabela tras VPC ma trasę dla sieci 10.0.0.0/8 punktów do przyłącza bramy tranzytowej. Pakiet jest przekazywany do załącznika Transit Gateway.
  2. TGW odbiera ruch w tabeli tras Prod TGW, ponieważ przyłącze bramy tranzytowej (TGW Attachment-2) jest powiązane z tabelą tras Prod TGW. Tablica tras Prod TGW zawiera trasę dla sieci 10.4.0.0/16.
  3. Pakiet Echo-Request jest oceniany na podstawie tabeli tras Prod TGW i przekazywany do Staging VPC. Następnie jest oceniany na podstawie tabeli tras VPC podsieci przyłącza bramy tranzytowej i NACL podsieci łączności.
  4. Pakiet jest przekazywany z załącznika TGW ENI do instancji 4 (10.4.10.10) po ocenie NACL i grup bezpieczeństwa. W przypadku ruchu zwrotnego (Echo-Reply) źródłowy adres IP to 10.4.10.10, a docelowy adres IP to 10.2.10.10.
  5. Pakiet Echo-Reply jest oceniany na podstawie tabeli tras VPC powiązanej z podsiecią, która ma wystąpienie 4, a tabela tras VPC ma trasę dla sieci 10.0.0.0/8 punktów do przyłączenia bramy tranzytowej. Pakiet jest przekazywany do załącznika bramki tranzytowej.
  6. Brama tranzytowa odbiera ruch w tabeli tras bramy Staging Transit, ponieważ załącznik bramy tranzytowej (TGW Attachment-5) jest powiązany z tabelą tras Staging Trnasit Gateway. Tabela tras Staging Transit Gateway nie ma trasy dla sieci 10.2.0.0/16.
  7. Pakiet Echo-Reply jest oceniany na podstawie tabeli tras Staging Transit Gateway i nie ma trasy dla sieci docelowej 10.2.0.0/16. Pakiet nie jest przekazywany do Pre-Prod VPC.

Instancja-2 nie jest w stanie odebrać pakietu odpowiedzi echa z Instancji-4, ponieważ tabela tras Staging TGW nie ma trasy dla sieci Instancji-2.

Aby nawiązać pomyślną komunikację między tabelą tras Transit Gateway, musimy propagować trasy zarówno w tabeli tras Prod, jak i Staging Transit Gateway.

Scenariusz 3: serwer lokalny musi uzyskać dostęp do zasobów na koncie Dev AWS.

Połączenie S2S VPN jest skonfigurowane jako załącznik na TGW (załącznik TGW-4) i jest powiązane z tabelą tras usługi sieciowej. VPC w koncie usługi sieciowej był również powiązany (załącznik TGW-3) z tabelą tras usługi sieciowej i propagował blok VPC CIDR (10.3.0.0/16) w tabeli tras usługi sieciowej TGW.

Tunel VPN jest aktywny i nawiązywana jest sesja Border Gateway Protocol (BGP). Sąsiedzi BGP wymieniają trasy za pomocą wiadomości aktualizacyjnych. TGW promowało sieć 10.3.0.0/16 lokalnie i odbierało sieć 172.16.0.0/16 za pośrednictwem komunikatów aktualizacji BGP. Tabela tras usługi sieciowej ma dwie propagowane trasy 10.3.0.0/16 (załącznik VPC) i 172.16.0.0/16 (załącznik S2S VPN).

Uwaga: TGW ogłaszało tylko 10.3.0.0/16 lokalnie, ponieważ była to tylko trasa propagowana w tabeli tras usługi sieciowej Transit Gateway.

Jeśli próbujesz SSH do wystąpienia-5 (Dev) z serwera lokalnego 172.16.10.10, poniżej przedstawiono przepływ pakietów dla pierwszych dwóch etapów uzgadniania trójstronnego protokołu TCP między instancjami.

Przepływ pakietów między kontem lokalnym a kontem deweloperskim

Rysunek 4: Przepływ pakietów między kontem lokalnym a kontem deweloperskim

W tabeli tras usługi sieciowej TGW należy utworzyć propagację i wybrać załącznik bramy tranzytowej (załącznik TGW-6) oraz trasę 10.5.0.0/16 propagowaną w tabeli tras bramy sieciowej usługi tranzytowej. Sąsiad BGP promował lokalnie sieć 10.5.0.0/16 za pośrednictwem komunikatów aktualizacji BGP.

W tabeli Staging TGW Route musisz utworzyć propagację i wybrać załącznik TGW (TGW Attachment-4), a trasa 172.16.0.0/16 jest propagowana w tabeli Staging TGW route.

Musisz zaktualizować tabelę tras VPC na koncie deweloperskim. Konsola VPC → Tabele tras → Wybierz tabelę tras należącą do VPC i dodaj sieć 172.16.0.0/16 z Target jako TGW.

Poniżej znajduje się przepływ pakietów z lokalnej stacji roboczej do wystąpienia-5 na koncie Dev. Grupa zabezpieczeń AWS i NACL są dozwolone na instancji-5 na koncie deweloperskim, a niezbędny port TCP jest dozwolony na lokalnym routerze/zaporze ogniowej, aby komunikować się ze sobą. Źródłowy adres IP serwera to 172.16.10.10, a docelowy adres IP instancji-5 to 10.5.10.10

  1. Pakiet SYN został zweryfikowany względem tabeli tras On-premise (router/zapora) i otrzymał trasę 10.5.0.0/16 przez BGP. Pakiet jest przekazywany do przyłącza TGW przez tunel S2S.
  2. TGW odbiera ruch w tabeli tras TGW usługi sieciowej, ponieważ przyłączenie TGW (załącznik TGW-4) jest powiązane z tabelą tras TGW usługi sieciowej. Tabela tras usługi sieciowej TGW ma trasę dla 10.5.0.0/16.
  3. Pakiet SYN jest oceniany na podstawie tabeli tras usługi sieciowej TGW i przekazywany do Dev VPC. Następnie jest oceniany na podstawie tabeli tras VPC podsieci przyłącza TGW i NACL podsieci łączności.
  4. Pakiet jest przekazywany z załącznika TGW ENI do instancji-5 (10.5.10.10) po ocenie grup NACL i bezpieczeństwa. W przypadku ruchu zwrotnego źródłowy adres IP to 10.5.10.10, a docelowy adres IP to 172.16.10.10.
  5. Pakiet SYN/ACK jest oceniany na podstawie tabeli tras VPC skojarzonej z podsiecią, która ma wystąpienie 5, a tabela tras VPC ma trasę dla sieci 172.16.0.0/16 punktów do przyłączenia bramy tranzytowej bramy tranzytowej. Pakiet jest przekazywany do załącznika Transit Gateway.
  6. Brama tranzytowa odbiera ruch w tabeli tras Staging TGW, ponieważ załącznik TGW (Załącznik TGW-6) jest powiązany z tabelą tras Staging TGW. Tabela tras Staging Transit Gateway ma trasę dla sieci 172.16.0.0/16.
  7. Pakiet SYN/ACK jest przekazywany do lokalnego routera/zapory przez tunel S2S VPN. Router/Firewall przekazuje pakiet do stacji roboczej.

Pakiet SYN/ACK został zwrócony pomyślnie.

AWS Transit Gateway posiada również opcję dodania trasy statycznej blackhole do tabeli tras TGW. Zapobiega dotarciu załącznika źródłowego do określonej trasy. Jeśli trasa statyczna odpowiada CIDR propagowanej trasy, trasa statyczna będzie preferowana niż trasa propagowana.

Wnioski

W tym artykule dowiedziałeś się o przepływie pakietów, jeśli zarówno sieć źródłowa, jak i docelowa są powiązane z tą samą lub inną tabelą tras TGW. AWS Transit Gateway upraszcza architekturę sieci, zmniejsza koszty operacyjne i centralnie zarządza łącznością zewnętrzną. Jeśli posiadasz znaczną liczbę VPC, ułatwi to zespołowi sieciowemu zarządzanie dostępem w rosnącym środowisku.

Aby dowiedzieć się więcej, zapoznaj się z podręcznikiem użytkownika AWS Transit Gateway.

źródło: AWS

 

 

Case Studies
Referencje

Hostersi zrealizowali usługi konsultingowe z zakresu doboru odpowiedniej bazy danych w Amazon Web Services oraz pomyślnie przeprowadzili migrację bazy danych MySQL do Amazon Aurora. 

Tomasz Ślązok
CTO Landingi
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.