{"id":37937,"date":"2019-10-31T22:20:41","date_gmt":"2019-10-31T19:20:41","guid":{"rendered":"https:\/\/prohoster.info\/blog\/detalnyj-razbor-aws-lambda\/"},"modified":"2019-10-31T22:20:41","modified_gmt":"2019-10-31T19:20:41","slug":"detalnyj-razbor-aws-lambda","status":"publish","type":"post","link":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda","title":{"rendered":"Detaliz\u0113ta anal\u012bze par AWS Lambda","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><em>Raksta tulkojums sagatavots \u012bpa\u0161i kursa studentiem <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/dOuF\/\">\u00abM\u0101ko\u0146pakalpojumi\u00bb<\/a><\/noindex>Interes\u0113 att\u012bst\u012bties \u0161aj\u0101 virzien\u0101? Skatieties Egora Zujeva meistarklasi (komp\u0101nijas InBit TeamLead) <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/L2NX\/\">\u00abAWS EC2 pakalpojums\u00bb<\/a><\/noindex> un pievienojieties tuv\u0101kajai kursa grupai: uzs\u0101k\u0161ana 26. septembr\u012b. <\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detaliz\u0113ta anal\u012bze par AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/cbf78e6c6d04f9beec2d99f8891bf7d9.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Arvien vair\u0101k cilv\u0113ku p\u0101riet uz AWS Lambda, pateicoties t\u0101s m\u0113rogojam\u012bbai, veiktsp\u0113jai, ekonomiskajai izdev\u012bgajai un sp\u0113jai apstr\u0101d\u0101t miljonus un pat triljonus piepras\u012bjumu m\u0113nes\u012b. Tam nav nepiecie\u0161ama infrastrukt\u016bras p\u0101rvald\u012bba, uz kuras darbojas pakalpojums. Autom\u0101tisk\u0101 m\u0113rogo\u0161ana \u013cauj apkalpot t\u016bksto\u0161iem vienlaic\u012bgu piepras\u012bjumu sekund\u0113. Dom\u0101ju, ka AWS Lambda noteikti var uzskat\u012bt par vienu no piepras\u012bt\u0101kajiem AWS pakalpojumiem.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><\/p>\n<h2 id=\"aws-lambda\">AWS Lambda<\/h2>\n<p><\/p>\n<p>AWS Lambda ir notikumiem orient\u0113ts bezserveru skait\u013co\u0161anas pakalpojums, kas \u013cauj izpild\u012bt kodu bez serveru pie\u0161\u0137ir\u0161anas un apkopes un papildina citus AWS pakalpojumus, pamatojoties uz lietot\u0101ja lo\u0123iku. Lambda autom\u0101tiski rea\u0123\u0113 uz da\u017e\u0101diem notikumiem (sauktiem par trigeriem), piem\u0113ram, HTTP piepras\u012bjumiem caur Amazon API Gateway, datu izmai\u0146\u0101m Amazon S3 grozos vai Amazon DynamoDB tabul\u0101s; vai varat palaist savu kodu, izmantojot API izsaukumus, izmantojot AWS SDK un p\u0101rejas starp st\u0101vok\u013ciem AWS Step Functions.<\/p>\n<p><\/p>\n<p>Lambda izpilda kodu augsta pieejam\u012bbas skait\u013co\u0161anas infrastrukt\u016br\u0101 un piln\u012bb\u0101 atbild par zem\u0101k eso\u0161\u0101s platformas p\u0101rvald\u012bbu, ieskaitot serveru un oper\u0113t\u0101jsist\u0113mas apkopi, resursu pie\u0161\u0137ir\u0161anu, autom\u0101tisko m\u0113rogo\u0161anu, koda monitoringu un \u017eurn\u0101lu veido\u0161anu. Tas noz\u012bm\u0113, ka jums vienk\u0101r\u0161i j\u0101iedod sava koda un j\u0101iestata, k\u0101 un kad tas j\u0101izpilda. Savuk\u0101rt pakalpojums par\u016bp\u0113sies par t\u0101 palai\u0161anu un nodro\u0161in\u0101s j\u016bsu lietojumprogrammas augsto pieejam\u012bbu.<\/p>\n<p><\/p>\n<h2 id=\"kogda-perehodit-na-lambda\">Kad p\u0101riet uz Lambda?<\/h2>\n<p><\/p>\n<p>AWS Lambda ir \u0113rta skait\u013co\u0161anas platforma, kas ir piem\u0113rota daudziem pielietojuma scen\u0101rijiem, protams, ja j\u016bsu koda valoda un izpildes vide tiek atbalst\u012btas pakalpojum\u0101. Ja v\u0113laties koncentr\u0113ties uz kodu un biznesa lo\u0123iku, uzticot serveru apkopi, resursu pie\u0161\u0137ir\u0161anu un m\u0113rogo\u0161anu \u0101r\u0113j\u0101 pakalpojumu sniedz\u0113j\u0101 par sapr\u0101t\u012bgu cenu, jums noteikti j\u0101izv\u0113las AWS Lambda.<\/p>\n<p><\/p>\n<p>Lambda ir ide\u0101li piem\u0113rota programmat\u016bras interfeisu izstr\u0101dei, un, ja izmantosiet \u0161o pakalpojumu kop\u0101 ar API Gateway, varat iev\u0113rojami samazin\u0101t izmaksas un \u0101tr\u0101k non\u0101kt tirg\u016b. Ir da\u017e\u0101di veidi, k\u0101 izmantot Lambda funkcijas un organiz\u0113t bezserveru arhitekt\u016bru \u2013 katrs var\u0113s izv\u0113l\u0113ties kaut ko piem\u0113rotu saska\u0146\u0101 ar noteikto m\u0113r\u0137i.<\/p>\n<p><\/p>\n<p>Lambda \u013cauj izpild\u012bt pla\u0161u uzdevumu kl\u0101stu. Pateicoties CloudWatch atbalstam, var izveidot atlikt\u0101s uzdevumus un automatiz\u0113t atsevi\u0161\u0137us procesus. Nav nek\u0101du ierobe\u017eojumu attiec\u012bb\u0101 uz pakalpojuma raksturu un intensit\u0101ti (tiek \u0146emta v\u0113r\u0101 atmi\u0146as izmanto\u0161ana un laiks), un nekas netrauc\u0113 sistem\u0101tiski str\u0101d\u0101t pie pilnv\u0113rt\u012bga mikroservisa, balstoties uz Lambda.<\/p>\n<p><\/p>\n<p>\u0160eit varat izveidot pakalpojumu orient\u0113tas darb\u012bbas, kas netiek izpild\u012btas past\u0101v\u012bgi. Tipisks piem\u0113rs ir att\u0113lu m\u0113rogo\u0161ana. Pat izklied\u0113t\u0101s sist\u0113m\u0101s Lambda funkcijas nezaud\u0113 savu noz\u012bmi.<\/p>\n<p><\/p>\n<p>T\u0101tad, ja nev\u0113laties nodarboties ar datu resursu pie\u0161\u0137ir\u0161anu un p\u0101rvald\u012bbu \u2014 izm\u0113\u0123iniet AWS Lambda; ja jums nav nepiecie\u0161amas smagas, resursietilp\u012bgas apr\u0113\u0137in\u0101\u0161anas \u2014 ar\u012b izm\u0113\u0123iniet AWS Lambda; ja j\u016bsu kods tiek izpild\u012bts periodiski \u2014 viss ir pareizi, jums vajadz\u0113tu izm\u0113\u0123in\u0101t AWS Lambda.<\/p>\n<p><\/p>\n<h2 id=\"bezopasnost\">Dro\u0161\u012bba<\/h2>\n<p><\/p>\n<p>Pa\u0161laik dro\u0161\u012bba nelasa. No otras puses, \u0146emot v\u0113r\u0101 to, ka no lietot\u0101ja p\u0101rvald\u012bt\u0101s AWS Lambda izpildes vides ir sl\u0113pti daudzi iek\u0161\u0113jie procesi un \u0161\u012b mode\u013ca \u012bsteno\u0161anas iez\u012bmes, da\u017ei visp\u0101rpie\u0146emtie m\u0101ko\u0146u dro\u0161\u012bbas noteikumi zaud\u0113 savu aktualit\u0101ti.<\/p>\n<p><\/p>\n<p>T\u0101pat k\u0101 liel\u0101k\u0101 da\u013ca AWS pakalpojumu, Lambda tiek sniegta saska\u0146\u0101 ar kop\u0113j\u0101s atbild\u012bbas principu starp AWS un klientu attiec\u012bb\u0101 uz dro\u0161\u012bbu un regul\u0113juma pras\u012bbu iev\u0113ro\u0161anu. \u0160is princips samazina operacion\u0101lo slogu uz klientu, jo AWS uz\u0146emas uzdevumus, kas saist\u012bti ar apkalpo\u0161anu, p\u0101rvald\u012bbu un pakalpojumu komponentu kontroli \u2013 no hosta oper\u0113t\u0101jsist\u0113mas un virtualiz\u0101cijas l\u012bme\u0146a l\u012bdz infrastrukt\u016bras fizisk\u0101s dro\u0161\u012bbas nodro\u0161in\u0101\u0161anai. <\/p>\n<p><\/p>\n<p>Run\u0101jot konkr\u0113ti par AWS Lambda, AWS ir atbild\u012bgs par zem\u0101k eso\u0161\u0101s infrastrukt\u016bras, saist\u012bto pamata pakalpojumu, oper\u0113t\u0101jsist\u0113mas un lietojumplatformas p\u0101rvald\u012bbu. Savuk\u0101rt klients ir atbild\u012bgs par sava koda dro\u0161\u012bbu, konfidenci\u0101lo datu uzglab\u0101\u0161anu, piek\u013cuves kontroli tiem, k\u0101 ar\u012b pakalpojuma un Lambda resursiem (Identity and Access Management, IAM), tostarp izmantotaj\u0101m funkcij\u0101m.<\/p>\n<p><\/p>\n<p>Zem\u0101k redzamaj\u0101 sh\u0113m\u0101 ir att\u0113lota kop\u0113j\u0101s atbild\u012bbas modelis, kas attiecas uz AWS Lambda. AWS atbild\u012bbas joma ir atz\u012bm\u0113ta oran\u017e\u0101 kr\u0101s\u0101, bet klienta atbild\u012bba \u2014 gai\u0161i zil\u0101 kr\u0101s\u0101. K\u0101 redzat, AWS uz\u0146emas vair\u0101k atbild\u012bbas par lietojumprogramm\u0101m, kas ir izvietotas \u0161aj\u0101 pakalpojum\u0101.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detaliz\u0113ta anal\u012bze par AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/d1f324929e3b03d454a0cd9842844cb4.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Kop\u0113j\u0101s atbild\u012bbas modelis, kas attiecas uz AWS Lambda<\/em><\/p>\n<p><\/p>\n<h3 id=\"sreda-vypolneniya-lambda\">Lambda izpildvide<\/h3>\n<p><\/p>\n<p>Galven\u0101 Lambda priek\u0161roc\u012bba ir t\u0101, ka, izpildot funkciju j\u016bsu viet\u0101, pakalpojums pats pie\u0161\u0137ir nepiecie\u0161amos resursus. J\u016bs varat net\u0113r\u0113t laiku un sp\u0113kus sist\u0113mu administr\u0113\u0161anai un koncentr\u0113ties uz biznesa lo\u0123iku un koda rakst\u012b\u0161anu.<\/p>\n<p><\/p>\n<p>Lambda pakalpojums ir sadal\u012bts div\u0101s jom\u0101s. Pirm\u0101 ir vad\u012bbas l\u012bmenis. Saska\u0146\u0101 ar Vikip\u0113diju, vad\u012bbas l\u012bmenis (control plane) ir t\u012bkla da\u013ca, kas atbild\u012bga par sign\u0101lu p\u0101rvad\u0101\u0161anu un mar\u0161rut\u0113\u0161anu. T\u0101 ir galven\u0101 sast\u0101vda\u013ca, kas pie\u0146em glob\u0101lus l\u0113mumus par resursu pie\u0161\u0137ir\u0161anu, apkuri un darba slod\u017eu sadali. Turkl\u0101t vad\u012bbas l\u012bmenis darbojas k\u0101 risin\u0101juma pieg\u0101d\u0101t\u0101ja t\u012bkla topolo\u0123ija, kas atbild par datu mar\u0161rut\u0113\u0161anu un p\u0101rvald\u012bbu.<\/p>\n<p><\/p>\n<p>Otr\u0101 joma ir datu l\u012bmenis. Tam, t\u0101pat k\u0101 vad\u012bbas l\u012bmenim, ir savas funkcijas. Vad\u012bbas l\u012bmenis nodro\u0161ina API funkciju p\u0101rvald\u012bbai (CreateFunction, UpdateFunctionCode) un kontrol\u0113 Lambda mijiedarb\u012bbu ar citiem AWS pakalpojumiem. Datu l\u012bmenis p\u0101rvalda API izsaukumus (Invoke API), kas aktiviz\u0113 Lambda funkcijas. P\u0113c funkcijas izsauk\u0161anas vad\u012bbas l\u012bmenis pie\u0161\u0137ir vai izv\u0113las eso\u0161o, iepriek\u0161 sagatavoto izpildvidi \u0161ai funkcijai un p\u0113c tam taj\u0101 izpilda kodu.<\/p>\n<p><\/p>\n<p>AWS Lambda atbalsta vair\u0101kas programm\u0113\u0161anas valodas, tostarp Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2 un citas, izmantojot attiec\u012bg\u0101s izpildes vides. AWS t\u0101s regul\u0101ri atjauno, izplata dro\u0161\u012bbas labojumus un veic citas oper\u0101cijas, lai uztur\u0113tu \u0161\u012bs vides. Lambda \u013cauj izmantot ar\u012b citas valodas, ja j\u016bs pa\u0161i ievie\u0161at attiec\u012bgu izpildes vidi. Un tad jums b\u016bs j\u0101p\u0101rvalda t\u0101s apkope, tostarp j\u0101piev\u0113r\u0161 uzman\u012bba dro\u0161\u012bbai.<\/p>\n<p><\/p>\n<p><strong>K\u0101 tas viss darbojas un k\u0101 pakalpojums izpild\u012bs j\u016bsu funkcijas?<\/strong><\/p>\n<p><\/p>\n<p>Katras funkcijas darb\u012bba notiek vien\u0101 vai vair\u0101k\u0101s velt\u012bt\u0101s vid\u0113s, kas eksist\u0113 tikai \u0161\u012bs funkcijas dz\u012bves cikla laik\u0101, un p\u0113c tam tiek izn\u012bcin\u0101tas. Katras vides ietvaros vienlaikus tiek izpild\u012bta tikai viena izsaukuma, ta\u010du t\u0101 tiek atk\u0101rtoti izmantota, ja notiek daudzi sec\u012bgi izsaukumi uz vienu un to pa\u0161u funkciju. Visas izpildes vides darbojas uz virtu\u0101laj\u0101m ma\u0161\u012bn\u0101m ar aparat\u016bras virtualiz\u0101ciju \u2014 t\u0101 sauktaj\u0101m microVM. Katras microVM pie\u0161\u0137irta konkr\u0113ta AWS kontam un to var atk\u0101rtoti izmantot, lai izpild\u012btu da\u017e\u0101das funkcijas \u0161aj\u0101 kont\u0101. MicroVM ir iepakotas strukt\u016bras blokos, ko p\u0101rvalda AWS. Viena un t\u0101 pati izpildes vide nevar tikt izmantota da\u017e\u0101d\u0101m funkcij\u0101m, jo microVM ir unik\u0101las da\u017e\u0101diem AWS kontiem.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detaliz\u0113ta anal\u012bze par AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/9c4fd7aeaf3b582aed5fa8a6a876c315.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Izol\u0101cijas modelis AWS Lambda<\/em><\/p>\n<p><\/p>\n<p>Izpildes vides izol\u0101cija tiek \u012bstenota, izmantojot vair\u0101kus meh\u0101nismus. Augst\u0101kaj\u0101 l\u012bmen\u012b katr\u0101 vid\u0113 ir atsevi\u0161\u0137as kopijas sekojo\u0161iem komponentiem:<\/p>\n<p><\/p>\n<ul>\n<li>Funkcijas kods<\/li>\n<li>Jebkuri Lambda sl\u0101\u0146i, kas izv\u0113l\u0113ti \u0161ai funkcijai<\/li>\n<li>Funkcijas izpildes vide<\/li>\n<li>Minim\u0101l\u0101 lietot\u0101ja telpa, kas balst\u012bta uz Amazon Linux<\/li>\n<\/ul>\n<p><\/p>\n<p>At\u0161\u0137ir\u012bgu izpildes vidi izol\u0101cijai tiek pielietoti \u0161\u0101di meh\u0101nismi:<\/p>\n<p><\/p>\n<ul>\n<li>cgroups \u2014 piek\u013cuves ierobe\u017eojums resursiem (CPU, atmi\u0146a, kr\u0101tuves caurlaid\u012bba un t\u012bkls) katrai izpildes videi;<\/li>\n<li>namespaces \u2014 grup\u0113\u0161ana procesu ID, lietot\u0101ju ID, t\u012bkla interfeisu un citu resursu ID, kurus p\u0101rvalda Linux kodols. Katrs izpildes vide darbojas sav\u0101 nosaukumu telp\u0101;<\/li>\n<li>seccomp-bpf \u2014 sist\u0113mas izsaukumu ierobe\u017eo\u0161ana, kurus var izmantot izpildes vid\u0113;<\/li>\n<li>iptables un mar\u0161rut\u0113\u0161anas tabulas \u2014 izpildes vidu izol\u0101cija citu vidu starp\u0101;<\/li>\n<li>chroot \u2014 ierobe\u017eota piek\u013cuve apak\u0161\u0113jai failu sist\u0113mai.<\/li>\n<\/ul>\n<p><\/p>\n<p>Sadarb\u012bb\u0101 ar AWS patent\u0113taj\u0101m izol\u0101cijas tehnolo\u0123ij\u0101m nor\u0101d\u012btie meh\u0101nismi garant\u0113 dro\u0161u izpildes vidi norobe\u017eo\u0161anu. T\u0101d\u0101 veid\u0101 izol\u0113tas vides nevar piek\u013c\u016bt citu vid\u0113s eso\u0161ajiem datiem un main\u012bt tos.<\/p>\n<p><\/p>\n<p>Lai ar\u012b vair\u0101ki izpildes vides vien\u0101 AWS kont\u0101 var darboties vien\u0101 microVM, nevien\u0101 gad\u012bjum\u0101 microVM nevar koplietot da\u017e\u0101di AWS konti. AWS Lambda microVM izol\u0101cija tiek veikta, izmantojot divus meh\u0101nismus: EC2 instanc\u0113m un Firecracker. EC2 instan\u010du b\u0101z\u0113t\u0101 viesu izol\u0101cija Lambda tiek piem\u0113rota kop\u0161 2015. gada. Firecracker ir jauns atv\u0113rt\u0101 koda hipervizors, ko \u012bpa\u0161i izstr\u0101d\u0101jusi AWS bezserveru darba slodz\u0113m un kas tika ieviests 2018. gad\u0101. Fiziskais apr\u012bkojums, uz kura darbojas microVM, tiek koplietots ar da\u017e\u0101du kontu darba slodz\u0113m.<\/p>\n<p><\/p>\n<h3 id=\"sohranenie-sred-i-sostoyaniy-processov\">Vides un procesu st\u0101vok\u013cu saglab\u0101\u0161ana<\/h3>\n<p><\/p>\n<p>Lai ar\u012b Lambda izpildes vides ir unik\u0101las da\u017e\u0101d\u0101m funkcij\u0101m, taj\u0101s ir iesp\u0113jams atk\u0101rtoti izsaukt to pa\u0161u funkciju, tas ir, izpildes vide var past\u0101v\u0113t vair\u0101kas stundas pirms tiek izn\u012bcin\u0101ta.<\/p>\n<p><\/p>\n<p>Katram Lambda izpildes videi ir ar\u012b rakst\u012b\u0161anai atv\u0113rt\u0101 failu sist\u0113ma, kas pieejama caur katalogu \/tmp. Uz t\u0101s saturu nevar piek\u013c\u016bt no cit\u0101m izpildes vid\u0113m. Attiec\u012bb\u0101 uz procesu st\u0101vok\u013cu saglab\u0101\u0161anu, failus, kas rakst\u012bti uz \/tmp, past\u0101v visas izpildes vides dz\u012bves cikla laik\u0101. Tas \u013cauj uzkr\u0101t vair\u0101ku izsaukumu rezult\u0101tus, kas ir \u012bpa\u0161i noder\u012bgi t\u0101d\u0101m d\u0101rg\u0101m oper\u0101cij\u0101m k\u0101 ma\u0161\u012bnu m\u0101c\u012bbu mode\u013cu ievilk\u0161ana.<\/p>\n<p><\/p>\n<h2 id=\"peredacha-dannyh-vyzovov\">Izsaukuma datu p\u0101rs\u016bt\u012b\u0161ana<\/h2>\n<p><\/p>\n<p>Invoke API interfeisu var izmantot divos re\u017e\u012bmos: notikumu re\u017e\u012bm\u0101 un piepras\u012bjuma-atbildes re\u017e\u012bm\u0101. Notikumu re\u017e\u012bm\u0101 izsaukums tiek pievienots rindai turpm\u0101kai izpildei. Piepras\u012bjuma-atbildes re\u017e\u012bm\u0101 funkcija tiek izsaukta nekav\u0113joties ar nor\u0101d\u012bto slodzi, p\u0113c kuras tiek atgriezta atbilde. Abos gad\u012bjumos funkcija tiek izpild\u012bta Lambda vid\u0113, bet ar da\u017e\u0101d\u0101m slodzes ce\u013ciem.<\/p>\n<p><\/p>\n<p>Izsaukumu veidiem \"piepras\u012bjums - atbilde\" slodze tiek nos\u016bt\u012bta no API piepras\u012bjumu apstr\u0101des (API Caller), piem\u0113ram, AWS API Gateway vai AWS SDK, uz slodzes balans\u0113t\u0101ju, un p\u0113c tam uz Lambda izsaukumu izpildes pakalpojumu (Invoke Service). P\u0113d\u0113jais nosaka atbilsto\u0161u vidi funkcijas izpildei un nos\u016bta tur slodzi, lai pabeigtu izsaukumu. Slodzes balans\u0113t\u0101js sa\u0146em trafiku ar TLS aizsardz\u012bbu caur internetu. Trafiks Lambda pakalpojum\u0101 \u2014 p\u0113c slodzes balans\u0113t\u0101ja \u2014 pl\u016bst cauri iek\u0161\u0113jam VPC konkr\u0113t\u0101 AWS re\u0123ion\u0101.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Detaliz\u0113ta anal\u012bze par AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/57f97517597f51d83890869b8385074a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>AWS Lambda izsaukumu apstr\u0101des modelis: \"piepras\u012bjums - atbilde\" re\u017e\u012bms<\/em><\/p>\n<p><\/p>\n<p>Notikumu izsaukumi var tikt izpild\u012bti t\u016bl\u012bt\u0113ji vai pievienoti rindai. Da\u017eos gad\u012bjumos rinda tiek \u012bstenota ar Amazon SQS (Amazon Simple Queue Service), kas nos\u016bta izsaukumus uz Lambda izsaukumu izpildes pakalpojumu, izmantojot iek\u0161\u0113jo izsuk\u0161anas procesu (poller). Nos\u016bt\u012btais trafiks ir aizsarg\u0101ts ar TLS, t\u0101d\u0113\u013c nav paredz\u0113ta papildu datu \u0161ifr\u0113\u0161ana, kas glab\u0101jas Amazon SQS. <\/p>\n<p><\/p>\n<p>Notikumu izsaukumi nerada atbildes \u2014 jebk\u0101du atbildes inform\u0101ciju Lambda Worker vienk\u0101r\u0161i ignor\u0113. Izsaukumi no Amazon S3, Amazon SNS, CloudWatch un citiem avotiem tiek apstr\u0101d\u0101ti Lambda pakalpojum\u0101 notikumu re\u017e\u012bm\u0101. Izsaukumi no Amazon Kinesis un DynamoDB, SQS rindas izsaukumi, lietojumprogrammas slodzes balans\u0113t\u0101js un API Gateway tiek apstr\u0101d\u0101ti \"piepras\u012bjums - atbilde\" re\u017e\u012bm\u0101.<\/p>\n<p><\/p>\n<h3 id=\"monitoring\">Uzraudz\u012bba<\/h3>\n<p><\/p>\n<p>J\u016bs varat uzraudz\u012bt un veikt auditu Lambda funkcij\u0101m, izmantojot da\u017e\u0101dus meh\u0101nismus un AWS pakalpojumus, tostarp \u0161\u0101dus.<\/p>\n<p><\/p>\n<p><strong>Amazon CloudWatch<\/strong><br \/>\nV\u0101cijas da\u017e\u0101dus statistikas datus, piem\u0113ram, piepras\u012bjumu skaitu, piepras\u012bjuma izpildes ilgumu un k\u013c\u016bdu pabeigto piepras\u012bjumu skaitu.<\/p>\n<p><\/p>\n<p><strong>Amazon CloudTrail<\/strong><br \/>\nIesp\u0113jot \u017eurn\u0101lu, nep\u0101rtrauktu uzraudz\u012bbu un inform\u0101cijas par aktivit\u0101t\u0113m j\u016bsu kont\u0101 saglab\u0101\u0161anu, kas saist\u012bta ar j\u016bsu AWS infrastrukt\u016bru. Jums b\u016bs piln\u012bga darb\u012bbu hronolo\u0123ija, kas veikta, izmantojot AWS Management Console, AWS SDK, komandrindas r\u012bkus un citus AWS pakalpojumus.<\/p>\n<p><\/p>\n<p><strong>AWS X-Ray<\/strong><br \/>\nNodro\u0161ina piln\u012bgu redzam\u012bbu par visiem piepras\u012bjumu apstr\u0101des posmiem j\u016bsu lietojumprogramm\u0101, pamatojoties uz t\u0101s iek\u0161\u0113jo komponentu karti. At\u013cauj analiz\u0113t lietojumprogrammas izstr\u0101des un ra\u017eo\u0161anas vid\u0113.<\/p>\n<p><\/p>\n<p><strong>AWS Config<\/strong><br \/>\nJ\u016bs var\u0113siet sekot l\u012bdzi Lambda funkciju konfigur\u0101cijas izmai\u0146\u0101m (ieskaitot to dz\u0113\u0161anu) un izpildes vid\u0113m, tagiem, apstr\u0101d\u0101t\u0101ju nosaukumiem, koda lielumam, atmi\u0146as sadal\u012bjumam, laika ierobe\u017eojumu iestat\u012bjumiem un vienlaic\u012bguma parametriem, k\u0101 ar\u012b Lambda IAM izpildes lomai, apak\u0161re\u017eiem un dro\u0161\u012bbas grupu piesaistei.<\/p>\n<p><\/p>\n<h3 id=\"zaklyuchenie\">Secin\u0101jums<\/h3>\n<p><\/p>\n<p>AWS Lambda pied\u0101v\u0101 sp\u0113c\u012bgu r\u012bku komplektu, lai veidotu dro\u0161as un m\u0113rogotas lietojumprogrammas. Daudzi dro\u0161\u012bbas un regul\u0113jumu atbilst\u012bbas pas\u0101kumi AWS Lambda neat\u0161\u0137iras no tiem, kas tiek izmantoti citos AWS pakalpojumos, lai gan ir iz\u0146\u0113mumi. 2019. gada mart\u0101 Lambda atbilst SOC 1, SOC 2, SOC 3, PCI DSS, ASV Medic\u012bnisk\u0101s apdro\u0161in\u0101\u0161anas p\u0101rvaldes likuma (HIPAA) un citu regul\u0113jumu pras\u012bb\u0101m. T\u0101p\u0113c, kad dom\u0101jat par jauna lietojuma izstr\u0101di, apsveriet AWS Lambda pakalpojumu \u2014 tas var b\u016bt vispiem\u0113rot\u0101kais j\u016bsu uzdevumam.<\/p>\n<p>Avots: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/466519\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b\u00bb. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438? \u0421\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043c\u0430\u0441\u0442\u0435\u0440-\u043a\u043b\u0430\u0441\u0441 \u0415\u0433\u043e\u0440\u0430 \u0417\u0443\u0435\u0432\u0430 (TeamLead \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 InBit) \u00abAWS EC2 \u0441\u0435\u0440\u0432\u0438\u0441\u00bb \u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u044f\u0439\u0442\u0435\u0441\u044c \u043a \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u0439 \u0433\u0440\u0443\u043f\u043f\u0435 \u043a\u0443\u0440\u0441\u0430: \u0441\u0442\u0430\u0440\u0442 26 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f. \u0412\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u043b\u044e\u0434\u0435\u0439 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u043d\u0430 AWS Lambda \u0440\u0430\u0434\u0438 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0441\u0442\u0438, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438, \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u043c\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0438 \u0434\u0430\u0436\u0435 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u044b \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u043c\u0435\u0441\u044f\u0446. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28468,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-37937","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b\u00bb. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438?\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"lv_LV\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 AWS Lambda | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b\u00bb. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438?\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:20:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:20:41+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Detaliz\u0113ts AWS Lambda izkl\u0101sts | ProHoster","description":"Raksta tulkojums sagatavots \u012bpa\u0161i kursa \"M\u0101ko\u0146pakalpojumi\" studentiem. Interes\u0113 att\u012bst\u012bties \u0161aj\u0101 virzien\u0101?","canonical_url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"lv_LV","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0435\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 AWS Lambda | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00ab\u041e\u0431\u043b\u0430\u0447\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b\u00bb. \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0438?","og:url":"https:\/\/prohoster.info\/lv\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:20:41+00:00","article:modified_time":"2019-10-31T19:20:41+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"37937","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 19:50:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:18:22","updated":"2026-01-23 19:50:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/37937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/comments?post=37937"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/posts\/37937\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media\/28468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/media?parent=37937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/categories?post=37937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/lv\/wp-json\/wp\/v2\/tags?post=37937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}