Տեղական տվյալների բազայի հաճախորդ և մասնավոր RDS՝ ինչու է կապը ժամանակավերջանում
Տեղական հաճախորդը չի հասնում մասնավոր RDS օրինակին երեք առանձին պատճառով. նախքան որևէ բան փոխելը ստուգեք բաժանված DNS-ը, ուղին և անվտանգության խմբի ապացույցները։
Ծրագրավորողի նոթբուքը ժամանակավերջանում է մասնավոր RDS վերջնակետին միանալիս, մինչդեռ նույն հավատարմագրերը աշխատում են բաստիոն հոսթից։ Ոչինչ չի ընկել։ Այդ նոթբուքի և տվյալների բազայի միջև ուղուն պակասում է երեքից մեկը՝ անուն, որը լուծարվում է, ուղի, որը կրում է երթևեկությունը, կամ անվտանգության խմբի կանոն, որը թույլ է տալիս այն աղբյուրը, որը տվյալների բազան իրականում տեսնում է։ Պարզեք, թե որն է պակասում, նախքան մյուս երկուսը փոխելը։
Կարդացեք ձախողումը ճիշտ շերտում
Ժամանակավերջը մեկ սխալ չէ։ Անունը, որը չի լուծարվում, ձախողվում է նախքան փաթեթի մեքենայից դուրս գալը։ Առանց ուղու հասցեն փաթեթներն ուղարկում է սև անցքի մեջ։ Զտված պորտը ստեղծում է սպասում, որը ճիշտ նույն տեսքն ունի, ինչ սխալ հոսթը։ Կատարեք քայլերը հերթականությամբ և կանգ առեք առաջին ձախողվողի վրա։
dig +short db.internal.example
nc -vz db.internal.example 5432
Եթե անունը վերադարձնում է հանրային հասցե, կամ ոչինչ չի վերադարձնում, թունելը դեռ խնդիրը չէ։
Եթե անունը լուծարվում է, իսկ պորտի ստուգումը կախվում է, համեմատեք լուծարված հասցեն այն հասցեի հետ, որը հաղորդում է տվյալների բազան։ Կառավարվող վերջնակետը կարող է լուծարվել VPC-ի ներսում մասնավոր հասցեի և դրանից դուրս ոչ մի օգտակար բանի, իսկ հին որոնումից պատճենված հասցեն ցույց կտա հոսթ, որն այլևս չի պատասխանում։
Անջատեք թունելը ուղուց
Հաճախորդի VPN միացնելը ինքնաբերաբար չի երթուղավորում յուրաքանչյուր մասնավոր տիրույթ։ Պրոֆիլը կրում է այն ուղիները, որոնք հրում է ծառայությունը, և հաճախորդը կարող է տեղադրել դրանցից միայն մի մասը։ Նայեք, թե որ տիրույթներն է հաճախորդն իրականում ավելացրել և արդյոք տվյալների բազայի հասցեն ընկնում է դրանցից մեկի մեջ։
ip route get 10.20.40.15
ip addr show tun0
Թունելի ինտերֆեյսին ուղղված ուղին անհրաժեշտ է, բայց ոչ բավարար, քանի որ հակառակ կողմը դեռ պետք է ընդունի երթևեկությունը։
Բաժանված թունելի պրոֆիլները այս կիսատ ձախողման սովորական աղբյուրն են։ Դրանք աշխատում են այն հավելվածի համար, որի համար նախատեսված էր պրոֆիլը, և տվյալների բազայի տիրույթը թողնում են թունելից դուրս, ինչը ստեղծում է ճիշտ այն ժամանակավերջը, որը կստեղծեր հրային պատը։
Համապատասխանեցրեք անվտանգության խումբը իրական աղբյուրին
RDS անվտանգության խումբը թույլ է տալիս աղբյուրներ, ոչ մարդկանց։ Կախված ճարտարապետությունից՝ աղբյուրը կարող է լինել VPN հաճախորդների լողավազանը, բաստիոնի մասնավոր հասցեն կամ NAT հասցեն, որին թարգմանվում է երթևեկությունը։ Կարդացեք կանոնը և փաթեթի իրական աղբյուրը միասին։
aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 \
--query 'SecurityGroups[].IpPermissions'
Մեկ նոթբուքի տնային հասցեի համար կանոնը սպասարկման խնդիր է, ոչ թե հասանելիության ձևավորում։
Երբ ուղու վրա կա հաճախորդի VPN կամ NAT դարպաս, տվյալների բազան կարող է տեսնել թարգմանչի հասցեն ծրագրավորողի թունելի հասցեի փոխարեն։ Այդ պատճառով աշխատող բաստիոն կարգավորումից պատճենված կանոնը կարող է ձախողվել նոթբուքի համար՝ երկու ուղիները գալիս են տարբեր աղբյուրներից, թեև երկուսն էլ ներքին են թվում։
Նեղ ուղին նախընտրեք լայնից
Երբ մեկ ծրագրավորողի պետք է մեկ տվյալների բազա, սեսիայի վրա հիմնված փոխանցումը հաճախ ավելի էժան է շահագործել, քան ամբողջական ցանցային թունելը։ Տեղական հաճախորդը միանում է փոխանցված պորտին, և հեռավոր բաղադրիչը տվյալների բազայի կապը հաստատում է ցանցի ներսից։
ssh -N -L 5432:db.internal.example:5432 bastion.internal.example
Այդ ձևավորման մեջ պահեք TLS ստուգումը անձեռնմխելի։ Հաճախորդը պետք է դեռ ստուգի սերվերի վկայականը իր ակնկալած անվան դեմ՝ տեղական փոխանցված պորտը պատճառ չէ ստուգումը անջատելու, և դրա անջատումը թաքցնում է հենց այն ինքնության խնդիրը, որն արժե բռնել։
Ամբողջական թունելի և նեղ փոխանցման միջև ընտրությունը որոշում է ծավալի մասին, ոչ թե անվտանգության թատրոնի։
Թողեք ձեզնից հետո կրկնելի ուղի
Փաստաթղթավորեք վերջնակետի անունը, ոչ թե լուծարված հասցեն, աղբյուրի տիրույթը, որը թույլ է տալիս անվտանգության խումբը, և տվյալների բազայի դերը, որն օգտագործում է ծրագրավորողը։ Այս երեք փաստերը բացատրում են ապագա ձախողումների մեծ մասը առանց զանգի։ Ավելացրեք նաև հաճախորդի պրոֆիլի տարբերակը, քանի որ պրոֆիլի փոփոխությունը կարող է հեռացնել ուղի, որը կրում էր հինը։
Ապա մեկ անգամ փորձարկեք բացասական դեպքը՝ հաստատված աղբյուրից դուրս հաճախորդը պետք է դեռ մերժվի։
Մասնավոր տվյալների բազան, որն աշխատում է միայն այն մարդու համար, ով կարգավորել է այն, մասնավոր հասանելիություն չէ՝ դա չփաստաթղթավորված բացառություն է, որը սպասում է նորից հայտնաբերվելուն։ Գրեք ուղին, և հաջորդ ծրագրավորողը կժառանգի մեթոդ, ոչ թե առեղծված։