{"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\/cs\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda","title":{"rendered":"Podrobn\u00e1 anal\u00fdza AWS Lambda","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><em>P\u0159eklad \u010dl\u00e1nku byl p\u0159ipraven speci\u00e1ln\u011b pro studenty kurzu <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/dOuF\/\">\u201eCloudov\u00e9 slu\u017eby\u201c<\/a><\/noindex>. Zaj\u00edm\u00e1 v\u00e1s, jak se rozv\u00edjet v t\u00e9to oblasti? Pod\u00edvejte se na masterclass Egora Zueva (TeamLead ve spole\u010dnosti InBit) <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/L2NX\/\">\u201eAWS EC2 slu\u017eba\u201c<\/a><\/noindex> a p\u0159idejte se k nejbli\u017e\u0161\u00ed skupin\u011b kurzu: za\u010d\u00e1tek 26. z\u00e1\u0159\u00ed. <\/em><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Podrobn\u00e1 anal\u00fdza AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/cbf78e6c6d04f9beec2d99f8891bf7d9.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>St\u00e1le v\u00edce lid\u00ed p\u0159ech\u00e1z\u00ed na AWS Lambda kv\u016fli \u0161k\u00e1lovatelnosti, v\u00fdkonnosti, \u00faspor\u00e1m a mo\u017enosti zpracov\u00e1vat miliony a dokonce i triliony po\u017eadavk\u016f m\u011bs\u00ed\u010dn\u011b. K tomu nen\u00ed pot\u0159eba spravovat infrastrukturu, na kter\u00e9 slu\u017eba b\u011b\u017e\u00ed. Automatick\u00e9 \u0161k\u00e1lov\u00e1n\u00ed umo\u017e\u0148uje obsluhovat tis\u00edce sou\u010dasn\u00fdch po\u017eadavk\u016f za sekundu. Mysl\u00edm, \u017ee AWS Lambda lze pr\u00e1vem ozna\u010dit za jednu z nej\u017e\u00e1dan\u011bj\u0161\u00edch slu\u017eeb AWS.<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 je ud\u00e1lostmi \u0159\u00edzen\u00e1 slu\u017eba serverless v\u00fdpo\u010dt\u016f, kter\u00e1 umo\u017e\u0148uje spou\u0161t\u011bt k\u00f3d bez alokace a spr\u00e1vy server\u016f a dopl\u0148uje dal\u0161\u00ed slu\u017eby AWS na z\u00e1klad\u011b u\u017eivatelsk\u00e9 logiky. Lambda automaticky reaguje na r\u016fzn\u00e1 ud\u00e1losti (takzvan\u00e9 spou\u0161t\u011b\u010de), nap\u0159\u00edklad na HTTP po\u017eadavky p\u0159es Amazon API Gateway, na zm\u011bny dat v ko\u0161\u00edch Amazon S3 nebo tabulk\u00e1ch Amazon DynamoDB; nebo m\u016f\u017eete spustit sv\u016fj k\u00f3d prost\u0159ednictv\u00edm API vol\u00e1n\u00ed pomoc\u00ed AWS SDK a p\u0159echod\u016f mezi stavy v AWS Step Functions.<\/p>\n<p><\/p>\n<p>Lambda vykon\u00e1v\u00e1 k\u00f3d na vysoce dostupn\u00e9 v\u00fdpo\u010detn\u00ed infrastruktu\u0159e a zcela zodpov\u00edd\u00e1 za spr\u00e1vu podkladov\u00e9 platformy, v\u010detn\u011b \u00fadr\u017eby server\u016f a opera\u010dn\u00edho syst\u00e9mu, alokace zdroj\u016f, automatick\u00e9ho \u0161k\u00e1lov\u00e1n\u00ed, monitorov\u00e1n\u00ed k\u00f3du a veden\u00ed protokol\u016f. To znamen\u00e1, \u017ee sta\u010d\u00ed nahr\u00e1t sv\u016fj k\u00f3d a nastavit, jak a kdy m\u00e1 b\u00fdt vykon\u00e1v\u00e1n. Slu\u017eba se postar\u00e1 o jeho spu\u0161t\u011bn\u00ed a zajist\u00ed vysokou dostupnost va\u0161\u00ed aplikace.<\/p>\n<p><\/p>\n<h2 id=\"kogda-perehodit-na-lambda\">Kdy p\u0159ej\u00edt na Lambda?<\/h2>\n<p><\/p>\n<p>AWS Lambda je pohodln\u00e1 v\u00fdpo\u010detn\u00ed platforma vhodn\u00e1 pro mnoho aplika\u010dn\u00edch sc\u00e9n\u00e1\u0159\u016f, pokud samoz\u0159ejm\u011b jazyk a runtime va\u0161eho k\u00f3du jsou slu\u017ebou podporov\u00e1ny. Pokud se chcete soust\u0159edit na k\u00f3d a obchodn\u00ed logiku, zat\u00edmco obnovu server\u016f, alokaci zdroj\u016f a \u0161k\u00e1lov\u00e1n\u00ed sv\u011b\u0159\u00edte extern\u00edmu poskytovateli za rozumn\u00e9 pen\u00edze, ur\u010dit\u011b byste m\u011bli p\u0159ej\u00edt na AWS Lambda.<\/p>\n<p><\/p>\n<p>Lambda je ide\u00e1ln\u00ed pro vytv\u00e1\u0159en\u00ed programov\u00fdch rozhran\u00ed a pokud pou\u017eijete slu\u017ebu spolu s API Gateway, m\u016f\u017eete v\u00fdrazn\u011b sn\u00ed\u017eit n\u00e1klady a rychleji uv\u00e9st na trh. Existuj\u00ed r\u016fzn\u00e9 zp\u016fsoby vyu\u017eit\u00ed funkc\u00ed Lambda a mo\u017enosti uspo\u0159\u00e1d\u00e1n\u00ed serverless architektury \u2014 ka\u017ed\u00fd si m\u016f\u017ee vybrat n\u011bco vhodn\u00e9ho s ohledem na stanoven\u00fd c\u00edl.<\/p>\n<p><\/p>\n<p>Lambda umo\u017e\u0148uje prov\u00e1d\u011bt \u0161irok\u00e9 spektrum \u00faloh. D\u00edky podpo\u0159e CloudWatch m\u016f\u017eete vytv\u00e1\u0159et odlo\u017een\u00e9 \u00fakoly a automatizovat jednotliv\u00e9 procesy. Neexistuj\u00ed \u017e\u00e1dn\u00e1 omezen\u00ed t\u00fdkaj\u00edc\u00ed se charakteru a intenzity pou\u017e\u00edv\u00e1n\u00ed slu\u017eby (zohled\u0148uje se spot\u0159eba pam\u011bti a \u010das) a nic v\u00e1m nebr\u00e1n\u00ed pracovat postupn\u011b na plnohodnotn\u00e9m microservice zalo\u017een\u00e9m na Lambd\u011b.<\/p>\n<p><\/p>\n<p>Zde lze vytv\u00e1\u0159et na slu\u017eby orientovan\u00e9 akce, kter\u00e9 se neprov\u00e1d\u011bj\u00ed neust\u00e1le. Typick\u00fdm p\u0159\u00edkladem je \u0161k\u00e1lov\u00e1n\u00ed obr\u00e1zk\u016f. I v p\u0159\u00edpad\u011b distribuovan\u00fdch syst\u00e9m\u016f funkce Lambda neztr\u00e1cej\u00ed na aktu\u00e1lnosti.<\/p>\n<p><\/p>\n<p>Tak\u017ee, pokud se nechcete zab\u00fdvat vy\u010dle\u0148ov\u00e1n\u00edm a spr\u00e1vou v\u00fdpo\u010detn\u00edch zdroj\u016f \u2014 zkuste AWS Lambda; pokud nepot\u0159ebujete t\u011b\u017ek\u00e9, n\u00e1ro\u010dn\u00e9 v\u00fdpo\u010dty \u2014 tak\u00e9 zkuste AWS Lambda; pokud se v\u00e1\u0161 k\u00f3d spou\u0161t\u00ed periodicky \u2014 m\u00e1te pravdu, m\u011bli byste vyzkou\u0161et AWS Lambda.<\/p>\n<p><\/p>\n<h2 id=\"bezopasnost\">Bezpe\u010dnost<\/h2>\n<p><\/p>\n<p>Zat\u00edm nen\u00ed k bezpe\u010dnosti \u017e\u00e1dn\u00e9 v\u00fdtky. Na druhou stranu, proto\u017ee u\u017eivateli \u0159\u00edzen\u00e9 prost\u0159ed\u00ed AWS Lambda skr\u00fdv\u00e1 mnoho vnit\u0159n\u00edch proces\u016f a zvl\u00e1\u0161tnost\u00ed implementace tohoto modelu, n\u011bkter\u00e1 obecn\u011b p\u0159ij\u00edman\u00e1 pravidla cloudov\u00e9 bezpe\u010dnosti ztr\u00e1cej\u00ed na platnosti.<\/p>\n<p><\/p>\n<p>Stejn\u011b jako v\u011bt\u0161ina slu\u017eeb AWS, Lambda je poskytov\u00e1na na z\u00e1klad\u011b z\u00e1sady sd\u00edlen\u00e9 odpov\u011bdnosti AWS a klienta za bezpe\u010dnost a dodr\u017eov\u00e1n\u00ed regulac\u00ed. Tento princip sni\u017euje opera\u010dn\u00ed z\u00e1t\u011b\u017e na klienta, proto\u017ee AWS se uj\u00edm\u00e1 \u00fakol\u016f \u00fadr\u017eby, spr\u00e1vy a kontroly komponent\u016f slu\u017eby \u2014 od opera\u010dn\u00edho syst\u00e9mu hostitele a \u00farovn\u011b virtualizace a\u017e po fyzickou bezpe\u010dnost objekt\u016f infrastruktury. <\/p>\n<p><\/p>\n<p>Pokud mluv\u00edme konkr\u00e9tn\u011b o AWS Lambda, AWS se star\u00e1 o spr\u00e1vu podlo\u017en\u00ed infrastruktury, souvisej\u00edc\u00edch z\u00e1kladn\u00edch slu\u017eeb, opera\u010dn\u00edho syst\u00e9mu a platformy aplikac\u00ed. Zat\u00edmco klient nese odpov\u011bdnost za zabezpe\u010den\u00ed sv\u00e9ho k\u00f3du, ukl\u00e1d\u00e1n\u00ed citliv\u00fdch dat, \u0159\u00edzen\u00ed p\u0159\u00edstupu k nim, jako\u017e i k slu\u017eb\u00e1m a prost\u0159edk\u016fm Lambda (Identity and Access Management, IAM), v\u010detn\u011b pou\u017eit\u00fdch funkc\u00ed.<\/p>\n<p><\/p>\n<p>Na n\u00ed\u017ee uveden\u00e9m diagramu je zn\u00e1zorn\u011bn model sd\u00edlen\u00e9 odpov\u011bdnosti, kter\u00fd se vztahuje na AWS Lambda. Oblast odpov\u011bdnosti AWS je vyzna\u010dena oran\u017eovou barvou a odpov\u011bdnost klienta je modr\u00e1. Jak vid\u00edte, AWS nese v\u011bt\u0161\u00ed odpov\u011bdnost za aplikace nasazen\u00e9 na slu\u017eb\u011b.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Podrobn\u00e1 anal\u00fdza AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/d1f324929e3b03d454a0cd9842844cb4.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Model sd\u00edlen\u00e9 odpov\u011bdnosti, kter\u00fd se vztahuje na AWS Lambda<\/em><\/p>\n<p><\/p>\n<h3 id=\"sreda-vypolneniya-lambda\">Prost\u0159ed\u00ed runtime Lambda<\/h3>\n<p><\/p>\n<p>Hlavn\u00ed v\u00fdhodou Lambda je, \u017ee kdy\u017e vykon\u00e1v\u00e1 funkci va\u0161\u00edm jm\u00e9nem, slu\u017eba sama p\u0159id\u011bluje pot\u0159ebn\u00e9 prost\u0159edky. M\u016f\u017eete se vyhnout investic\u00edm \u010dasu a \u00fasil\u00ed do spr\u00e1vy syst\u00e9m\u016f a soust\u0159edit se na obchodn\u00ed logiku a psan\u00ed k\u00f3du.<\/p>\n<p><\/p>\n<p>Slu\u017eba Lambda je rozd\u011blena do dvou rovin. Prvn\u00ed je \u0159\u00edd\u00edc\u00ed rovina. Podle Wikipedie je \u0159\u00edd\u00edc\u00ed rovina (control plane) \u010d\u00e1st\u00ed s\u00edt\u011b zodpov\u011bdnou za p\u0159epravu sign\u00e1ln\u00edho provozu a sm\u011brov\u00e1n\u00ed. Je hlavn\u00ed sou\u010d\u00e1st\u00ed, kter\u00e1 p\u0159ij\u00edm\u00e1 glob\u00e1ln\u00ed rozhodnut\u00ed o alokaci, \u00fadr\u017eb\u011b a rozd\u011blen\u00ed pracovn\u00edch z\u00e1t\u011b\u017e\u00ed. \u0158\u00edd\u00edc\u00ed rovina tak\u00e9 slou\u017e\u00ed jako s\u00ed\u0165ov\u00e1 topologie dodavatele \u0159e\u0161en\u00ed, zodpov\u011bdn\u00e1 za sm\u011brov\u00e1n\u00ed provozu a jeho spr\u00e1vu.<\/p>\n<p><\/p>\n<p>Druh\u00e1 rovina je rovina dat. Ta m\u00e1, stejn\u011b jako \u0159\u00edd\u00edc\u00ed rovina, sv\u00e9 \u00fakoly. \u0158\u00edd\u00edc\u00ed rovina poskytuje API pro spr\u00e1vu funkc\u00ed (CreateFunction, UpdateFunctionCode) a kontroluje interakci Lambda s jin\u00fdmi slu\u017ebami AWS. Rovina dat spravuje API vol\u00e1n\u00ed (Invoke API), kter\u00e9 spou\u0161t\u00ed funkce Lambda. Po vyvol\u00e1n\u00ed funkce \u0159\u00edd\u00edc\u00ed rovina p\u0159id\u011bluje nebo vyb\u00edr\u00e1 existuj\u00edc\u00ed, p\u0159edem p\u0159ipraven\u00e9 prost\u0159ed\u00ed runtime pro tuto funkci a pot\u00e9 v n\u011bm vykon\u00e1v\u00e1 k\u00f3d.<\/p>\n<p><\/p>\n<p>AWS Lambda podporuje \u0159adu programovac\u00edch jazyk\u016f, v\u010detn\u011b Java 8, Python 3.7, Go, NodeJS 8, .NET Core 2 a dal\u0161\u00edch prost\u0159ednictv\u00edm odpov\u00eddaj\u00edc\u00edch b\u011bhov\u00fdch prost\u0159ed\u00ed. AWS je pravideln\u011b aktualizuje, distribuuje opravy zabezpe\u010den\u00ed a prov\u00e1d\u00ed dal\u0161\u00ed \u00fadr\u017ebu t\u011bchto prost\u0159ed\u00ed. Lambda tak\u00e9 umo\u017e\u0148uje pou\u017e\u00edvat jin\u00e9 jazyky, za podm\u00ednky, \u017ee sami implementujete odpov\u00eddaj\u00edc\u00ed b\u011bhov\u00e9 prost\u0159ed\u00ed. V takov\u00e9m p\u0159\u00edpad\u011b se budete muset postarat o jeho \u00fadr\u017ebu, v\u010detn\u011b sledov\u00e1n\u00ed bezpe\u010dnosti.<\/p>\n<p><\/p>\n<p><strong>Jak to v\u0161echno funguje a jak bude slu\u017eba vykon\u00e1vat va\u0161e funkce?<\/strong><\/p>\n<p><\/p>\n<p>Ka\u017ed\u00e1 funkce b\u011b\u017e\u00ed v jednom nebo v\u00edce vyhrazen\u00fdch prost\u0159ed\u00edch, kter\u00e1 existuj\u00ed pouze po dobu \u017eivotn\u00edho cyklu t\u00e9to funkce a pot\u00e9 jsou zni\u010dena. V ka\u017ed\u00e9m prost\u0159ed\u00ed se sou\u010dasn\u011b prov\u00e1d\u00ed pouze jeden hovor, ale je znovu pou\u017eito, pokud dojde k v\u00edce s\u00e9riov\u00fdm hovor\u016fm t\u00e9\u017ee funkce. V\u0161echna b\u011bhov\u00e1 prost\u0159ed\u00ed funguj\u00ed na virtu\u00e1ln\u00edch stroj\u00edch s hardwarovou virtualizac\u00ed - na takzvan\u00fdch microVM. Ka\u017ed\u00e1 microVM je p\u0159i\u0159azena konkr\u00e9tn\u00edmu \u00fa\u010dtu AWS a m\u016f\u017ee b\u00fdt opakovan\u011b pou\u017e\u00edv\u00e1na prost\u0159ed\u00edmi k prov\u00e1d\u011bn\u00ed r\u016fzn\u00fdch funkc\u00ed v tomto \u00fa\u010dtu. MicroVM jsou baleny do stavebn\u00edch blok\u016f hardwarov\u00e9 platformy Lambda Worker, kterou vlastn\u00ed a spravuje AWS. Tot\u00e9\u017e b\u011bhov\u00e9 prost\u0159ed\u00ed nem\u016f\u017ee b\u00fdt pou\u017eito r\u016fzn\u00fdmi funkcemi, stejn\u011b jako jsou microVM jedine\u010dn\u00e9 pro r\u016fzn\u00e9 \u00fa\u010dty AWS.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Podrobn\u00e1 anal\u00fdza AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/9c4fd7aeaf3b582aed5fa8a6a876c315.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Model izolace v AWS Lambda<\/em><\/p>\n<p><\/p>\n<p>Izolace b\u011bhov\u00fdch prost\u0159ed\u00ed je realizov\u00e1na pomoc\u00ed n\u011bkolika mechanism\u016f. Na nejvy\u0161\u0161\u00ed \u00farovni ka\u017ed\u00e9 prost\u0159ed\u00ed existuj\u00ed odd\u011blen\u00e9 kopie n\u00e1sleduj\u00edc\u00edch komponent\u016f:<\/p>\n<p><\/p>\n<ul>\n<li>K\u00f3d funkce<\/li>\n<li>Jak\u00e9koliv vrstvy Lambda zvolen\u00e9 pro funkci<\/li>\n<li>B\u011bhov\u00e9 prost\u0159ed\u00ed funkce<\/li>\n<li>Minim\u00e1ln\u00ed u\u017eivatelsk\u00fd prostor zalo\u017een\u00fd na Amazon Linux<\/li>\n<\/ul>\n<p><\/p>\n<p>Pro izolaci r\u016fzn\u00fdch b\u011bhov\u00fdch prost\u0159ed\u00ed se pou\u017e\u00edvaj\u00ed n\u00e1sleduj\u00edc\u00ed mechanismy:<\/p>\n<p><\/p>\n<ul>\n<li>cgroups - omezen\u00ed p\u0159\u00edstupu k prost\u0159edk\u016fm CPU, pam\u011bti, \u0161\u00ed\u0159ce p\u00e1sma a s\u00edti pro ka\u017ed\u00e9 b\u011bhov\u00e9 prost\u0159ed\u00ed;<\/li>\n<li>namespaces - seskupen\u00ed ID proces\u016f, ID u\u017eivatel\u016f, s\u00ed\u0165ov\u00fdch rozhran\u00ed a dal\u0161\u00edho majetku, kter\u00fd spravuje j\u00e1dro Linuxu. Ka\u017ed\u00e9 b\u011bhov\u00e9 prost\u0159ed\u00ed funguje ve sv\u00e9m vlastn\u00edm prostoru n\u00e1zv\u016f;<\/li>\n<li>seccomp-bpf - omezen\u00ed syst\u00e9mov\u00fdch vol\u00e1n\u00ed, kter\u00e1 lze pou\u017e\u00edt v b\u011bhov\u00e9m prost\u0159ed\u00ed;<\/li>\n<li>iptables a routing tables - izolace b\u011bhov\u00fdch prost\u0159ed\u00ed mezi sebou;<\/li>\n<li>chroot \u2014 poskytov\u00e1n\u00ed omezen\u00e9ho p\u0159\u00edstupu k n\u00ed\u017ee le\u017e\u00edc\u00edmu souborov\u00e9mu syst\u00e9mu.<\/li>\n<\/ul>\n<p><\/p>\n<p>Ve spojen\u00ed se sv\u00fdmi propriet\u00e1rn\u00edmi izola\u010dn\u00edmi technologiemi AWS zaji\u0161\u0165uj\u00ed uveden\u00e9 mechanismy spolehliv\u00e9 odd\u011blen\u00ed prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed. Takto izolovan\u00e1 prost\u0159ed\u00ed nemohou p\u0159istupovat k dat\u016fm jin\u00fdch prost\u0159ed\u00ed a m\u011bnit je.<\/p>\n<p><\/p>\n<p>I kdy\u017e m\u016f\u017ee na jednom microVM b\u011b\u017eet v\u00edce prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed jedn\u00e9 \u00fa\u010dtu AWS, nemohou b\u00fdt microVM za \u017e\u00e1dn\u00fdch okolnost\u00ed sd\u00edleny r\u016fzn\u00fdmi \u00fa\u010dty AWS. Pro izolaci microVM v AWS Lambda se pou\u017e\u00edvaj\u00ed pouze dva mechanismy: instance EC2 a Firecracker. Izolace host\u016f v Lambda na b\u00e1zi instanc\u00ed EC2 se pou\u017e\u00edv\u00e1 od roku 2015. Firecracker je nov\u00fd hypervisor s otev\u0159en\u00fdm zdrojov\u00fdm k\u00f3dem, kter\u00fd byl speci\u00e1ln\u011b navr\u017een AWS pro serverless pracovn\u00ed z\u00e1t\u011b\u017ee a uveden na trh v roce 2018. Fyzick\u00e9 za\u0159\u00edzen\u00ed, na kter\u00e9m b\u011b\u017e\u00ed microVM, je spole\u010dn\u011b vyu\u017e\u00edv\u00e1no pracovn\u00edmi z\u00e1t\u011b\u017eemi r\u016fzn\u00fdch \u00fa\u010dt\u016f.<\/p>\n<p><\/p>\n<h3 id=\"sohranenie-sred-i-sostoyaniy-processov\">Ukl\u00e1d\u00e1n\u00ed prost\u0159ed\u00ed a stav\u016f proces\u016f<\/h3>\n<p><\/p>\n<p>A\u010dkoliv jsou prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed Lambda jedine\u010dn\u00e1 pro r\u016fzn\u00e9 funkce, je mo\u017en\u00e9 znovu volat stejnou funkci, co\u017e znamen\u00e1, \u017ee prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed m\u016f\u017ee existovat n\u011bkolik hodin, ne\u017e bude zni\u010deno.<\/p>\n<p><\/p>\n<p>Ka\u017ed\u00e9 prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed Lambda tak\u00e9 obsahuje zapisovateln\u00fd souborov\u00fd syst\u00e9m, kter\u00fd je p\u0159\u00edstupn\u00fd prost\u0159ednictv\u00edm adres\u00e1\u0159e \/tmp. Jeho obsah nen\u00ed mo\u017en\u00e9 p\u0159istupovat z jin\u00fdch prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed. Co se t\u00fd\u010de ukl\u00e1d\u00e1n\u00ed stav\u016f proces\u016f, soubory zapsan\u00e9 do \/tmp existuj\u00ed po celou dobu \u017eivotn\u00edho cyklu prost\u0159ed\u00ed prov\u00e1d\u011bn\u00ed. To umo\u017e\u0148uje akumulaci v\u00fdsledk\u016f n\u011bkolika vol\u00e1n\u00ed, co\u017e je obzvl\u00e1\u0161\u0165 u\u017eite\u010dn\u00e9 pro tak n\u00e1ro\u010dn\u00e9 operace, jako je nahr\u00e1v\u00e1n\u00ed model\u016f strojov\u00e9ho u\u010den\u00ed.<\/p>\n<p><\/p>\n<h2 id=\"peredacha-dannyh-vyzovov\">P\u0159enos dat vol\u00e1n\u00ed<\/h2>\n<p><\/p>\n<p>Rozhran\u00ed Invoke API lze vyu\u017e\u00edt ve dvou re\u017eimech: v re\u017eimu ud\u00e1lost\u00ed a v re\u017eimu \"dotaz \u2014 odpov\u011b\u010f\". V re\u017eimu ud\u00e1lost\u00ed je vol\u00e1n\u00ed p\u0159id\u00e1no do fronty pro n\u00e1sledn\u00e9 proveden\u00ed. V re\u017eimu \"dotaz \u2014 odpov\u011b\u010f\" je funkce ihned vyzv\u00e1na s poskytnutou u\u017eite\u010dnou z\u00e1t\u011b\u017e\u00ed, po \u010dem\u017e se vr\u00e1t\u00ed odpov\u011b\u010f. V obou p\u0159\u00edpadech se funkce prov\u00e1d\u00ed v prost\u0159ed\u00ed Lambda, ale s r\u016fzn\u00fdmi cestami u\u017eite\u010dn\u00e9 z\u00e1t\u011b\u017ee.<\/p>\n<p><\/p>\n<p>P\u0159i vol\u00e1n\u00edch typu \u201edotaz \u2013 odpov\u011b\u010f\u201c p\u0159ich\u00e1z\u00ed z API zpracov\u00e1n\u00ed po\u017eadavk\u016f (API Caller), jako je AWS API Gateway nebo AWS SDK, payload do load balanceru a pot\u00e9 do slu\u017eby vykon\u00e1v\u00e1n\u00ed vol\u00e1n\u00ed Lambda (Invoke Service). Ta ur\u010duje vhodn\u00e9 prost\u0159ed\u00ed pro prov\u00e1d\u011bn\u00ed funkce a p\u0159ed\u00e1v\u00e1 tam payload pro dokon\u010den\u00ed vol\u00e1n\u00ed. Load balancer p\u0159ij\u00edm\u00e1 provoz s TLS ochranou p\u0159es internet. Provoz uvnit\u0159 slu\u017eby Lambda \u2013 po load balanceru \u2013 proch\u00e1z\u00ed vnit\u0159n\u00edm VPC v ur\u010dit\u00e9m regionu AWS.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Podrobn\u00e1 anal\u00fdza AWS Lambda\" src=\"\/wp-content\/uploads\/2019\/09\/57f97517597f51d83890869b8385074a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Model zpracov\u00e1n\u00ed vol\u00e1n\u00ed AWS Lambda: re\u017eim \u201edotaz \u2013 odpov\u011b\u010f\u201c<\/em><\/p>\n<p><\/p>\n<p>Ud\u00e1lostn\u00ed vol\u00e1n\u00ed mohou b\u00fdt prov\u00e1d\u011bna okam\u017eit\u011b nebo p\u0159id\u00e1v\u00e1na do fronty. V n\u011bkter\u00fdch p\u0159\u00edpadech je fronta implementov\u00e1na pomoc\u00ed slu\u017eby Amazon SQS (Amazon Simple Queue Service), kter\u00e1 p\u0159ed\u00e1v\u00e1 vol\u00e1n\u00ed do slu\u017eby vykon\u00e1v\u00e1n\u00ed vol\u00e1n\u00ed Lambda pomoc\u00ed vnit\u0159n\u00edho procesoru (poller). P\u0159ed\u00e1van\u00fd provoz je chr\u00e1n\u011bn TLS, p\u0159i\u010dem\u017e \u017e\u00e1dn\u00e9 dal\u0161\u00ed \u0161ifrov\u00e1n\u00ed dat ulo\u017een\u00fdch v Amazon SQS nen\u00ed zaji\u0161t\u011bno. <\/p>\n<p><\/p>\n<p>Ud\u00e1lostn\u00ed vol\u00e1n\u00ed nevracej\u00ed odpov\u011bdi \u2013 jak\u00e9koli odpov\u011bdn\u00ed informace Lambda Worker prost\u011b ignoruje. Vol\u00e1n\u00ed na z\u00e1klad\u011b ud\u00e1lost\u00ed z Amazon S3, Amazon SNS, CloudWatch a dal\u0161\u00edch zdroj\u016f zpracov\u00e1v\u00e1 slu\u017eba Lambda v re\u017eimu ud\u00e1lost\u00ed. Vol\u00e1n\u00ed z proud\u016f Amazon Kinesis a DynamoDB, vol\u00e1n\u00ed front SQS, load balanceru aplikac\u00ed a API Gateway se zpracov\u00e1vaj\u00ed v re\u017eimu \u201edotaz \u2013 odpov\u011b\u010f\u201c.<\/p>\n<p><\/p>\n<h3 id=\"monitoring\">Monitoring<\/h3>\n<p><\/p>\n<p>Funkce Lambda m\u016f\u017eete monitorovat a auditovat pomoc\u00ed r\u016fzn\u00fdch mechanism\u016f a slu\u017eeb AWS, v\u010detn\u011b n\u00e1sleduj\u00edc\u00edch.<\/p>\n<p><\/p>\n<p><strong>Amazon CloudWatch<\/strong><br \/>\nShroma\u017e\u010fuje r\u016fzn\u00e9 statistick\u00e9 \u00fadaje, jako je po\u010det po\u017eadavk\u016f, doba trv\u00e1n\u00ed prov\u00e1d\u011bn\u00ed po\u017eadavk\u016f a po\u010det po\u017eadavk\u016f, kter\u00e9 skon\u010dily chybou.<\/p>\n<p><\/p>\n<p><strong>Amazon CloudTrail<\/strong><br \/>\nUmo\u017e\u0148uje veden\u00ed protokol\u016f, nep\u0159etr\u017eit\u00e9 monitorov\u00e1n\u00ed a uchov\u00e1v\u00e1n\u00ed informac\u00ed o aktivit\u00e1ch ve va\u0161em \u00fa\u010dtu, kter\u00e9 souvis\u00ed s va\u0161\u00ed infrastrukturou AWS. Budete m\u00edt kompletn\u00ed chronologii akc\u00ed proveden\u00fdch prost\u0159ednictv\u00edm konsoly AWS Management Console, AWS SDK, n\u00e1stroj\u016f p\u0159\u00edkazov\u00e9ho \u0159\u00e1dku a dal\u0161\u00edch slu\u017eeb AWS.<\/p>\n<p><\/p>\n<p><strong>AWS X-Ray<\/strong><br \/>\nZaji\u0161\u0165uje \u00faplnou viditelnost v\u0161ech f\u00e1z\u00ed zpracov\u00e1n\u00ed po\u017eadavk\u016f ve va\u0161\u00ed aplikaci na z\u00e1klad\u011b mapy jej\u00edch vnit\u0159n\u00edch komponent\u016f. Umo\u017e\u0148uje analyzovat aplikace b\u011bhem v\u00fdvoje a v produk\u010dn\u00edm prost\u0159ed\u00ed.<\/p>\n<p><\/p>\n<p><strong>AWS Config<\/strong><br \/>\nBudete moci sledovat zm\u011bny v konfiguraci funkc\u00ed Lambda (v\u010detn\u011b jejich odstran\u011bn\u00ed) a runtime, tag\u016f, n\u00e1zv\u016f zpracovatel\u016f, velikosti k\u00f3du, p\u0159id\u011blov\u00e1n\u00ed pam\u011bti, nastaven\u00ed \u010dasov\u00e9ho limitu a parametr\u016f paralelismu, stejn\u011b jako role prov\u00e1d\u011bn\u00ed Lambda IAM, pods\u00edt\u011b a p\u0159i\u0159azen\u00ed bezpe\u010dnostn\u00edch skupin.<\/p>\n<p><\/p>\n<h3 id=\"zaklyuchenie\">Z\u00e1v\u011br<\/h3>\n<p><\/p>\n<p>AWS Lambda nab\u00edz\u00ed siln\u00fd soubor n\u00e1stroj\u016f pro vytv\u00e1\u0159en\u00ed bezpe\u010dn\u00fdch a \u0161k\u00e1lovateln\u00fdch aplikac\u00ed. Mnoho metod zabezpe\u010den\u00ed a ochrany shody v AWS Lambda se neli\u0161\u00ed od t\u011bch pou\u017e\u00edvan\u00fdch v ostatn\u00edch slu\u017eb\u00e1ch AWS, i kdy\u017e existuj\u00ed v\u00fdjimky. K b\u0159eznu 2019 Lambda spl\u0148uje po\u017eadavky SOC 1, SOC 2, SOC 3, PCI DSS, z\u00e1kona USA o kontinuit\u011b a odpov\u011bdnosti v oblasti zdravotn\u00edho poji\u0161t\u011bn\u00ed (HIPAA) a dal\u0161\u00edch regulac\u00ed. Proto, kdy\u017e zva\u017eujete implementaci dal\u0161\u00ed aplikace, zva\u017ete slu\u017ebu AWS Lambda \u2013 mo\u017en\u00e1 je ide\u00e1ln\u00ed pro va\u0161i \u00falohu.<\/p>\n<p>Zdroj: <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.3 - 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\/cs\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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\/cs\/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\udd47Podrobn\u00e1 anal\u00fdza AWS Lambda | ProHoster","description":"P\u0159eklad \u010dl\u00e1nku byl p\u0159ipraven speci\u00e1ln\u011b pro studenty kurzu \u201eCloudov\u00e9 slu\u017eby\u201c. Zaj\u00edm\u00e1 v\u00e1s rozvoj v t\u00e9to oblasti?","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/detalnyj-razbor-aws-lambda","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","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\/cs\/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\/cs\/wp-json\/wp\/v2\/posts\/37937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=37937"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/37937\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/28468"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=37937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=37937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=37937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}