Mae gliniadur datblygwr yn amseru allan wrth gysylltu â diweddbwynt preifat RDS, tra bo’r un manylion mewngofnodi yn gweithio o westeiwr bastiwn. Nid oes unrhyw beth wedi cwympo. Mae ar y llwybr rhwng y gliniadur hwnnw a’r gronfa ddata eisiau un o dri pheth: enw sy’n datrys, llwybr sy’n cario’r traffig, neu reol grŵp diogelwch sy’n derbyn y ffynhonnell y mae’r gronfa ddata yn ei gweld mewn gwirionedd. Darganfyddwch pa un sydd ar goll cyn newid y ddau arall.

Darllenwch y methiant ar y haen gywir

Nid un gwall yw amseru allan. Mae enw nad yw’n datrys yn methu cyn i becyn adael y peiriant. Mae cyfeiriad heb lwybr yn anfon pecynnau i dwll du. Mae porth wedi’i hidlo yn creu aros sy’n edrych yn union fel gwesteiwr anghywir. Rheswch y camau yn y drefn a stopiwch ar yr un cyntaf sy’n methu.

dig +short db.internal.example
nc -vz db.internal.example 5432

Os yw’r enw’n dychwelyd cyfeiriad cyhoeddus, neu’n dychwelyd dim byd, nid y twnnel yw’r broblem eto.

Os yw’r enw’n datrys ac mae’r prawf porth yn hongian, cymharwch y cyfeiriad y gwnaethoch ei ddatrys â’r cyfeiriad y mae’r gronfa ddata yn ei adrodd. Gall diweddbwynt a reolir ddatrys i gyfeiriad preifat y tu mewn i’r VPC ac i ddim defnyddiol y tu allan iddo, a bydd cyfeiriad a gopïwyd o chwiliad hen yn pwyntio at westeiwr nad yw’n ateb mwyach.

Gwahanwch y twnnel oddi wrth y llwybr

Nid yw cysylltu VPN cleient yn llwybro pob amrediad preifat yn awtomatig. Mae’r proffil yn cario’r llwybrau y mae’r gwasanaeth yn eu gwthio, ac efallai mai dim ond rhai ohonynt y bydd y cleient yn eu gosod. Edrychwch pa amrediadau y gwnaeth y cleient eu hychwanegu mewn gwirionedd ac a yw cyfeiriad y gronfa ddata yn disgyn o fewn un ohonynt.

ip route get 10.20.40.15
ip addr show tun0

Mae llwybr sy’n pwyntio at ryngwyneb y twnnel yn angenrheidiol; nid yw’n ddigon, oherwydd rhaid i’r ochr bell dderbyn y traffig o hyd.

Proffiliau twnnel hollt yw ffynhonnell arferol y methiant hannerog hwn. Maent yn gweithio i’r cymhwysiad y dyluniwyd y proffil ar ei gyfer ac yn gadael amrediad y gronfa ddata y tu allan i’r twnnel, sy’n cynhyrchu’n union yr amseru allan a fyddai mur tân yn ei gynhyrchu.

Cyfunwch y grŵp diogelwch â’r ffynhonnell wirioneddol

Mae grŵp diogelwch RDS yn derbyn ffynonellau, nid pobl. Yn dibynnu ar y bensaernïaeth, gall y ffynhonnell fod yn bwll cleientiaid VPN, yn gyfeiriad preifat bastiwn, neu’n gyfeiriad NAT y caiff y traffig ei gyfieithu iddo. Darllenwch y rheol a ffynhonnell wirioneddol y pecyn gyda’i gilydd.

aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 \
  --query 'SecurityGroups[].IpPermissions'

Mae rheol ar gyfer cyfeiriad cartref un gliniadur yn broblem gynnal a chadw yn hytrach na dyluniad mynediad.

Pan fo VPN cleient neu borth NAT yn y llwybr, gall y gronfa ddata weld cyfeiriad y cyfieithydd yn lle cyfeiriad twnnel y datblygwr. Dyna pam y gall rheol a gopïwyd o osodiad bastiwn sy’n gweithio fethu ar gyfer gliniadur: daw’r ddau lwybr o ffynonellau gwahanol er bod y ddau yn edrych yn fewnol.

Ffafriwch lwybr cul dros un llydan

Pan fo un datblygwr angen un gronfa ddata, mae anfon yn seiliedig ar sesiwn yn aml yn rhatach i’w weithredu na thwnnel rhwydwaith cyflawn. Mae’r cleient lleol yn cysylltu â phorth a anfonwyd ymlaen, ac mae’r gydran bell yn gwneud y cysylltiad cronfa ddata o du mewn y rhwydwaith.

ssh -N -L 5432:db.internal.example:5432 bastion.internal.example

Cadwch wirio TLS yn gyfan yn y dyluniad hwnnw. Dylai’r cleient barhau i ddilysu tystysgrif y gweinydd yn erbyn yr enw y mae’n ei ddisgwyl; nid yw porth a anfonwyd ymlaen yn lleol yn rheswm dros analluogi gwirio, ac mae ei analluogi yn cuddio’n union y broblem hunaniaeth sy’n werth ei dal.

Mae’r dewis rhwng twnnel cyflawn ac anfon cul yn benderfyniad am gwmpas, nid am theatr diogelwch.

Gadewch lwybr y gellir ei ailadrodd ar eich ôl

Dogfennwch enw’r diweddbwynt yn hytrach na chyfeiriad wedi’i ddatrys, yr amrediad ffynhonnell y mae’r grŵp diogelwch yn ei dderbyn, a rôl y gronfa ddata y mae’r datblygwr yn ei defnyddio. Mae’r tri ffaith hynny’n esbonio’r rhan fwyaf o fethiannau’r dyfodol heb alwad. Ychwanegwch fersiwn y proffil cleient hefyd, oherwydd gall newid proffil dynnu llwybr a gariwyd gan yr hen un.

Yna profwch y cas negyddol unwaith: dylid gwrthod cleient y tu allan i’r ffynhonnell a gymeradwywyd o hyd.

Nid yw cronfa ddata breifat sy’n gweithio dim ond i’r person a’i gosododd yn fynediad preifat; mae’n eithriad heb ei ddogfennu sy’n aros i gael ei ailddarganfod. Ysgrifennwch y llwybr, a bydd y datblygwr nesaf yn etifeddu dull yn lle dirgelwch.

Erthyglau cysylltiedig