S3 mrežni prolaz ili sučeljna završna točka za klijenta na lokaciji?
Završne točke mrežnog prolaza žive u rutnim tablicama i služe VPC prometu. Sučeljne završne točke daju putu s lokacije privatnu adresu, plus DNS i politiku.
Dohvat S3 s uredske mreže preko site VPN-a nije rutni problem koji statična ruta može sama riješiti. Završna točka mrežnog prolaza priključena je na rutne tablice i služi zahtjevima koji nastaju unutar VPC-a. Sučeljna završna točka postavlja elastična mrežna sučelja s privatnim adresama u vaše podmreže, a te su adrese dostupne s lokacije preko VPN-a ili Direct Connecta. Gdje zahtjev počinje odlučuje koju od dvije stvarno trebate, a rad na DNS-u, sigurnosnoj grupi i politici slijedi iz tog odgovora.
Razdvojite vrste završnih točaka prema tome gdje zahtjev počinje
Završna točka mrežnog prolaza pojavljuje se kao unos u rutnoj tablici koji pokazuje na upravljani popis prefiksa. Nema mrežno sučelje, sigurnosnu grupu ni vlastitu privatnu adresu, i upravo zato host na lokaciji ne može rutati prema njoj: na drugoj strani nema ničega prema čemu bi se rutalo. Promet iz VPC-a stiže do S3 jer rutna tablica podmreže šalje taj prefiks na završnu točku. Promet s bilo kojeg drugog mjesta nema takav unos koji bi slijedio.
Sučeljna završna točka skup je mrežnih sučelja u podmrežama koje odaberete, svako s privatnom adresom iz te podmreže i priključenom sigurnosnom grupom. To je oblik koji hibridni klijent može koristiti jer je to uobičajeno odredište do kojeg vaš tunel može nositi pakete. To također znači da završna točka troši adrese u podmreži i može ih iscrpiti.
aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table
Čitajte stupac Type, a ne ime. Jedan VPC obično drži obje vrste za istu uslugu, a unos koji vaša aplikacija na lokaciji treba je sučeljni.
Izgradite put do adrese sučelja prije testiranja S3
Tri stvari moraju biti istodobno točne: usmjerivač na lokaciji ima rutu do podmreže završne točke, povratni put iz te podmreže stiže do klijentske mreže i sigurnosna grupa završne točke prihvaća izvorni raspon klijenta. Mrežni ACL podmreže i dalje može odbaciti paket nakon što sva tri prođu, pa ga provjerite kao četvrtu stavku, a ne kao odgođenu misao.
Ruta koja radi do neke EC2 instance u VPC-u ne dokazuje ništa od ovoga. Ona pokazuje da je tunel podignut, što je jedini dio puta koji ste već znali. Dokažite adresu završne točke odvojeno, a zatim dokažite da se ime razrješava na nju.
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
Prva naredba pokazuje koje bi sučelje klijent koristio. Druga dokazuje TCP rukovanje. Treća dokazuje da se TLS završava s certifikatom važećim za ime završne točke, i to je provjera koja hvata pogrešnu adresu prije nego okrivite dozvole.
Odlučite koji DNS odgovor aplikacija prima
Postojanje sučeljne završne točke u VPC-u ne preusmjerava SDK na lokaciji samo po sebi. Klijent ili koristi ime specifično za završnu točku koje AWS objavljuje za nju, ili privatnu hostanu zonu koju ste namjerno učinili razrješivom iz ureda.
Za hibridno razrješavanje, razrješivaču na lokaciji treba podržan put u DNS prikaz VPC-a, obično kroz dolaznu završnu točku Resolvera. Uključivanje privatnog DNS-a bez razumijevanja na koje izvore upita utječe jest način na koji pretraga počne vraćati adresu do koje ured ne može doći. Postavka mijenja odgovore za upite koji dolaze kroz razrješivač VPC-a, ne za svakog klijenta svugdje.
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
Pokrenite obje na hostu aplikacije, ne na skakačkom okviru u VPC-u. Razrješivač koji tamo odgovara onaj je koji vaš posao koristi, a drugačiji odgovor s drugog hosta najčešći je izvor zabune u ovom dizajnu.
Dostupnost nije autorizacija
Zahtjev koji stigne do završne točke i dalje treba ovlašteni principal i primjenjivu dozvolu za spremnik. Politika završne točke može suziti što završna točka dopušta, a politika spremnika može to ponovno suziti. Dostizanje sučelja ne govori ništa o tome koje objekte pozivatelj smije čitati.
Testirajte oba smjera: jedan bezopasan ovlašteni poziv prema predviđenom spremniku i jedan poziv za koji se očekuje odbijanje za identitet ili resurs izvan politike. Čuvajte ime završne točke, razriješenu adresu i kontekst politike uz rezultat da ga sljedeća osoba može reproducirati. Odbijanje koje imenuje vrstu politike štedi sat nagađanja.
Na kraju, procijenite cijenu obje opcije prije postavljanja. Sučeljna završna točka naplaćuje se po satu sučelja i po gigabajtu, dok se mrežni prolaz ne naplaćuje tako, i ta razlika odlučuje pitanje za mnoga opterećenja malog obujma kojima treba samo pristup sa strane VPC-a.