Laptop-ka horumariyaha wuxuu ku gaadhaa RDS-ka gaarka ah VPN-ka shaqaalaha, laakiin barnaamijka EC2 kuma xirmi karo gabi ahaanba. Tani maaha deployment jaban. Laptop-ku wuxuu leeyahay tunnel uusan EC2 waligiis dhaxlin, «gaar» RDS-na macneheedu waa in xogta-dhismeedka aanu lahayn barta dhamaadka dadweynaha, ma aha in isticmaalayaasha VPN ee dadka ay yihiin kuwa kaliya ee loo oggol yahay inay wacaan. Barnaamijku wuxuu u baahan yahay dariiqiisa oggolaanshaha, xiriirkiisa kooxda amniga iyo aqoonsigiisa xogta, iyo nidaamka aad dooratay saddexdan ayaa badbaadinaya inta badan debugging-ka. Marka hore go'aanso dariiqa, ka dib oggolaanshaha, ka dibna ka xaqiiji deegaanka la rakibay halkii aad ka xaqiijin lahayd miiskaaga.

VPN-ka laptop-ku maaha dariiqa barnaamijka

Wax kasta oo VPN-ka shaqaaluhu u sameeyo dadka, waxba uma sameeyo instance-ka haddii aanu instance-kaasi si cad qayb uga ahayn isla dariiqa shabakada. Instance EC2 oo ku jira subnet gaar ah wuxuu RDS ku gaadhaa iyada oo loo marayo VPC routing, kooxaha amniga iyo network ACL-yada. Ma dhaxlo tunnel qof, fadhi qof ama aqoonsi qof, waana in aanu dhaxlin: xiriirka barnaamijka ee aan la ilaalin iyo gelitaanka fog ee shaqaalaha waa inay si madax banaan u shaqeeyaan.

Madaxbanaanidaasi waa sifo. Marka VPN-ku hoos yimaado, barnaamijku sii shaqeeyaa. Marka barnaamijku si khaldan u dhaqmo, qofna ma lumiyo gelitaankiisa fog. Naqshadaha labada isku daraya hal dariiq ayaa badanaa la ogaadaa inta lagu jiro dhacdo, waqtiga ugu xun ee suurtogalka ah.

Go'aanka 1: isla VPC, dariiq toos ah

Marka barnaamijka iyo xogta ay ku jiraan isla VPC oo leh routing toos ah oo aan dhexdooda jirin qalab baaritaan, dariiqu waa fudud yahay oo tixraaca kooxda amniga waa qalabka ugu xoogga badan ee la heli karo. Sii barnaamijka kooxdiisa, ka dibna oggolow port-ka xogta laga soo qaato kooxdaas halkii laga soo qaadan lahaa xadka ciwaanka:

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}'

Port-ku waa tusaale oo waa in uu la jaanqaado mishiinka. Tixraaca kooxdu wuxuu oggolaadaa gaadiidka ka imanaya instance-yada barnaamijka; ma koobiyaan sharciyadooda mana abuurto gelitaan xogta. Laba dhibaato oo kala duwan, laba xal oo kala duwan.

Ka dib hubi inta kale ee dariiqa halkii aad ka joogsan lahayd qaanuunka aad hadda ku dartay. Siyaasadda bixidda barnaamijka, kooxaha xogta ku xiran oo dhan, shaxda routing-ka subnet-ka iyo network ACL kasta waa inay is waafaqaan. Sharciyada kooxaha amniga waa stateful, halka network ACL ee gaarka ah ay tahay in uu oggolaado codsiga iyo gaadiidka soo noqoshada sharciyo gooni ah, oo ay ku jiraan port-yada ku meel gaadhka ah. Qaanuun cusub oo cidhiidhi ah oo xogta ah sidoo kale ma burinayo oggolaansho ballaadhan oo hore oo hore loogu xiray.

Go'aanka 2: VPC kale ama akoon kale

