Atingi S3 el oficeja reto tra loka VPN ne estas enkursiga problemo, kiun statika vojo povas solvi sola. Pordega finpunkto estas alligita al enkursigaj tabeloj kaj servas petojn, kiuj ekestas ene de la VPC. Interfaca finpunkto metas elastajn retajn interfacojn kun privataj adresoj en viajn subretojn, kaj tiuj adresoj atingeblas de la sidejo tra VPN aŭ Direct Connect. Kie la peto komenciĝas decidas, kiun el la du vi vere bezonas, kaj la laboro pri DNS, sekureca grupo kaj politiko sekvas el tiu respondo.

Apartigu la finpunktajn tipojn laŭ kie la peto komenciĝas

Pordega finpunkto aperas kiel enkursiga tabela ero, kiu montras al administrata prefiksa listo. Ĝi havas nek retan interfacon, nek sekurecan grupon, nek propran privatan adreson, kaj ĝuste tial gastiganto en la sidejo ne povas enkursigi al ĝi: sur la alia flanko mankas io, al kio enkursigi. Trafiko el la interno de la VPC atingas S3 ĉar la enkursiga tabelo de la subreto sendas tiun prefikson al la finpunkto. Trafiko de aliloke havas neniun tian eron por sekvi.

Interfaca finpunkto estas aro de retaj interfacoj en subretoj, kiujn vi elektas, ĉiu kun privata adreso el tiu subreto kaj alligita sekureca grupo. Tio estas la formo, kiun hibrida kliento povas uzi, ĉar ĝi estas ordinara celo, al kiu via tunelo povas porti pakaĵojn. Ĝi ankaŭ signifas, ke la finpunkto konsumas adresojn en la subreto kaj povas elĉerpi ilin.

aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table

Legu la kolumnon Type, ne la nomon. Unuopa VPC kutime enhavas ambaŭ specojn por la sama servo, kaj la ero, kiun via surloka aplikaĵo bezonas, estas la interfaca.

Konstruu la vojon al la interfaca adreso antaŭ ol testi S3

Tri aferoj devas esti veraj samtempe: la surloka enkursigilo havas vojon al la finpunkta subreto, la revena vojo el tiu subreto atingas la klientan reton, kaj la sekureca grupo de la finpunkto akceptas la fontan intervalon de la kliento. La reta ACL de la subreto ankoraŭ povas forĵeti la pakaĵon post kiam ĉiuj tri pasis, do kontrolu ĝin kiel kvaran eron kaj ne kiel postpenson.

Funkcianta vojo al iu EC2-momento en la VPC pruvas neniom de tio. Ĝi montras, ke la tunelo staras, kio estas la sola parto de la vojo, kiun vi jam sciis. Pruvu la finpunktan adreson aparte, poste pruvu, ke la nomo solviĝas al ĝi.

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

La unua komando montras, kiun interfacon la kliento uzus. La dua pruvas TCP-manpremon. La tria pruvas, ke TLS finiĝas kun atestilo valida por la finpunkta nomo, kaj ĝi estas la kontrolo, kiu kaptas malĝustan adreson antaŭ ol vi kulpigos la permesojn.

Decidu, kiun DNS-respondon la aplikaĵo ricevas

Ekzistanta interfaca finpunkto en la VPC ne mem redirektas surlokan SDK. La kliento aŭ uzas la finpunkt-specifan nomon, kiun AWS publikigas por tiu finpunkto, aŭ privatan gastigatan zonon, kiun vi intence faris solvabla el la oficejo.

Por hibrida solvado, la surloka solvilo bezonas subtenatan vojon en la DNS-vidon de la VPC, kutime per envena Resolver-finpunkto. Ŝalti privatan DNS sen kompreni, kiujn fontojn de petoj ĝi tuŝas, estas kiel serĉo komencas redoni adreson, kiun la oficejo ne povas atingi. La agordo ŝanĝas respondojn por petoj, kiuj alvenas per la VPC-solvilo, ne por ĉiu kliento ĉie.

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

Rulu ambaŭ sur la gastiganto de la aplikaĵo, ne sur saltkesto en la VPC. La solvilo, kiu respondas tie, estas tiu, kiun via laborŝarĝo uzas, kaj malsama respondo de malsama gastiganto estas la plej ofta fonto de konfuzo en ĉi tiu dezajno.

Atingebleco ne estas rajtigo

Peto, kiu alvenas al la finpunkto, ankoraŭ bezonas rajtigitan ĉefon kaj aplikeblan permeson por korbo. Finpunkta politiko povas mallarĝigi, kion la finpunkto permesas, kaj korba politiko povas mallarĝigi ĝin denove. Atingi la interfacon diras nenion pri tio, kiujn objektojn la alvokanto rajtas legi.

Testu ambaŭ direktojn: unu sendanĝeran rajtigitan alvokon al la celata korbo, kaj unu alvokon, kiun oni atendas rifuzi pro identeco aŭ rimedo ekster la politiko. Konservu la finpunktan nomon, la solvitan adreson kaj la politikan kuntekston kune kun la rezulto, por ke la sekva persono povu reprodukti ĝin. Rifuzo, kiu nomas la politikan tipon, ŝparas horon da divenado.

Fine, taksu la prezon de la du opcioj antaŭ ol provizi. Interfaca finpunkto fakturas po interfaca horo kaj po gigabajto, dum pordega finpunkto ne, kaj tiu diferenco decidas la demandon por multaj malaltvolumenaj laborŝarĝoj, kiuj bezonas nur aliron de la VPC-flanko.

Rilataj artikoloj