Prehod S3 ali končna točka vmesnika za lokalnega odjemalca?
Končne točke prehoda živijo v usmerjevalnih tabelah in služijo prometu VPC. Končne točke vmesnika dajo lokalni poti zasebni naslov, poleg tega DNS in pravilnik.
Doseči S3 iz pisarniškega omrežja prek VPN mesta ni težava usmerjanja, ki bi jo statična pot rešila sama. Končna točka prehoda se pripne na usmerjevalne tabele in služi zahtevkom, ki nastanejo znotraj VPC. Končna točka vmesnika postavi prožne omrežne vmesnike z zasebnimi naslovi v vaše podomrežja, in ti naslovi so dosegljivi z lokacije prek VPN ali Direct Connect. Kje se zahteva začne, odloči, katero od dveh v resnici potrebujete, delo z DNS, varnostno skupino in pravilnikom pa izhaja iz tega odgovora.
Ločite vrste končnih točk glede na to, kje se zahteva začne
Končna točka prehoda se pojavi kot vnos v usmerjevalni tabeli, ki kaže na upravljani seznam predpon. Nima omrežnega vmesnika, varnostne skupine ali lastnega zasebnega naslova, in prav zato gostitelj na lokaciji ne more usmerjati do nje: na drugi strani ni ničesar, kamor bi usmerjali. Promet od znotraj VPC doseže S3, ker usmerjevalna tabela podomrežja pošlje to predpono na končno točko. Promet od koder koli drugje nima takega vnosa, ki bi mu sledil.
Končna točka vmesnika je nabor omrežnih vmesnikov v podomrežjih, ki jih izberete, vsak z zasebnim naslovom iz tega podomrežja in pripeto varnostno skupino. To je oblika, ki jo lahko uporabi hibridni odjemalec, ker je običajen cilj, kamor lahko vaš tunel prenaša pakete. To tudi pomeni, da končna točka porablja naslove v podomrežju in jih lahko izčrpa.
aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table
Berite stolpec Type in ne imena. Ena VPC običajno vsebuje obe vrsti za isto storitev, vnos, ki ga vaša lokalna aplikacija potrebuje, pa je vmesniški.
Zgradite pot do naslova vmesnika, preden preizkusite S3
Tri stvari morajo veljati hkrati: usmerjevalnik na lokaciji ima pot do podomrežja končne točke, povratna pot iz tega podomrežja doseže odjemalčevo omrežje in varnostna skupina končne točke dopušča izvorni obseg odjemalca. Omrežni ACL podomrežja lahko paket še vedno zavrže, potem ko vsi trije veljajo, zato ga preverite kot četrto postavko in ne kot poznejšo misel.
Delujoča pot do neke instance EC2 v VPC ne dokazuje nič od tega. Pokaže le, da je tunel pokonci, kar je edini del poti, ki ste ga že poznali. Dokažite naslov končne točke ločeno in nato dokažite, da se ime razreši nanj.
ip route get 10.60.4.37 nc -vz 10.60.4.37 443 openssl s_client -connect 10.60.4.37:443 -servername bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com </dev/null
Prvi ukaz pokaže, kateri vmesnik bi odjemalec uporabil. Drugi dokaže rokovanje TCP. Tretji dokaže, da se TLS zaključi s potrdilom, veljavnim za ime končne točke, in to je preverjanje, ki ujame napačen naslov, preden obtožite dovoljenja.
Odločite, kateri odgovor DNS prejme aplikacija
Obstoj končne točke vmesnika v VPC sam po sebi ne preusmeri lokalnega SDK. Odjemalec uporabi bodisi ime, specifično za končno točko, ki ga AWS objavi za to točko, bodisi zasebno gostujočo cono, ki ste jo namerno naredili razrešljivo iz pisarne.
Za hibridno razreševanje potrebuje lokalni razreševalnik podprto pot v pogled DNS vaše VPC, običajno prek vhodne končne točke Resolverja. Vklop zasebnega DNS brez razumevanja, na katere vire poizvedb vpliva, je način, kako iskanje začne vračati naslov, do katerega pisarna ne pride. Nastavitev spremeni odgovore za poizvedbe, ki pridejo prek razreševalnika VPC, ne za vsakega odjemalca povsod.
dig +short bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com aws s3api head-bucket --bucket example-artifacts --endpoint-url https://bucket.vpce-0123456789abcdef0-abc123.s3.us-east-1.vpce.amazonaws.com
Zaženite oba na gostitelju aplikacije, ne na skakalni škatli v VPC. Razreševalnik, ki tam odgovarja, je tisti, ki ga uporablja vaša delovna obremenitev, in drugačen odgovor z drugega gostitelja je najpogostejši vir zmede v tej zasnovi.
Dosegljivost ni avtorizacija
Zahteva, ki prispe na končno točko, še vedno potrebuje pooblaščenega principal in veljavno dovoljenje za vedro. Pravilnik končne točke lahko zoži, kaj končna točka dopušča, pravilnik vedra pa lahko to še zoži. Doseči vmesnik ne pove ničesar o tem, katere predmete sme klicatelj brati.
Preizkusite obe smeri: en neškodljiv pooblaščen klic na predvideno vedro in en klic, za katerega se pričakuje zavrnitev zaradi identitete ali vira izven pravilnika. Shranite ime končne točke, razrešeni naslov in kontekst pravilnika skupaj z rezultatom, da ga naslednja oseba lahko ponovi. Zavrnitev, ki poimenuje vrsto pravilnika, prihrani uro ugibanja.
Nazadnje pred pripravo ocenite ceno obeh možnosti. Končna točka vmesnika se obračunava na uro vmesnika in na gigabajt, medtem ko končna točka prehoda ne, in ta razlika odloči vprašanje pri mnogih delovnih obremenitvah z majhnim obsegom, ki potrebujejo le dostop s strani VPC.