RDS preifat o EC2: yr un VPC, peering neu rywbeth arall?
Dewiswch y llwybr cyn y grŵp diogelwch: yr un VPC, peering, VPC a rennir neu ryng-gysylltiad preifat.
Mae gliniadur y datblygwr yn cyrraedd y fàs RDS breifat drwy VPN y staff, ac ni all y rhaglen ar EC2 gysylltu o gwbl. Nid yw hyn yn ddefnydd wedi torri. Mae gan y gliniadur dwnnel nad yw'r fàs EC2 byth yn ei etifeddu, ac mae “preifat” yn RDS yn golygu nad oes gan y gronfa ddata unrhyw bwynt terfyn cyhoeddus, nid mai defnyddwyr VPN dynol yw'r unig alwyr a ganiateir. Mae angen ei lwybr awdurdodedig ei hun, ei berthynas grŵp diogelwch ei hun a'i hunaniaeth gronfa ddata ei hun ar y rhaglen, ac mae'r drefn yr ydych yn dewis y tri hynny ynddi yn arbed y rhan fwyaf o'r dadfygio. Penderfynwch ar y llwybr yn gyntaf, yna'r caniatâd, yna gwiriwch o'r amgylchedd a ddefnyddiwyd yn hytrach nag o'ch desg.
Nid VPN y gliniadur yw llwybr y rhaglen
Beth bynnag y mae VPN y staff yn ei wneud i bobl, nid yw'n gwneud dim i fàs oni bai bod y fàs hwnnw'n rhan amlwg o'r un llwybr rhwydwaith. Mae fàs EC2 mewn isrwyd breifat yn cyrraedd RDS drwy lwybrau VPC, grwpiau diogelwch a rheolyddion mynediad rhwydwaith. Nid yw'n etifeddu twnnel dyn, sesiwn dyn na manylion mewngofnodi dyn, ac ni ddylai: mae angen i gysylltedd rhaglenni heb oruchwyliaeth a mynediad o bell y staff fod yn weithredol yn annibynnol.
Mae'r annibyniaeth honno'n nodwedd. Pan fydd y VPN i lawr, mae'r rhaglen yn dal i weithio. Pan fydd y rhaglen yn camymddwyn, nid oes neb yn colli eu mynediad o bell. Mae cynlluniau sy'n cyfuno'r ddau yn un llwybr fel arfer yn cael eu darganfod yn ystod digwyddiad, ar yr adeg waethaf bosibl.
Penderfyniad 1: yr un VPC, llwybr uniongyrchol
Pan fydd y rhaglen a'r gronfa ddata yn yr un VPC gyda llwybrau uniongyrchol a heb unrhyw ddyfais archwilio rhyngddynt, mae'r llwybr yn syml a'r cyfeiriad grŵp diogelwch yw'r offeryn cryfaf sydd ar gael. Rhowch ei grŵp ei hun i'r rhaglen, yna caniatáu porth y gronfa ddata o'r grŵp hwnnw yn hytrach nag o ystod o gyfeiriadau:
aws ec2 authorize-security-group-ingress --group-id sg-0db123 --protocol tcp --port 5432 --source-group sg-0app456
aws rds describe-db-instances --db-instance-identifier prod-db --query 'DBInstances[0].{Endpoint:Endpoint.Address,Port:Endpoint.Port,Public:PubliclyAccessible,Groups:VpcSecurityGroups}'
Mae'r porth yn enghreifftiol a rhaid iddo gyd-fynd â'r peiriant. Mae cyfeiriad grŵp yn awdurdodi traffig o fàsau'r rhaglen; nid yw'n copïo eu rheolau ac nid yw'n creu mewngofnod i'r gronfa ddata. Dau broblem ar wahân, dau ateb ar wahân.
Yna gwiriwch weddill y llwybr yn hytrach nag aros ar y rheol a ychwanegwyd gennych. Rhaid i bolisi allanol y rhaglen, y set gyflawn o grwpiau sydd ynghlwm wrth y gronfa ddata, tablau llwybrau'r isrwyd ac unrhyw reolyddion mynediad rhwydwaith gyd-fynd. Mae rheolau grŵp diogelwch yn gyflwr, tra bod rhaid i reolydd mynediad rhwydwaith personol ganiatáu'r cais a'r traffig dychwelyd mewn rheolau ar wahân, gan gynnwys porthladdoedd efemeraidd. Nid yw rheol newydd gul ar gyfer y gronfa ddata yn canslo caniatâd eang hŷn a oedd eisoes ynghlwm chwaith.
Penderfyniad 2: VPC gwahanol neu gyfrif arall
Os yw'r rhaglen mewn VPC arall, mae perchnogion y rhwydwaith yn dewis rhyng-gysylltiad preifat a gefnogir: peering, cynllun tramwy, neu drefniant VPC a rennir. Yna rhaid i'r ddau gyfeiriad llwybro fodoli, rhaid i ddatrysiad enwau weithio ar gyfer pwynt terfyn RDS, a rhaid i'r ffynhonnell y mae polisi'r gronfa ddata yn ei gwerthuso gyd-fynd â'r hyn sy'n cyrraedd mewn gwirionedd. Nid yw enwau cyfrif sy'n cyfateb na pherthynas bilio a rennir yn darparu dim o hynny.
Y cyfeiriad grŵp diogelwch yw'r rhan sy'n amrywio. Mae'n gweithio mewn sawl cynllun rhyng-gysylltiad preifat, ond mae'n stopio gweithio'r eiliad y bydd dyfais ganol yn ailysgrifennu'r ffynhonnell neu'n terfynu'r cysylltiad, oherwydd yna mae'r gronfa ddata'n gweld y ddyfais ganol yn hytrach na'ch grŵp rhaglen. Mae senarios VPC RDS yn gwahanu mynediad o fewn yr un VPC oddi wrth y trefniadau eraill, ac mae'n werth gwirio eich topoleg benodol yn eu herbyn cyn tybio bod arddull rheol yn trosglwyddo.
Peidiwch â datrys llwybr coll drwy wneud y gronfa ddata'n hygyrch yn gyhoeddus. Mae hwnnw'n benderfyniad datguddio gwahanol gyda pherchennog gwahanol, ac fel arfer mae'n cael ei gynnig gan y sawl sydd bellaf oddi wrth y canlyniad.
Penderfyniad 3: pa hunaniaeth y mae'r gronfa ddata yn ei derbyn
Mae mynediad rhwydwaith a dilysu'r gronfa ddata yn haenau ar wahân, ac mae eu cymysgu yn cynhyrchu'r gwallau mwyaf camarweiniol. Mae rôl y fàs yn hunaniaeth AWS ar gyfer galw APIau AWS. Nid yw'n defnyddiwr cronfa ddata. Mae dilysu cronfa ddata IAM yn nodwedd a gefnogir lle mae'r peiriant a'r ffurfweddiad yn caniatáu, ac mae'n dal i fod yn fapio i ddefnyddiwr cronfa ddata yn hytrach nag yn ddisodli un.
Defnyddiwch enw pwynt terfyn RDS yng nghyfluniad y rhaglen yn hytrach na chyfeiriad a gafwyd o un chwiliad. Mae methiant Multi-AZ yn newid y cyfeiriad y tu ôl i'r enw hwnnw, a bydd rhaglen sydd wedi'i phinio i IP yn methu yn union ar yr adeg y mae ei hangen. Cadwch ddilysiad TLS y peiriant ymlaen yn hytrach na'i analluogi i wneud i wall ddiflannu, oherwydd mae methiant dilysu yn dweud rhywbeth wrthych am y pwynt terfyn y gwnaethoch gyrraedd.
Yna rhowch yr isafswm y mae'r rhaglen ei angen i'r cyfrif cronfa ddata, yn y sgema y mae'n ei defnyddio mewn gwirionedd. Mae'r gwaith hwnnw'n ddiflas, mae'n archwiladwy, a dyma'r rhan y bydd adolygiad digwyddiad yn gofyn amdani.
Gwiriwch o'r amgylchedd a ddefnyddiwyd
Profwch o'r fàs neu o dasg sy'n rhedeg gyda'r un grŵp, isrwyd a rôl. Mae pedwar methiant yn edrych yn debyg o gliniadur ac yn hawdd eu gwahaniaethu oddi yno: enw nad yw'n datrys, cysylltiad sy'n dod i ben, methiant dilysu TLS, a mewngofnod cronfa ddata wedi'i wrthod. Mae pob un yn pwyntio at ffin wahanol, ac mae newid datguddiad y gronfa ddata cyn gwybod pa un sydd gennych yn ddyfalu.
psql "host=prod-db.abc123.eu-west-1.rds.amazonaws.com port=5432 dbname=app sslmode=verify-full" -c 'select 1'
Os yw'r cysylltiad yn llwyddo o'r fàs ac yn methu o'ch desg, mae llwybr y rhaglen yn iawn a'ch mynediad chi yw'r peth i'w drwsio. Os yw'n methu o'r ddau, dechreuwch gyda gwiriadau'r grŵp a'r llwybr uchod yn hytrach na'r manylion mewngofnodi. Mae'r un gymhariaeth honno'n atal y rhan fwyaf o'r trafferth y mae'r tocynnau hyn yn ei gynhyrchu.