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.

Povezani članci