Haddii barnaamijku ku jiro VPC kale, milkiilayaasha shabakadu waxay dooranayaan isku xir gaar ah oo la taageeray: peering, naqshad transit ama habayn VPC la wadaago. Markaas waa in labada jiho ee routing ay jiraan, xallinta magacyada waa in ay u shaqeeyaan barta dhamaadka RDS, isla markaana isha ay qiimeyso siyaasadda xogta waa in ay la mid noqotaa waxa dhab ahaan yimaada. Magacyada akoonnada isku mid ah ama xiriirka biilasha la wadaago midkoodna ma bixiyaan.

Tixraaca kooxda amniga waa qaybta kala duwan. Waxay ka shaqaysaa dhowr naqshad isku xir gaar ah, laakiin waxay joojisaa shaqada marka qalab dhexe uu dib u qoro isha ama uu dhammeeyo xiriirka, sababtoo ah markaas xogtu waxay aragtaa qalabka dhexe halkii ay arag lahayd kooxda barnaamijkaaga. Xaaladaha VPC ee RDS waxay kala soocaan gelitaanka isla VPC gudihiisa iyo habaynnada kale, waana mudan in aad hubiso topooloji gaar ah oo ka soo horjeeda iyaga ka hor inta aadan u malaynayn in qaab qaanuun uu gudbo.

Ha ku xallin dariiq maqan adigoo ka dhigaya xogta mid dadweyne u heli kara. Taasi waa go'aan soo-gaadhista kale oo leh milkiile kale, badanaana waxaa soo jeediya kan ugu fog natiijada.

Go'aanka 3: aqoonsiga xogtu aqbasho

Gelitaanka shabakada iyo aqoonsiga xogta waa lakabyo gooni ah, isku darkooduna wuxuu abuuraa khaladaadka ugu khiyaanada badan. Doorka instance-ku waa aqoonsi AWS oo loogu yeedho API-yada AWS. Maaha isticmaale xogta. Aqoonsiga xogta IAM waa sifo la taageeray halka mishiinka iyo qaabeynta ay oggolaadaan, welina waa khariidad isticmaalaha xogta, maaha beddelkiisa.

Isticmaal magaca barta dhamaadka RDS ee qaabeynta barnaamijka halkii aad isticmaal lahayd ciwaan laga soo qabtay hal raadin. Beddelka Multi-AZ wuxuu beddelaa ciwaanka magacaas gadaashiisa, barnaamijka ku dheggan IP-na wuu guuldarraysan doonaa isla waqtiga loo baahan yahay. Ka tag hubinta TLS ee mishiinka oo shidan halkii aad damin lahayd si khalad uu u lunto, sababtoo ah guuldarada hubintu waxay kuu sheegtaa wax ku saabsan barta dhamaadka aad gaadhay.

Ka dib sii akoonka xogta ugu yar ee barnaamijku u baahan yahay, isla qaabka uu dhab ahaan isticmaalo. Shaqadaasi waa caajis, waa la xisaabin karaa, waana qaybta ay dib u eegista dhacdadu ka hadli doonto.

Ka xaqiiji deegaanka la rakibay

Ka tijaabi instance-ka ama hawsha ku socota isla kooxda, subnet-ka iyo doorka. Afar guuldarro ayaa laptop-ka ka muujiya isku mid, wayna fudud tahay in laga kala saaro halkaas: magac aan la xallin, xiriir waqti-go'an, guuldarro hubinta TLS iyo gelitaan xogta oo la diiday. Mid kastaa wuxuu tilmaamaa xad kale, beddelka soo-gaadhista xogta ka hor inta aadan ogaan midkaad haysato waa qiyaas.

psql "host=prod-db.abc123.eu-west-1.rds.amazonaws.com port=5432 dbname=app sslmode=verify-full" -c 'select 1'

Haddii xiriirku ka guulaysto instance-ka oo ka guuldarraysto miiskaaga, dariiqa barnaamijku waa sax oo gelitaankaaga waa waxa loo baahan yahay in la hagaajiyo. Haddii uu ka guuldarraysto labadaba, ka bilow hubinta kooxda iyo dariiqa ee kore halkii aad ka bilow lahayd aqoonsiga. Isbarbardhiggaas keliya wuxuu ka hortagaa inta badan qasabka ay tigidhadaani abuuraan.

Maqaallo la xiriira