Gateway ya S3 au endpoint ya kiolesura kwa mteja wa ndani?
Endpoint za gateway zinaishi katika majedwali ya njia na kuhudumia trafiki ya VPC. Endpoint za kiolesura huipa njia ya ndani anwani ya kibinafsi, pamoja na DNS na sera.
Kufikia S3 kutoka mtandao wa ofisi kupitia VPN ya tovuti si tatizo la uelekezaji ambalo njia tuli inaweza kulitatua yenyewe. Endpoint ya gateway inaunganishwa na majedwali ya njia na kuhudumia maombi yanayotokea ndani ya VPC. Endpoint ya kiolesura huweka violesura vya mtandao vinavyobadilika vyenye anwani za kibinafsi katika subnet zako, na anwani hizo zinafikika kutoka ndani kupitia VPN au Direct Connect. Mahali ombi linapoanzia huamua ni ipi kati ya hizo mbili unahitaji kwa kweli, na kazi ya DNS, kundi la usalama na sera hufuata kutokana na jibu hilo.
Tenganisha aina za endpoint kulingana na mahali ombi linapoanzia
Endpoint ya gateway huonekana kama kipengele cha jedwali la njia kinachoelekeza kwenye orodha ya viambishi vinavyosimamiwa. Haina kiolesura cha mtandao, kundi la usalama au anwani yake ya kibinafsi, na ndiyo sababu mwenyeji wa ndani hawezi kuelekeza njia kwenda kwake: upande wa pili hakuna kitu cha kuelekeza. Trafiki kutoka ndani ya VPC hufikia S3 kwa sababu jedwali la njia la subnet linatuma kiambishi hicho kwenye endpoint. Trafiki kutoka mahali pengine popote haina kipengele kama hicho cha kufuata.
Endpoint ya kiolesura ni seti ya violesura vya mtandao katika subnet unazochagua, kila kimoja kikiwa na anwani ya kibinafsi kutoka subnet hiyo na kundi la usalama lililounganishwa. Hii ni sura ambayo mteja mseto anaweza kutumia, kwa sababu ni marudio ya kawaida ambayo handaki yako inaweza kubeba pakiti kwenda kwake. Inamaanisha pia kwamba endpoint hutumia anwani katika subnet na zinaweza kuisha.
aws ec2 describe-vpc-endpoints --query "VpcEndpoints[].{Id:VpcEndpointId,Type:VpcEndpointType,Service:ServiceName,State:State}" --output table
Soma safu ya Type badala ya jina. VPC moja kwa kawaida huwa na aina zote mbili kwa huduma moja, na kipengele ambacho programu yako ya ndani inahitaji ni kile cha kiolesura.
Jenga njia kuelekea anwani ya kiolesura kabla ya kujaribu S3
Mambo matatu lazima yawe kweli kwa wakati mmoja: kipanga njia cha ndani kina njia kuelekea subnet ya endpoint, njia ya kurudi kutoka subnet hiyo inafikia mtandao wa mteja, na kundi la usalama la endpoint linakubali safu ya chanzo cha mteja. ACL ya mtandao ya subnet bado inaweza kutupa pakiti baada ya yote matatu kupita, kwa hiyo iangalie kama kipengele cha nne na si kama wazo la baadaye.
Njia inayofanya kazi kuelekea baadhi ya instance ya EC2 ndani ya VPC haithibitishi chochote kati ya haya. Inaonyesha tu kwamba handaki iko juu, ambao ni sehemu moja ya njia uliyojua tayari. Thibitisha anwani ya endpoint kwa peke yake, kisha thibitisha kwamba jina linatatuliwa kwenda kwake.
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
Amri ya kwanza inaonyesha ni kiolesura gani mteja atatumia. Ya pili inathibitisha makubaliano ya mkono ya TCP. Ya tatu inathibitisha kwamba TLS hukamilika kwa cheti halali kwa jina la endpoint, na huu ndio ukaguzi unaonasa anwani isiyo sahihi kabla ya kulaumu ruhusa.
Amua ni jibu gani la DNS ambalo programu hupokea
Kuwepo kwa endpoint ya kiolesura ndani ya VPC hakuuelekezi SDK ya ndani yenyewe. Mteja hutumia ama jina maalum la endpoint ambalo AWS huchapisha kwa endpoint hiyo, au eneo la ukaribishaji la kibinafsi ambalo umeifanya kwa makusudi liweze kutatuliwa kutoka ofisini.
Kwa utatuzi mseto, kitatuzi cha ndani kinahitaji njia inayoungwa mkono kuingia kwenye mwonekano wa DNS wa VPC, kwa kawaida kupitia endpoint ya kuingia ya Resolver. Kuwasha DNS ya kibinafsi bila kuelewa ni vyanzo gani vya hoja inavyoathiri ndiyo njia ambayo utafutaji huanza kurudisha anwani ambayo ofisi haiwezi kufikia. Mpangilio hubadilisha majibu kwa hoja zinazokuja kupitia kitatuzi cha VPC, si kwa kila mteja kila mahali.
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
Endesha zote mbili kwenye mwenyeji wa programu, si kwenye sanduku la kuruka ndani ya VPC. Kitatuzi kinachojibu huko ndicho ambacho mzigo wako wa kazi unatumia, na jibu tofauti kutoka mwenyeji mwingine ni chanzo cha kawaida cha mkanganyiko katika muundo huu.
Ufikikaji si idhini
Ombi linalofikia endpoint bado linahitaji mkuu aliyeidhinishwa na ruhusa ya ndoo inayotumika. Sera ya endpoint inaweza kupunguza kile endpoint inaruhusu, na sera ya ndoo inaweza kuipunguza zaidi. Kufikia kiolesura hakusemi chochote kuhusu ni vitu gani ambavyo mpigaji anaweza kusoma.
Jaribu pande zote mbili: wito mmoja ulioidhinishwa usio na madhara dhidi ya ndoo inayokusudiwa, na wito mmoja unaotarajiwa kukataliwa kwa utambulisho au rasilimali iliyo nje ya sera. Hifadhi jina la endpoint, anwani iliyotatuliwa na muktadha wa sera pamoja na matokeo ili mtu anayefuata aweze kuiga. Kukataliwa kunakotaja aina ya sera huokoa saa moja ya kubahatisha.
Mwisho, pima gharama ya chaguo zote mbili kabla ya kutoa huduma. Endpoint ya kiolesura hutozwa kwa saa ya kiolesura na kwa gigabaiti, wakati endpoint ya gateway haitozwi hivyo, na tofauti hiyo huamua swali kwa mizigo mingi ya kazi yenye kiasi kidogo inayohitaji tu ufikiaji kutoka upande wa VPC.