Kaip nukreipti SaaS srautą į tinkamą kliento VPN
Persidengiantys klientų subtinklai sulaužo bendrą maršrutizavimą. Pasirinkite izoliacijos modelį, susiekite kiekvieną užduotį su patvirtintu nuomininku ir prieš paleidimą išbandykite kelius tarp nuomininkų.
SaaS platforma jungiasi prie dvylikos klientų tinklų, ir du iš tų klientų abu naudoja 10.20.0.10 savo pagrindinei duomenų bazei. Darbuotojas, kuris užduotyje gauna šį adresą, niekaip negali sužinoti, kurią duomenų bazę turi omenyje užduotis, o bendra maršrutizavimo lentelė mielai nusiųs jį į tą tunelį, į kurį rodo priešdėlis. Sprendimas nėra daugiau tunelių; sprendimas yra nuspręsti, kur nuomininko tapatybė patenka į kelią ir kokio izoliacijos modelio reikalauja adresų planas. Trys sąlygos nulemia pasirinkimą: ar klientų priešdėliai persidengia, kaip toli gali pasklisti klaida ir kas valdo jungtį.
Dvi kliento duomenų bazės, vienas paskirties adresas
IP adresas yra vieta, o ne tapatybė. Užklausa turi nešti nuomininką, kurį patvirtino serveris, ir tas nuomininkas turi pasirinkti tinklo kontekstą prieš išsprendžiant paskirties vietą.
Kai taip nevyksta, gedimas yra tylus. Ryšys pavyksta, užklausa įvykdoma, o atsakymas ateina iš neteisingo kliento duomenų bazės, nes maršrutizavimo lentelėje buvo vienas įrašas 10.20.0.10 adresui. DNS dar labiau pablogina: podėlyje saugomas vardas, išspręstas nuomininko A kontekste, gali būti pakartotinai naudojamas užduoties, vykdomos nuomininkui B. Niekas pakete neišskiria jųdviejų, todėl jokia kartojimo logika to nepataiso.
Pirmiausia nuspręskite dėl izoliacijos modelio
Užsirašykite tris sąlygas prieš lygindami produktus. Persidengimas nulemia, ar vieną adresų erdvę apskritai galima bendrinti; poveikio spindulys nulemia, ar maršrutizavimo klaida yra palaikymo bilietas, ar pažeidimas; operacinė nuosavybė nulemia, ar galite valdyti jungčių parką kiekvienam nuomininkui.
| Condition | Hub with per-tenant route tables | Per-tenant connector context |
|---|---|---|
| Customer CIDRs overlap | No, unless you add 1:1 NAT | Yes, each context keeps its own view |
| A mistake must stay inside one VPC | Weak, routing is shared infrastructure | Strong, each connector has its own egress |
| You can run one fleet per tenant | Not required | Required |
Jei priešdėliai skiriasi ir politika leidžia valdomą centrą, vienas Transit Gateway su maršrutizavimo lentelėmis kiekvienam nuomininkui yra įmanomas. Priedo asociacija parenka maršrutizavimo lentelę, naudojamą srautui, ateinančiam iš to priedo, o sklaida parenka, kurie maršrutai atsiranda lentelėje. Nuomininko priedas, susietas tik su savo lentele ir skleidžiantis tik savo priešdėlius, pasiekia centrą ir nieko daugiau. Tai maršrutizavimo sprendimas, ir jis lieka teisingas tik tol, kol niekas neprideda numatytojo maršruto į bendrą lentelę.
Jei priešdėliai persidengia, vien maršrutizavimas negali jų atskirti. Jums reikia atskiro tinklo konteksto kiekvienam nuomininkui arba vertimo plano, kuris kiekvieno kliento erdvei suteiktų vienareikšmę prasmę.
Ką iš tikrųjų reiškia Transit Gateway izoliacija
Asociacija ir sklaida yra du svarbiausi nustatymai, ir juos lengva supainioti. Asociacija atsako, kurioje lentelėje ieškoma šio priedo paketo; sklaida atsako, kurios lentelės išmoksta šio priedo maršrutus. Izoliacija atsiranda dėl to, kad abu tampa nuomininkui būdingi, o ne dėl daugiau priedų kūrimo.
Numatytoji visi-su-visais konfigūracija yra patogi ir nėra izoliacija. Atskiros maršrutizavimo lentelės apriboja ryšį, bet nesuteikia vienam nepasikeitusiam paskirties adresui dviejų prasmių tame pačiame maršrutizavimo kontekste. Jei programa išsprendžia 10.20.0.10 prieš žinodama nuomininką, maršrutizavimo sluoksnis jau prarado reikiamą informaciją.
AWS 2026 metų spalio 23 dieną pridėjo priedo lygmens 1:1 NAT, skirtą Transit Gateway ir Cloud WAN, o tai keičia persidengimo atsakymą palaikomiems priedams. Transit Gateway NAT dokumentacija aprašo statinius, be būsenos, vienodo priešdėlio IPv4 susiejimus su išsaugotais hosto bitais. Prieš projektuodami pagal tai patikrinkite palaikomus priedų tipus ir regioninius apribojimus.
Susiekite užduotį su patvirtintu nuomininku
Kiekviena užduotis turėtų nešti serverio patvirtintą nuomininko tapatybę, ir ta tapatybė turėtų pasirinkti administratoriaus valdomą ryšio įrašą. Įrašas nurodo patvirtintą tinklo kontekstą, paslaugos adresą, kredencialų nuorodą ir ten leidžiamas operacijas. Nepatikima užklausa niekada neturi pateikti savo VPN identifikatoriaus, šliuzo ar privataus taikinio, nes galiojantis prisijungimas nėra leidimas tirti kiekvieno prisijungusio kliento adresų erdvę.
Izoliuotų jungčių projekte nuomininko A darbas eina į A būdingą jungtį, kuri veikia A VPC ir gali pasiekti tik A patvirtintus išteklius. Atskiri konteineriai viename hoste patys nesukuria to atskyrimo; tinklo vardų erdvės, maršrutai ir išėjimo politika turi tai įgyvendinti. Jungčiai taip pat reikia nuomininko aprėpties kredencialų ir eilių, nes privatus maršrutas neapriboja bendros paslapties ar bendro darbo elemento. Bendri programų darbuotojai yra gerai, jei tinklo kontekstas ir kredencialai pasirenkami kiekvienam nuomininkui, o ne kiekvienam hostui.
Sveikatos patikros turėtų nurodyti nuomininką ir etapą: tunelis nustatytas, maršrutas yra ir tikra paslaugos užklausa pavyko yra trys skirtingi signalai. Bendras veikiančių tunelių skaičius paslėps tą vieną klientą, kurio jungtis sugedusi.
Išbandykite kelius, kurie turi nepavykti
Prieš paleidimą atlikite tris testus. Leidžiama A operacija turi pavykti, leidžiama B operacija turi pavykti, o A užduotis, tyčia nukreipta į B jungtį ar jos išverstą slapyvardį, turi nepavykti uždarai. Tada nutraukite vieną tunelį ir patvirtinkite, kad užduotis nepavyksta tik tam nuomininkui, nenukrentant į kito kliento to paties numerio subtinklą. Atkūrimas taip pat turėtų būti testuojamas, nes pasenęs maršrutas ar podėlyje saugomi kredencialai gali pergyventi triktį.
Architektūra gali būti bendri darbuotojai su izoliuotomis jungtimis arba visiškai atskirti nuomininko ištekliai. Invariantas tas pats: patvirtintas nuomininko kontekstas parenka maršrutą ir kredencialus, ir joks maršruto pakeitimas niekada nesuteikia programai leidimo tarp nuomininkų.