Wspólny Transit Gateway: kto posiada trasy w AWS RAM
Udostępnianie przez RAM pozwala innemu kontu podłączyć VPC, ale tabele tras, skojarzenia i propagacje pozostają u właściciela gatewaya. Oto granica.
Udostępnianie Transit Gateway przez Resource Access Manager robi jedną konkretną rzecz: pozwala innemu kontu wywołać zdefiniowany zestaw API podłączania wobec zasobu, którego nie posiada. Nie przenosi gatewaya, jego tabel tras ani prawa do decydowania, jak ruch jest przekazywany. Ludzie zakładają odwrotnie, ponieważ podłączenie pojawia się w konsoli odbiorcy i od razu działa, co wygląda jak własność. Mechanizm pod spodem to nadanie uprawnienia na współdzielonym zasobie, a każdy obiekt podrzędny pozostaje w granicach konta właściciela. Ten podział wyjaśnia większość zgłoszeń o odmowie dostępu wokół współdzielonego tranzytu.
Co udostępnianie faktycznie deleguje
Udostępnienie zasobu nazywa zasób, principal i zarządzane uprawnienie. Uprawnienie wymienia akcje, które ten principal może wykonać, a dla Transit Gateway lista obejmuje operacje podłączania na współdzielonym zasobie.
Wszystko poza listą zawodzi w API, a nie w konsoli, dlatego błąd często pojawia się przy pierwszym uruchomieniu skryptu.
Tabele tras, skojarzenia i propagacje pozostają u właściciela
Przekazywanie ustalają trzy obiekty podrzędne: z którą tabelą tras jest skojarzone podłączenie, do których tabel się propaguje i jakie trasy zawierają te tabele. Dokumentacja AWS dotycząca udostępniania stwierdza, że odbiorca nie może tworzyć, modyfikować ani usuwać tabel tras tranzytowego gatewaya ani ich skojarzeń i propagacji przez udostępnienie. Te wywołania należą do konta właściciela. Odbiorca, który potrzebuje nowego skojarzenia, prosi o zmianę administracyjną, a nie wykonuje uprawnienia, o którego włączeniu zapomniał.
Tabela poniżej to podział, który umieszczam w dokumentach projektowych, ponieważ przeżywa zmiany personelu.
| Role | What it controls |
|---|---|
| Transit Gateway owner | The gateway, its route tables, associations and propagations; the Site-to-Site VPN attachment is created here. |
| VPC owner using the share | Its own attachment, subnet route tables and security policy for the workloads. |
| Shared-subnet participant | Workload traffic only, following routes the VPC owner already set. |
Przeczytaj uważnie środkowy wiersz: właściciel VPC kontroluje trasy swojej podsieci, właściciel gatewaya kontroluje centralną decyzję o przekazywaniu, a działająca ścieżka wymaga obu. Żadne z kont nie może tego ukończyć samodzielnie.
Jedna ścieżka, dwa konta
Prześledź pakiet z VPC spoke do lokalnego prefiksu. Tabela tras podsieci spoke musi wysłać ten prefiks do podłączenia tranzytowego gatewaya, co właściciel VPC może zmienić. Następnie gateway musi mieć w skojarzonej tabeli podłączenia trasę wskazującą na podłączenie VPN, a to może zmienić tylko właściciel. Ruch powrotny wymaga lustra obu. Pomiń którąkolwiek stronę, a otrzymasz ścieżkę w połowie zainstalowaną, która wygląda jak problem z zaporą.
Zapisz obie zmiany w jednym zgłoszeniu z dwoma osobami odpowiedzialnymi, inaczej zostaną ukończone w różnych tygodniach.
Używaj identyfikatorów stref dostępności, gdy rozmieszczenie ma znaczenie
Nazwy stref to aliasy lokalne dla konta. us-east-1a na jednym koncie nie musi być tą samą strefą fizyczną co us-east-1a na innym. Gdy projekt wymaga podłączenia i obciążenia w tej samej strefie, porównaj identyfikatory AZ i zapisz je.
Porównywanie nazw daje diagram, który wygląda poprawnie, i profil opóźnień, który nie jest poprawny. Sprawdź to, gdy diagram jest jeszcze rysowany, a nie po tym, jak ktoś zmierzył różnicę.
Wyłączenie udostępniania nie przecina ścieżki danych
Usunięcie udostępnienia wygląda jak odwołanie, ale nie jest natychmiastowym zatrzymaniem ruchu. AWS dokumentuje, że podłączenie pozostaje funkcjonalne, gdy gateway przestaje być udostępniany. Uprawnienie do zarządzania zasobem znika, a istniejące podłączenie nadal przekazuje, dopóki ktoś go nie usunie lub nie wyłączy. Zaplanuj odwołanie w dwóch krokach: usuń udostępnienie, potem podłączenie, przy czym drugi wykonuje właściciel.
Jeśli udostępnianie jest twoją jedyną kontrolą, nie masz kontroli.
Trzymaj rekord udostępnienia i rekord trasowania razem
Dwa artefakty odpowiadają na dwa różne pytania. Rekord udostępnienia mówi, kto może pracować z zasobem. Tabele tras mówią, które sieci mogą naprawdę rozmawiać. Przechowuj je razem z tą samą listą właścicieli, inaczej następny incydent zacznie się od kogoś dowodzącego uprawnienia, które nigdy nie było problemem.
Następnie przetestuj jeden przepływ w każdym kierunku i jeden prefiks, który powinien pozostać nieosiągalny.