{"id":87393,"date":"2020-07-08T01:42:02","date_gmt":"2020-07-07T23:42:02","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws"},"modified":"2020-07-08T01:42:02","modified_gmt":"2020-07-07T23:42:02","slug":"sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws","title":{"rendered":"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje t\u00eb gjith\u00eb! Un\u00eb quhem Kirill, dhe jam CTO n\u00eb Adapty. Pjesa m\u00eb e madhe e arkitektur\u00ebs son\u00eb \u00ebsht\u00eb n\u00eb AWS, dhe sot do t\u00eb flas\u00eb mbi at\u00eb se si e kemi reduktuar shpenzimet p\u00ebr server\u00ebt n\u00eb 3 her\u00eb duke p\u00ebrdorur instanca spot n\u00eb ambientin prodhues, si dhe si t'i konfiguroshim ato p\u00ebr automatik\u00ebn e shkall\u00ebzimit. Fillimisht do t\u00eb jap nj\u00eb p\u00ebrmbledhje sesi funksionon, pastaj nj\u00eb udh\u00ebzim t\u00eb detajuar p\u00ebr fillimin.<\/p>\n<p><\/p>\n<h2 id=\"chto-takoe-spotovye-instansy\">\u00c7far\u00eb jan\u00eb instancat spot?<\/h2>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/ec2\/spot\/\">Instancat spot<\/a><\/noindex> Instancat jan\u00eb server\u00eb t\u00eb p\u00ebrdoruesve t\u00eb tjer\u00eb AWS, t\u00eb cil\u00ebt n\u00eb k\u00ebt\u00eb moment nuk jan\u00eb n\u00eb p\u00ebrdorim, dhe ata i shesin ato me nj\u00eb zbritje t\u00eb madhe (Amazon thot\u00eb deri n\u00eb 90%, sipas p\u00ebrvoj\u00ebs son\u00eb rreth 3x, variaton n\u00eb var\u00ebsi t\u00eb rajonit, AZ dhe tipit t\u00eb instanc\u00ebs). Dallimi kryesor i tyre nga t\u00eb zakonshmit \u00ebsht\u00eb se ata mund t\u00eb fik\u00ebn n\u00eb \u00e7do moment. Prandaj, p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb menduam se ishte e pranueshme t'i p\u00ebrdornim p\u00ebr mjedise zhvillimi, ose p\u00ebr detyra q\u00eb llogaritnin di\u00e7ka, duke ruajtur rezultatet nd\u00ebrmjet\u00ebse n\u00eb S3 ose n\u00eb baz\u00eb, por jo p\u00ebr prodhim. Ekzistojn\u00eb zgjidhje t\u00eb jashtme q\u00eb lejojn\u00eb p\u00ebrdorimin e spot\u00ebve n\u00eb prodhim, por p\u00ebr rastin ton\u00eb ka shum\u00eb zgjidhje t\u00eb thjeshta, prandaj nuk i kemi zbatuar ato. Qasja e p\u00ebrshkruar n\u00eb artikull funksionon plot\u00ebsisht brenda funksionalitetit standard t\u00eb AWS, pa skripta, krone dhe k\u00ebshtu me radh\u00eb.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>M\u00eb posht\u00eb do t\u00eb jap disa screenshot-e, t\u00eb cilat tregojn\u00eb historikun e \u00e7mimeve p\u00ebr instancat spot\u00eb.<\/p>\n<p><\/p>\n<p>m5.large n\u00eb rajonin eu-west-1 (Irlanda). \u00c7mimi \u00ebsht\u00eb kryesisht stabil gjat\u00eb 3 muajve, aktualisht kursimi \u00ebsht\u00eb 2.9x.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/901a259955c386493557280489f582fe.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>m5.large n\u00eb rajonin us-east-1 (N. Virginia). \u00c7mimi ndryshon vazhdimisht p\u00ebr nj\u00eb periudh\u00eb prej 3 muajsh, aktualisht kursimi \u00ebsht\u00eb nga 2.3x deri n\u00eb 2.8x n\u00eb var\u00ebsi t\u00eb zon\u00ebs s\u00eb aksesueshm\u00ebris\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/49c89430f03b2c7025355562d2873b6b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>t3.small n\u00eb rajonin us-east-1 (N. Virginia). \u00c7mimi \u00ebsht\u00eb stabil p\u00ebr nj\u00eb periudh\u00eb prej 3 muajsh, aktualisht kursimi \u00ebsht\u00eb 3.4x.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/2e139dcc6d44bd37caf9d75eb6ec4835.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"arhitektura-servisa\">Arkitektura e sh\u00ebrbimit<\/h2>\n<p><\/p>\n<p>Arkitektura baz\u00eb e sh\u00ebrbimit p\u00ebr t\u00eb cilin do t\u00eb flasim n\u00eb k\u00ebt\u00eb artikull \u00ebsht\u00eb ilustruar n\u00eb diagramin m\u00eb posht\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/d89bd595675400861360670adaacaf03.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"application-load-balancer--ec2-target-group--elastic-container-service\">Application Load Balancer \u2192 Grupi i Objektivave EC2 \u2192 Sh\u00ebrbimi Elastic Container<\/h3>\n<p><\/p>\n<p>Si balancues p\u00ebrdoret Application Load Balancer (ALB), i cili d\u00ebrgon k\u00ebrkesat n\u00eb Grupin e Objektivave EC2 (TG). TG \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr hapjen e porteve n\u00eb instancat p\u00ebr ALB dhe p\u00ebr t'i lidhur ato me portet e kontenjereve t\u00eb Sh\u00ebrbimit Elastic Container (ECS). ECS \u00ebsht\u00eb nj\u00eb ekuivalent i Kubernetes n\u00eb AWS, q\u00eb menaxhon kontenjer\u00ebt Docker.<\/p>\n<p><\/p>\n<p>N\u00eb nj\u00eb instanc\u00eb mund t\u00eb ket\u00eb disa kontejner\u00eb aktiv me porte t\u00eb nj\u00ebjta, prandaj nuk mund t'i caktom\u00eb ato n\u00eb m\u00ebnyr\u00eb t\u00eb ngurt\u00eb. ECS informon TG se po nis nj\u00eb detyr\u00eb t\u00eb re (n\u00eb terminologjin\u00eb Kubernetes kjo quhet pod), ajo b\u00ebn nj\u00eb verifikim t\u00eb porteve t\u00eb lira n\u00eb instanc\u00eb dhe cakton nj\u00ebr\u00ebn prej tyre p\u00ebr detyr\u00ebn q\u00eb po niset. Po ashtu, TG kontrollon n\u00eb m\u00ebnyr\u00eb t\u00eb rregullt n\u00ebse instanca dhe API-ja n\u00eb t\u00eb funksionojn\u00eb p\u00ebrmes kontrollit t\u00eb sh\u00ebndetit, dhe n\u00ebse sheh ndonj\u00eb problem, ndalon d\u00ebrgimin e k\u00ebrkesave atje.<\/p>\n<p><\/p>\n<h3 id=\"ec2-auto-scaling-groups--ecs-capacity-providers\">EC2 Auto Scaling Groups + ECS Capacity Providers<\/h3>\n<p><\/p>\n<p>N\u00eb diagramin e m\u00ebsip\u00ebrm nuk \u00ebsht\u00eb treguar sh\u00ebrbimi EC2 Auto Scaling Groups (ASG). Nga emri mund t\u00eb kuptohet se ai p\u00ebrgjigjet p\u00ebr shkall\u00ebzimin e instancave. Megjithat\u00eb, deri n\u00eb koh\u00ebt e fundit n\u00eb AWS nuk kishte mund\u00ebsi t\u00eb integruar p\u00ebr t\u00eb menaxhuar numrin e makinave t\u00eb l\u00ebna aktiv nga ECS. ECS lejonte shkall\u00ebzimin e numrit t\u00eb detyrave, p\u00ebr shembull, sipas p\u00ebrdorimit t\u00eb CPU, RAM ose numrit t\u00eb k\u00ebrkesave. Por, n\u00ebse detyrat zinin t\u00eb gjitha instancat e lira, makina t\u00eb reja nuk ngriheshin automatikisht.<\/p>\n<p><\/p>\n<p>Kjo ka ndryshuar me shfaqjen e ECS Capacity Providers (ECS CP). Tani \u00e7do sh\u00ebrbim n\u00eb ECS mund t\u00eb lidhet me ASG, dhe n\u00ebse detyrat nuk p\u00ebrputhen n\u00eb instancat aktive, do t\u00eb ngrihen t\u00eb reja (por brenda kufijve t\u00eb vendosur t\u00eb ASG). Kjo funksionon edhe n\u00eb an\u00ebn tjet\u00ebr, n\u00ebse ECS CP sheh instanca t\u00eb pap\u00ebrdorura pa detyra, ai do t\u00eb jap\u00eb urdh\u00ebr ASG q\u00eb t'i \u00e7aktivizoj\u00eb ato. ECS CP ka mund\u00ebsin\u00eb t\u00eb specifikoj\u00eb p\u00ebrqindjen e targetuar t\u00eb ngarkes\u00ebs s\u00eb instancave, n\u00eb m\u00ebnyr\u00eb q\u00eb nj\u00eb num\u00ebr makinash t\u00eb jet\u00eb gjithmon\u00eb i lir\u00eb p\u00ebr shkall\u00ebzim t\u00eb shpejt\u00eb t\u00eb detyrave, p\u00ebr k\u00ebt\u00eb do t\u00eb flas m\u00eb von\u00eb.<\/p>\n<p><\/p>\n<h3 id=\"ec2-launch-templates\">EC2 Launch Templates<\/h3>\n<p><\/p>\n<p>Sh\u00ebrbimi i fundit p\u00ebr t\u00eb cilin do t\u00eb flas para se t\u00eb kaloj n\u00eb p\u00ebrshkrimin e holl\u00ebsish\u00ebm t\u00eb krijimit t\u00eb k\u00ebsaj infrastrukture \u00ebsht\u00eb EC2 Launch Templates. Ai lejon krijimin e nj\u00eb shablloje sipas s\u00eb cil\u00ebs do t\u00eb nisen t\u00eb gjitha makinave, p\u00ebr t\u00eb mos e p\u00ebrs\u00ebritur k\u00ebt\u00eb \u00e7do her\u00eb nga e para. K\u00ebtu mund t\u00eb zgjidhni tipin e makin\u00ebs q\u00eb do t\u00eb nisni, grupin e siguris\u00eb, imazhin e diskut dhe shum\u00eb parametrave t\u00eb tjer\u00eb. Po ashtu, mund t\u00eb specifiedi t\u00eb dh\u00ebna personalizimi q\u00eb do t\u00eb ngarkohen n\u00eb t\u00eb gjitha instancat e nisura. N\u00eb t\u00eb dh\u00ebnat personale mund t\u00eb realizoni skenar\u00eb, p\u00ebr shembull, mund t\u00eb redaktoni p\u00ebrmbajtjen e nj\u00eb skedari. <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/ecs-agent-config.html\">konfiguracionet ECS t\u00eb agjentit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Nj\u00eb nga parametrat m\u00eb t\u00eb r\u00ebnd\u00ebsish\u00ebm t\u00eb konfiguracionit n\u00eb k\u00ebt\u00eb artikull \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/container-instance-spot.html\">ECS_ENABLE_SPOT_INSTANCE_DRAINING<\/a><\/noindex>=true. N\u00ebse ky parametr \u00ebsht\u00eb aktivizuar, sa her\u00eb q\u00eb ECS merr nj\u00eb sinjal se nj\u00eb instanc\u00eb spot po merret mbrapsht, ai i kalon t\u00eb gjitha detyrat q\u00eb punojn\u00eb mbi t\u00eb n\u00eb statusin Drejtuar. Asnj\u00eb detyr\u00eb e re nuk do t\u00eb caktohet p\u00ebr k\u00ebt\u00eb instanc\u00eb; n\u00ebse ka detyra q\u00eb d\u00ebshirojn\u00eb t\u00eb nxirren, ato do t\u00eb anulohen. K\u00ebrkesat nga balansuesi gjithashtu do t\u00eb ndalen. Njoftimi p\u00ebr heqjen e instanc\u00ebs vjen 2 minuta p\u00ebrpara ngjarjes reale. Prandaj, n\u00ebse sh\u00ebrbimi juaj nuk ekzekuton detyra m\u00eb shum\u00eb se 2 minuta dhe nuk ruan asgj\u00eb n\u00eb disk, mund t\u00eb p\u00ebrdorni instancat spot pa humbje t\u00eb t\u00eb dh\u00ebnave.<\/p>\n<p><\/p>\n<p>N\u00eb lidhje me diskun - AWS s\u00eb fundmi <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/about-aws\/whats-new\/2020\/04\/amazon-ecs-aws-fargate-support-amazon-efs-filesystems-generally-available\/#:~:text=To%20use%20EFS%20with%20ECS,or%20TLS%20encryption%20in%20transit.\">b\u00ebri<\/a><\/noindex> \u00ebsht\u00eb e mundur p\u00ebrdorimi i Elastic File System (EFS) n\u00eb bashk\u00ebpunim me ECS, me k\u00ebt\u00eb skem\u00eb as disku nuk \u00ebsht\u00eb nj\u00eb penges\u00eb, por ne nuk e kemi provuar at\u00eb, pasi n\u00eb parim nuk na nevojitet disku p\u00ebr ruajtjen e gjendjes. N\u00eb parim, pas marrjes s\u00eb SIGINT (d\u00ebrgohet n\u00eb momentin e kalimit t\u00eb detyr\u00ebs n\u00eb statusin Draining) t\u00eb gjitha detyrat q\u00eb punojn\u00eb do t\u00eb ndalen brenda 30 sekondash, edhe n\u00ebse nuk kan\u00eb arritur t\u00eb p\u00ebrfundojn\u00eb, ky koh\u00eb mund t\u00eb modifikohet me parametrin <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/ecs-agent-config.html\">ECS_CONTAINER_STOP_TIMEOUT<\/a><\/noindex>. Gj\u00ebja kryesore \u00ebsht\u00eb t\u00eb mos e vendosni m\u00eb shum\u00eb se 2 minuta p\u00ebr makinat spot.<\/p>\n<p><\/p>\n<h2 id=\"sozdanie-servisa\">Krijimi i sh\u00ebrbimit<\/h2>\n<p><\/p>\n<p>Kalojm\u00eb drejtp\u00ebrdrejt n\u00eb krijimin e sh\u00ebrbimit t\u00eb p\u00ebrshkruar. Gjat\u00eb procesit, do t\u00eb p\u00ebrshkruaj disa pika t\u00eb dobishme, t\u00eb cilat nuk u p\u00ebrmend\u00ebn m\u00eb par\u00eb. N\u00eb p\u00ebrgjith\u00ebsi, kjo \u00ebsht\u00eb nj\u00eb udh\u00ebzues hap pas hapi, por nuk do t\u00eb trajtoj asnj\u00eb rast t\u00eb thjesht\u00eb ose anasjelltas shum\u00eb specifik. T\u00eb gjitha veprimet kryhen n\u00eb konsol\u00ebn vizuale t\u00eb AWS, por ato mund t\u00eb riprodhohen programatisht me ndihm\u00ebn e CloudFormation ose Terraform. N\u00eb Adapty ne p\u00ebrdorim Terraform.<\/p>\n<p><\/p>\n<h3 id=\"ec2-launch-template\"><strong>EC2 Launch Template<\/strong><\/h3>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb sh\u00ebrbim krijohet nj\u00eb konfigurim i makinave q\u00eb do t\u00eb p\u00ebrdoren. Menaxhimi i shablloneve ndodh n\u00eb seksionin EC2 -&gt; Instances -&gt; Launch templates.<\/p>\n<p><\/p>\n<p><strong>imazhi i makin\u00ebs Amazon (AMI)<\/strong> \u2014 specifiko diskun e imazhit, me t\u00eb cilin do t\u00eb nisin t\u00eb gjitha instancat. P\u00ebr ECS, n\u00eb shumic\u00ebn e rasteve, \u00ebsht\u00eb e rekomanduar t\u00eb p\u00ebrdorni imazhin e optimizuar nga Amazon. Ai p\u00ebrdit\u00ebsohet rregullisht dhe p\u00ebrmban gjith\u00e7ka t\u00eb nevojshme p\u00ebr funksionimin e ECS. P\u00ebr t\u00eb zbuluar ID-n\u00eb aktuale t\u00eb imazhit, vizitoni faqen <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/ecs-optimized_AMI.html\">Amazon ECS-optimized AMIs<\/a><\/noindex>, zgjidhni rajonin e p\u00ebrdorur dhe kopjoni AMI ID-n\u00eb p\u00ebr t\u00eb. P\u00ebr shembull, p\u00ebr rajonin us-east-1, ID aktuale n\u00eb momentin e shkruar \u00ebsht\u00eb <em>ami-00c7c1cf5bdc913ed<\/em>. Kjo ID duhet t\u00eb vendoset n\u00eb pik\u00ebn Specify a custom value.<\/p>\n<p><\/p>\n<p><strong>Lloji i instanc\u00ebs<\/strong> \u2014 specifikoni llojin e instanc\u00ebs. Zgjidhni at\u00eb q\u00eb p\u00ebrshtatet m\u00eb mir\u00eb p\u00ebr detyr\u00ebn tuaj.<\/p>\n<p><\/p>\n<p><strong>\u00c7ifti i \u00e7el\u00ebsave (login)<\/strong> \u2014 specifikoni sertifikatin, me t\u00eb cilin mund t\u00eb lidheni me instanc\u00ebn p\u00ebrmes SSH, n\u00ebse \u00ebsht\u00eb e nevojshme.<\/p>\n<p><\/p>\n<p><strong>Cil\u00ebsimet e rrjetit<\/strong> \u2014 specifikoni parametrat e rrjetit. <strong>Platforma e rrjetit<\/strong> n\u00eb shumic\u00ebn e rasteve duhet t\u00eb jet\u00eb Virtual Private Cloud (VPC). <strong>Grupet e siguris\u00eb<\/strong> \u2014 grupe sigurie p\u00ebr instancat tuaja. Duke qen\u00eb se do t\u00eb p\u00ebrdorim nj\u00eb balancues para instancave, rekomandoj t\u00eb specifikoni k\u00ebtu nj\u00eb grup, i cili lejon lidhjet hyr\u00ebse vet\u00ebm nga balancuesi. Pra, do t\u00eb keni 2 grupe sigurie, nj\u00eb p\u00ebr balancuesin, i cili lejon lidhjet hyr\u00ebse nga t\u00eb gjitha dret\u00eb porteve 80 (http) dhe 443 (https), dhe tjetra p\u00ebr makinat, e cila lejon lidhjet hyr\u00ebse nga grupi i balancuesit n\u00eb \u00e7far\u00ebdo porti. Lidhjet dal\u00ebse n\u00eb t\u00eb dy grupet duhet t\u00eb jen\u00eb t\u00eb hapura me protokollin TCP n\u00eb t\u00eb gjitha portet p\u00ebr t\u00eb gjitha adresat. Mund t\u00eb kufizoni portet dhe adresat p\u00ebr lidhjet dal\u00ebse, por at\u00ebher\u00eb duhet t\u00eb monitoroni vazhdimisht q\u00eb t\u00eb mos p\u00ebrpiqeni t\u00eb lidhni diku me ndonj\u00eb port t\u00eb mbyllur.<\/p>\n<p><\/p>\n<p><strong>Storage (volumes)<\/strong> \u2014 specifikojm\u00eb parametrat e disqeve p\u00ebr makinat. Kapaciteti i diskut nuk mund t\u00eb jet\u00eb m\u00eb i vog\u00ebl se ai q\u00eb \u00ebsht\u00eb caktuar n\u00eb AMI, p\u00ebr ECS Optimized \u2014 30 GiB.<\/p>\n<p><\/p>\n<p><strong>Detaje t\u00eb avancuara<\/strong> \u2014 specifikojm\u00eb parametra t\u00eb tjera.<\/p>\n<p><\/p>\n<p><strong>Mund\u00ebsi blerjeje<\/strong> \u2014 a d\u00ebshirojm\u00eb t\u00eb blejm\u00eb instanca spot. Ne duam, por k\u00ebtu nuk do ta sh\u00ebnojm\u00eb k\u00ebt\u00eb, do ta konfigurojm\u00eb n\u00eb Grupi i Shkall\u00ebzimit Automatik, aty ka m\u00eb shum\u00eb mund\u00ebsi.<\/p>\n<p><\/p>\n<p><strong>Profilin IAM t\u00eb instanc\u00ebs<\/strong> \u2014 p\u00ebrcaktojm\u00eb rolin me t\u00eb cil\u00ebn do t\u00eb komandohen instancat. P\u00ebr t\u00eb funksionuar instancat n\u00eb ECS, ata kan\u00eb nevoj\u00eb p\u00ebr t\u00eb drejta, t\u00eb cilat zakonisht ndodhen n\u00eb rol <em>ecsInstanceRole<\/em>. N\u00eb disa raste, mund t\u00eb krijohet, n\u00ebse s'ka, at\u00ebher\u00eb k\u00ebtu <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/instance_IAM_role.html\">udh\u00ebzimi<\/a><\/noindex> p\u00ebr t\u00eb b\u00ebr\u00eb k\u00ebt\u00eb. Pas krijimit, e p\u00ebrcaktojm\u00eb at\u00eb n\u00eb model.<br \/>\nPastaj vijn\u00eb shum\u00eb parametra, kryesisht mund t\u00eb lihen vlerat padr\u00e3o, por \u00e7do nj\u00eb prej tyre ka p\u00ebrshkrim t\u00eb qart\u00eb. Un\u00eb gjithmon\u00eb p\u00ebrfshij parametrat EBS-optimized instance dhe T2\/T3 Unlimited, n\u00ebse p\u00ebrdoren <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/burstable-performance-instances.html\">burstable<\/a><\/noindex> instancat.<\/p>\n<p><\/p>\n<p><strong>T\u00eb dh\u00ebnat e p\u00ebrdoruesit<\/strong> \u2014 p\u00ebrcaktojm\u00eb t\u00eb dh\u00ebnat e p\u00ebrdoruesit. Ne do t\u00eb redaktojm\u00eb skedarin <code>\/etc\/ecs\/ecs.config<\/code>, n\u00eb t\u00eb cilin ndodhet konfigurimi i agjentit ECS.<br \/>\nShembulli i asaj se si mund t\u00eb duken t\u00eb dh\u00ebnat e p\u00ebrdoruesit:<\/p>\n<p><\/p>\n<pre><code class=\"bash\">#!\/bin\/bash\necho ECS_CLUSTER=DemoApiClusterProd &gt;&gt; \/etc\/ecs\/ecs.config\necho ECS_ENABLE_SPOT_INSTANCE_DRAINING=true &gt;&gt; \/etc\/ecs\/ecs.config\necho ECS_CONTAINER_STOP_TIMEOUT=1m &gt;&gt; \/etc\/ecs\/ecs.config\necho ECS_ENGINE_AUTH_TYPE=docker &gt;&gt; \/etc\/ecs\/ecs.config\necho &quot;ECS_ENGINE_AUTH_DATA={&quot;registry.gitlab.com&quot;:{&quot;username&quot;:&quot;username&quot;,&quot;password&quot;:&quot;password&quot;}}&quot; &gt;&gt; \/etc\/ecs\/ecs.config<\/code><\/pre>\n<p><\/p>\n<p><code>ECS_CLUSTER=DemoApiClusterProd<\/code> \u2014 parametri tregon se instanca i p\u00ebrket nj\u00eb klasteri me emrin e dh\u00ebn\u00eb, q\u00eb do t\u00eb thot\u00eb se ky klaster do t\u00eb mund t\u00eb vendos\u00eb detyrat e tij n\u00eb k\u00ebt\u00eb server. Ne akoma nuk e kemi krijuar klasterin, por gjat\u00eb krijimit do t\u00eb p\u00ebrdorim k\u00ebt\u00eb em\u00ebr.<\/p>\n<p><\/p>\n<p><code>ECS_ENABLE_SPOT_INSTANCE_DRAINING=true<\/code> \u2014 parametri tregon se kur merr sinjal p\u00ebr nd\u00ebrprerjen e instanc\u00ebs s\u00eb pikave, t\u00eb gjitha detyrat n\u00eb t\u00eb duhet t\u00eb transferohen n\u00eb statusin Draining.<\/p>\n<p><\/p>\n<p><code>ECS_CONTAINER_STOP_TIMEOUT=1m<\/code> \u2014 Parametri tregon se pas marrjes s\u00eb sinjalit SIGINT, t\u00eb gjitha detyrat kan\u00eb 1 minut\u00eb, para se t\u00eb vriten.<\/p>\n<p><\/p>\n<p><code>ECS_ENGINE_AUTH_TYPE=docker<\/code> \u2014 Parametri tregon se si mekaniz\u00ebm autentifikimi p\u00ebrdoret skema docker.<\/p>\n<p><\/p>\n<p><code>ECS_ENGINE_AUTH_DATA=...<\/code> \u2014 Parametrat e lidhjes me regjistrin privat t\u00eb kontejner\u00ebve, ku ruhen imazhet tuaja Docker. N\u00ebse \u00ebsht\u00eb publik, at\u00ebher\u00eb nuk ka nevoj\u00eb t\u00eb tregoni gj\u00eb.<\/p>\n<p><\/p>\n<p>N\u00eb k\u00ebt\u00eb artikull, do t\u00eb p\u00ebrdor nj\u00eb imazh publik nga Docker Hub, prandaj nuk ka nevoj\u00eb t\u00eb tregoj parametrat <code>ECS_ENGINE_AUTH_TYPE<\/code> dhe <code>ECS_ENGINE_AUTH_DATA<\/code> nuk \u00ebsht\u00eb e nevojshme.<\/p>\n<p><\/p>\n<p><strong>E dobishme t\u00eb dihet<\/strong>: rekomandohet q\u00eb t\u00eb p\u00ebrdit\u00ebsoni rregullisht AMI, sepse n\u00eb versionet e reja p\u00ebrdit\u00ebsohen versionet e Docker, Linux, agjentit ECS etj. P\u00ebr t\u00eb mos e harruar k\u00ebt\u00eb, mund <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/ECS-AMI-SubscribeTopic.html\">t\u00eb konfiguroni njoftimet<\/a><\/noindex> p\u00ebr daljen e versioneve t\u00eb reja. Ju mund t\u00eb merrni njoftime n\u00eb email dhe t'i p\u00ebrdit\u00ebsoni manualisht, ose mund t\u00eb shkruani nj\u00eb funksion Lambda, i cili automatikisht do t\u00eb krijoj\u00eb nj\u00eb version t\u00eb ri t\u00eb Shabllonit t\u00eb Nisjes me AMI t\u00eb p\u00ebrdit\u00ebsuar.<\/p>\n<p><\/p>\n<h3 id=\"ec2-auto-scaling-group\"><strong>Grupi i Auto Scaling t\u00eb EC2<\/strong><\/h3>\n<p><\/p>\n<p>Grupi i Auto Scaling \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr nisjen dhe shkall\u00ebzimin e instancave. Menaxhimi i grupeve b\u00ebhet n\u00eb seksionin EC2 -&gt; Auto Scaling -&gt; Grupi i Auto Scaling.<\/p>\n<p><\/p>\n<p><strong>Shablloni i nisjes<\/strong> \u2014 zgjidhni shabllonin e krijuar n\u00eb hapin e m\u00ebparsh\u00ebm. Lini versionin n\u00eb parazgjedhje.<\/p>\n<p><\/p>\n<p><strong>Opsionet e blerjes dhe llojet e instancave<\/strong> \u2014 specifikohet lloji i instancave p\u00ebr klas\u00ebn. Adhere to launch template p\u00ebrdor llojin e instanc\u00ebs nga Launch Template. Combine purchase options and instance types lejon t\u00eb konfigurosh fleksib\u00ebl llojet e instancave. Ne do ta p\u00ebrdorim at\u00eb.<\/p>\n<p><\/p>\n<p><strong>Baza opcional On-Demand<\/strong> \u2014 numri i instancave normale, jo spoto, q\u00eb do t\u00eb punojn\u00eb gjithmon\u00eb.<\/p>\n<p><\/p>\n<p><strong>P\u00ebrqindja On-Demand mbi baz\u00ebn<\/strong> \u2014 p\u00ebrqindja midis instancave normale dhe atyre spoto, 50-50 do t\u00eb ndaj\u00eb baraz. 20-80 do t\u00eb n\u00ebnkuptoj\u00eb se p\u00ebr \u00e7do instanc\u00eb normale do t\u00eb ngrihen 4 instanca spoto. N\u00eb k\u00ebt\u00eb rast, do t\u00eb tregoj 50-50, por n\u00eb t\u00eb v\u00ebrtet\u00eb shpesh b\u00ebjm\u00eb 20-80, n\u00eb disa raste 0-100.<\/p>\n<p><\/p>\n<p><strong>Llojet e instancave<\/strong> \u2014 k\u00ebtu mund t\u00eb specifikoni lloje t\u00eb tjera instancash q\u00eb do t\u00eb p\u00ebrdoren n\u00eb klas\u00ebn. Ne kurr\u00eb nuk kemi p\u00ebrdorur, sepse nuk e kuptoj shum\u00eb kuptimin e k\u00ebsaj historie. Ndoshta \u00ebsht\u00eb \u00e7\u00ebshtje e kufijve p\u00ebr lloje t\u00eb caktuara instancash, por ato rriten leht\u00ebsisht p\u00ebrmes mb\u00ebshtetjes. N\u00ebse e dini aplikimin, do t\u00eb isha i lumtur t\u00eb lexoj n\u00eb komente)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/c1ee742d2059674f39a53cac6b9f2347.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Rrjeti\n   regjistro log \/dev\/log local0\n   regjistro log \/dev\/log local1 notice\n   chroot \/var\/lib\/haproxy\n   stats timeout 30s\n   p\u00ebrdorues haproxy\n   grup haproxy\n   daemon\n\ndefaults\n   log global\n   mode http\n   opsion httplog\n   opsion dontlognull\n   timeout connect 5000\n   timeout client 50000\n   timeout server 50000\n\nfrontend http_front\n   bind *:80\n   stats uri \/haproxy?stats\n   default_backend http_back\n\nbackend http_back\n   balance roundrobin\n   server server_name1 private_ip1:80 check\n   server server_name2 private_ip2:80 check<\/strong> \u2014 konfigurimet e rrjetit, zgjidhni VPC dhe subnetet p\u00ebr makinat, n\u00eb shumic\u00ebn e rasteve \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb zgjidhni t\u00eb gjitha subnetet e disponueshme.<\/p>\n<p><\/p>\n<p><strong>Balancimi i ngarkes\u00ebs<\/strong> \u2014 konfigurimet e balancuesit, por ne do ta b\u00ebjm\u00eb at\u00eb ve\u00e7mas, k\u00ebtu nuk prekim asgj\u00eb. <strong>Kontrolli i sh\u00ebndetit<\/strong> do t\u00eb konfigurohen m\u00eb von\u00eb.<\/p>\n<p><\/p>\n<p><strong>Shuma e grupit<\/strong> \u2014 caktojm\u00eb kufijt\u00eb p\u00ebr numrin e makinave n\u00eb klas\u00ebr dhe numrin e d\u00ebshiruar t\u00eb makinave n\u00eb fillim. Numri i makinave n\u00eb klas\u00ebr nuk do t\u00eb jet\u00eb kurr\u00eb m\u00eb i vog\u00ebl se sa minimali i caktuar dhe m\u00eb i madh se maksimumi, edhe n\u00ebse sipas statistikave duhet t\u00eb ndodh\u00eb shkall\u00ebzimi.<\/p>\n<p><\/p>\n<p><strong>Politikat e shkall\u00ebzimit<\/strong> \u2014 parametrat e shkall\u00ebzimit, por ne do t\u00eb shkall\u00ebzojm\u00eb duke u bazuar n\u00eb detyrat e ECS t\u00eb cilat jan\u00eb aktive, prandaj do ta konfigurojm\u00eb shkall\u00ebzimin m\u00eb von\u00eb.<\/p>\n<p><\/p>\n<p><strong>Mbrojtja nga shkurtimi i instancave<\/strong> \u2014 mbrojtje e instancave nga fshirja gjat\u00eb shkall\u00ebzimit posht\u00eb. Aktivizohet q\u00eb ASG t\u00eb mos fshij\u00eb makin\u00ebn q\u00eb ka detyra aktive. Do t\u00eb \u00e7aktivizohet mbrojtja p\u00ebr instancat q\u00eb nuk kan\u00eb detyra, q\u00eb do t\u00eb realzohet nga ECS Capacity Provider.<\/p>\n<p><\/p>\n<p><strong>Shto etiketat<\/strong> \u2014 mund t\u00eb specifikoni etiketa p\u00ebr instancat (p\u00ebr k\u00ebt\u00eb duhet t\u00eb jet\u00eb e sh\u00ebnuar kutia Tag new instances). Rekomandoj t\u00eb specifikoni etiket\u00ebn Name, k\u00ebshtu q\u00eb t\u00eb gjitha instancat q\u00eb nxjerrin n\u00eb grup do t\u00eb ken\u00eb t\u00eb nj\u00ebjtin em\u00ebr dhe do t\u00eb jet\u00eb m\u00eb e leht\u00eb t'i shihni n\u00eb konsol\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/61fa0ccb38c11f61431db0938140efb7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pasi t\u00eb krijoni grupin, hapeni dhe shkoni n\u00eb seksionin Advanced configurations, pse gjat\u00eb procesit t\u00eb krijimit n\u00eb konsol\u00eb nuk duken t\u00eb gjitha opsionet.<\/p>\n<p><\/p>\n<p><strong>Politikat e p\u00ebrfundimit<\/strong> \u2014 rregullat q\u00eb merren parasysh gjat\u00eb fshirjes s\u00eb instancave. Ato zbatohen n\u00eb rend. Ne zakonisht p\u00ebrdorim ato si n\u00eb imazhin m\u00eb posht\u00eb. S\u00eb pari, fshihen instancat me Template-in m\u00eb t\u00eb vjet\u00ebr t\u00eb Lancimit (p\u00ebr shembull, n\u00ebse kemi p\u00ebrdit\u00ebsuar AMI-n\u00eb, \u00ebsht\u00eb krijuar nj\u00eb version i ri, por t\u00eb gjitha instancat kan\u00eb kaluar n\u00eb t\u00eb). Pastaj zgjidhen instancat q\u00eb jan\u00eb m\u00eb af\u00ebr or\u00ebs s\u00eb ardhshme t\u00eb llogaritjes sipas faturimit. Dhe m\u00eb pas zgjidhen ato m\u00eb t\u00eb vjetrat sipas dat\u00ebs s\u00eb nisjes.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/8236624fe08a03f36aedc7665e18b060.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>E dobishme t\u00eb dihet<\/strong>: p\u00ebr p\u00ebrdit\u00ebsimin e t\u00eb gjitha makinave n\u00eb klaster, \u00ebsht\u00eb e p\u00ebrshtatshme t\u00eb p\u00ebrdoret <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/autoscaling\/ec2\/userguide\/asg-instance-refresh.html\">Ritashimi i Instancave<\/a><\/noindex>. N\u00ebse e kombinojm\u00eb k\u00ebt\u00eb me nj\u00eb funksion Lambda nga hapi i m\u00ebparsh\u00ebm, do t\u00eb keni nj\u00eb sistem t\u00eb plot\u00eb p\u00ebr automatizimin e p\u00ebrdit\u00ebsimit t\u00eb instancave. Para se t\u00eb p\u00ebrdit\u00ebsoni t\u00eb gjitha makinat, \u00ebsht\u00eb e nevojshme t\u00eb \u00e7aktivizoni mbrojtjen p\u00ebr shkall\u00ebzim n\u00eb grup p\u00ebr t\u00eb gjitha instancat n\u00eb grup. Jo konfigurimin n\u00eb grup, por mbrojtjen e instancave, kjo b\u00ebhet n\u00eb \u0432\u043a\u043b\u0430\u0434\u043a\u0430 Menaxhimi i Instancave.<\/p>\n<p><\/p>\n<h3 id=\"application-load-balancer-i-ec2-target-group\">Balancuesi i Ngarkes\u00ebs Aplikative dhe Grupi i Objektivave EC2<\/h3>\n<p><\/p>\n<p>Balancuesi krijohet n\u00eb seksionin EC2 \u2192 Balancimi i Ngarkes\u00ebs \u2192 Balancuesit e Ngarkes\u00ebs. Ne do t\u00eb p\u00ebrdorim Balancuesin e Ngarkes\u00ebs Aplikative, krahasimi i llojeve t\u00eb ndryshme t\u00eb balancuesve mund t\u00eb lexohet n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/elasticloadbalancing\/features\/#compare\">faqen e sh\u00ebrbimit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>D\u00ebgjuesit<\/strong> \u2014 ka sens t\u00eb krijoni portet 80 dhe 443 dhe t\u00eb b\u00ebni nj\u00eb ridirektim nga 80 n\u00eb 443 m\u00eb pas me ndihm\u00ebn e rregullave t\u00eb balancuesit.<\/p>\n<p><\/p>\n<p><strong>Zona t\u00eb Disponibilitetit<\/strong> \u2014 n\u00eb shumic\u00ebn e rast\u00ebve zgjidhim t\u00eb gjitha zonat e disponueshm\u00ebris\u00eb.<\/p>\n<p><\/p>\n<p><strong>Konfiguro Cil\u00ebsimet e Siguris\u00eb<\/strong> \u2014 k\u00ebtu tregohet certifikata SSL p\u00ebr balancuesin, opsioni m\u00eb i p\u00ebrshtatsh\u00ebm \u00ebsht\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/acm\/latest\/userguide\/gs-acm-request-public.html\">t\u00eb krijoni certifikat\u00ebn<\/a><\/noindex> n\u00eb ACM. P\u00ebr dallimet <strong>Politika e Siguris\u00eb<\/strong> mund t\u00eb lexoni n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/elasticloadbalancing\/latest\/classic\/elb-security-policy-table.html\">dokumentacion<\/a><\/noindex>, mund t\u00eb l\u00ebni at\u00eb t\u00eb zgjedhur si parazgjedhje <code>ELBSecurityPolicy-2016-08<\/code>. Pas krijimit t\u00eb balancuesit, do t\u00eb shihni <strong>emrin DNS<\/strong>, p\u00ebr t\u00eb cilin duhet t\u00eb konfiguroni CNAME p\u00ebr domenin tuaj. P\u00ebr shembull, k\u00ebshtu duket n\u00eb Cloudflare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/899ff0f30df4117fc0ccd91af135def3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Grupi i Siguris\u00eb<\/strong> \u2014 krijojm\u00eb ose zgjedhim nj\u00eb grup sigurie p\u00ebr balancuesin, m\u00eb shum\u00eb rreth k\u00ebsaj kam shkruar pak m\u00eb sip\u00ebr n\u00eb seksionin EC2 Launch Template \u2192 Cil\u00ebsimet e rrjetit.<\/p>\n<p><\/p>\n<p><strong>Grupi i Objektivave<\/strong> \u2014 krijojm\u00eb nj\u00eb grup q\u00eb \u00ebsht\u00eb p\u00ebrgjegj\u00ebs p\u00ebr rrouterimin e k\u00ebrkesave nga balancuesi tek makinat dhe kontrollon disponueshm\u00ebrin\u00eb e tyre p\u00ebr t'u z\u00ebvend\u00ebsuar n\u00eb rast problemesh. <strong>Tipi i Objektivit<\/strong> duhet t\u00eb jet\u00eb Instance, <strong>Protokolli<\/strong> dhe <strong>Port<\/strong> \u00e7do, n\u00ebse p\u00ebrdorni HTTPS p\u00ebr komunikimin midis balancuesit dhe instancave, at\u00ebher\u00eb duhet t\u00eb ngarkoni certifikat\u00ebn tek ato. N\u00eb kuad\u00ebr t\u00eb k\u00ebtij shembulli nuk do ta b\u00ebjm\u00eb k\u00ebt\u00eb, thjesht do ta l\u00ebm\u00eb portin 80.<\/p>\n<p><\/p>\n<p><strong>Kontrolli i sh\u00ebndetit<\/strong> \u2014 parametrat e kontrollit t\u00eb funksionimit t\u00eb sh\u00ebrbimit. N\u00eb k\u00ebt\u00eb sh\u00ebrbim, kjo duhet t\u00eb jet\u00eb nj\u00eb k\u00ebrkes\u00eb e ve\u00e7ant\u00eb, e cila realizon pjes\u00ebt e r\u00ebnd\u00ebsishme t\u00eb logjik\u00ebs biznesore; p\u00ebr k\u00ebt\u00eb shembull, un\u00eb do t\u00eb l\u00eb cil\u00ebsimet si\u00e7 jan\u00eb. M\u00eb pas, mund t\u00eb zgjidhni intervalin e k\u00ebrkesave, koh\u00ebn e pritjes, kodet e p\u00ebrgjigjeve t\u00eb suksesshme dhe t\u00eb tjera. N\u00eb shembullin ton\u00eb do t\u00eb specifikojm\u00eb kodet e suksesit 200-399, sepse imazhi Docker q\u00eb do t\u00eb p\u00ebrdoret ktheu kodin 304.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/e295ab1c3bf1dfe13c76b4942a31c7ee.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Regjistro Targets<\/strong> \u2014 k\u00ebtu zgjidhen makinat p\u00ebr grupin, por n\u00eb rastin ton\u00eb, k\u00ebt\u00eb do ta b\u00ebj\u00eb ECS, prandaj thjesht kalojm\u00eb k\u00ebt\u00eb hap.<\/p>\n<p><\/p>\n<p><strong>E dobishme t\u00eb dihet<\/strong>: n\u00eb nivelin e balancuesit t\u00eb ngarkesave mund t\u00eb aktivizoni log\u00eb, t\u00eb cilat do t\u00eb ruhen n\u00eb S3 n\u00eb nj\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/elasticloadbalancing\/latest\/application\/load-balancer-access-logs.html\">format<\/a><\/noindex>. Prej aty, mund t'i eksportoni n\u00eb sh\u00ebrbime t\u00eb pal\u00ebs s\u00eb tret\u00eb p\u00ebr analitik\u00eb, ose mund t\u00eb b\u00ebni k\u00ebrkesa SQL direkt n\u00eb t\u00eb dh\u00ebnat n\u00eb S3 me <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/athena\/latest\/ug\/application-load-balancer-logs.html\">Athena<\/a><\/noindex>. Kjo \u00ebsht\u00eb e p\u00ebrshtatshme dhe funksionon pa ndonj\u00eb kod t\u00eb shtuar. Gjithashtu, rekomandoj t\u00eb konfiguroni fshirjen e log\u00ebve nga baku S3 pas kalimit t\u00eb nj\u00eb periudhe t\u00eb caktuar kohore.<\/p>\n<p><\/p>\n<h3 id=\"ecs-task-definition\">P\u00ebrcaktimi i Detyr\u00ebs ECS<\/h3>\n<p><\/p>\n<p>N\u00eb hapat e m\u00ebparsh\u00ebm, krijuam gjith\u00e7ka q\u00eb ka t\u00eb b\u00ebj\u00eb me infrastruktur\u00ebn e sh\u00ebrbimit, tani po kalojm\u00eb n\u00eb p\u00ebrshkrimin e kontejner\u00ebve q\u00eb do t\u00eb lan\u00e7ojm\u00eb. Kjo b\u00ebhet n\u00eb seksionin ECS \u2192 Definicionet e Task-eve.<\/p>\n<p><\/p>\n<p><strong>P\u00ebrshtatshm\u00ebria e llojit t\u00eb lan\u00e7imit<\/strong> \u2014 zgjidhni EC2.<\/p>\n<p><\/p>\n<p><strong>Roli IAM i ekzekutimit t\u00eb task-eve<\/strong> \u2014 zgjidhni <code>ecsTaskExecutionRole<\/code>. P\u00ebrmes saj e shkruhen log-et, jepet akses n\u00eb variablat sekret\u00eb dhe t\u00eb tjera.<\/p>\n<p><\/p>\n<p>N\u00eb seksionin Definicionet e Kontejner\u00ebve, klikoni Shto Kontejner.<\/p>\n<p><\/p>\n<p><strong>Image<\/strong> \u2014 linku n\u00eb imazhin me kodin e projektit, n\u00eb k\u00ebt\u00eb shembull do t\u00eb p\u00ebrdor nj\u00eb imazh publik nga Docker Hub <noindex><a rel=\"nofollow\" href=\"https:\/\/hub.docker.com\/r\/bitnami\/node-example\">bitnami\/node-example:0.0.1<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Kufizimet e Memories<\/strong> \u2014 kufizimet mbi memorin\u00eb p\u00ebr kontejnerin. <strong>Kufiri i Fort\u00eb<\/strong> \u2014 kufiri i fort\u00eb, n\u00ebse kontejneri kalon vler\u00ebn e specifikuar, komanda docker kill do t\u00eb ekzekutohet, kontejneri do t\u00eb vdes\u00eb menj\u00ebher\u00eb. <strong>Kufiri i But\u00eb<\/strong> \u2014 kufiri i but\u00eb, kontejneri mund t\u00eb kaloj\u00eb vler\u00ebn e specifikuar, por gjat\u00eb vendosjes s\u00eb detyrave n\u00eb makina do t\u00eb merret parasysh ky p\u00ebrllogaritje. P\u00ebr shembull, n\u00ebse n\u00eb makin\u00eb ka 4 GiB memorie t\u00eb pun\u00ebs, dhe kufiri i but\u00eb i kontejnerit \u00ebsht\u00eb 2048 MiB, at\u00ebher\u00eb maksimumi i detyrave q\u00eb mund t\u00eb funksionojn\u00eb n\u00eb k\u00ebt\u00eb makin\u00eb me k\u00ebt\u00eb kontejner \u00ebsht\u00eb 2. N\u00eb t\u00eb v\u00ebrtet\u00eb, 4 GiB memorie t\u00eb pun\u00ebs \u00ebsht\u00eb pak m\u00eb pak se 4096 MiB, mund ta shihni k\u00ebt\u00eb n\u00eb skedarin ECS Instances n\u00eb klastrin. Kufiri i but\u00eb nuk mund t\u00eb jet\u00eb m\u00eb i madh se kufiri i fort\u00eb. \u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb kuptohet se n\u00ebse nj\u00eb detyr\u00eb ka disa kontejner\u00eb, at\u00ebher\u00eb kufijt\u00eb e tyre p\u00ebrmbledhen.<\/p>\n<p><\/p>\n<p><strong>Harta e porteve<\/strong> \u2014 n\u00eb <strong>Porti i hostit<\/strong> n\u00ebse specifikoni 0, do t\u00eb thot\u00eb se porta do t\u00eb caktohet dinamikisht, dhe do t\u00eb monitorohet nga Grupi i Objektivave. <strong>Porti i kontejnerit<\/strong> \u2014 porta n\u00eb t\u00eb cil\u00ebn funksionon aplikacioni juaj, shpesh p\u00ebrcaktohet n\u00eb komand\u00ebn p\u00ebr ekzekutim ose caktohet n\u00eb kodin e aplikacionit tuaj, Dockerfile etj. P\u00ebr shembullin ton\u00eb, p\u00ebrdorim 3000, sepse \u00ebsht\u00eb e specifikuar n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/bitnami\/bitnami-docker-node\/blob\/master\/example\/Dockerfile\">Dockerfile<\/a><\/noindex> imazhin e p\u00ebrdorur.<\/p>\n<p><\/p>\n<p><strong>Kontrolli i sh\u00ebndetit<\/strong> \u2014 parametrat e kontrollit t\u00eb funksionit t\u00eb kontejnerit, mos e ngat\u00ebrroni at\u00eb me at\u00eb t\u00eb cilin e ka caktuar Grupi i Objektivave.<\/p>\n<p><\/p>\n<p><strong>Mjedisi<\/strong> \u2014 cil\u00ebsimet e mjedisit. <strong>Nj\u00ebsit\u00eb CPU<\/strong> \u2014 ngjan me kufijt\u00eb e memories, vet\u00ebm p\u00ebr procesorin. \u00c7do b\u00ebrtham\u00eb procesori \u2014 1024 nj\u00ebsi, k\u00ebshtu q\u00eb n\u00ebse serveri ka nj\u00eb procesor dy-b\u00ebrtham\u00ebsh dhe vlera e caktuar p\u00ebr kontejnerin \u00ebsht\u00eb 512, at\u00ebher\u00eb n\u00eb nj\u00eb server mund t\u00eb ekzekutohen 4 detyra me k\u00ebt\u00eb kontejner. Nj\u00ebsit\u00eb CPU gjithmon\u00eb p\u00ebrputhen me numrin e b\u00ebrthamave, nuk mund t\u00eb jen\u00eb pak m\u00eb pak si\u00e7 \u00ebsht\u00eb rasti me memorien.<\/p>\n<p><\/p>\n<p><strong>Komanda<\/strong> \u2014 urdhr p\u00ebr t\u00eb nisur sh\u00ebrbimin brenda konteinerrit, t\u00eb gjitha parametrat japin n\u00ebp\u00ebrmjet presjes. Kjo mund t\u00eb jet\u00eb gunicorn, npm etj. N\u00ebse nuk \u00ebsht\u00eb specifikuar, do t\u00eb p\u00ebrdoret vlera e drejtoris\u00eb CMD nga Dockerfile. Specifikoni <code>npm,start<\/code>.<\/p>\n<p><\/p>\n<p><strong>Variablat e mjedisit<\/strong> \u2014 variablat e mjedisit t\u00eb kontejnerit. K\u00ebto mund t\u00eb jen\u00eb si t\u00eb dh\u00ebna tekstuale, ashtu edhe variabla sekret nga <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/specifying-sensitive-data-secrets.html\">Menaxheri i Sekreteve<\/a><\/noindex> ose <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/specifying-sensitive-data-parameters.html\">Depoja e Parametrave<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p><strong>Ruajtja dhe Ekuipazhi<\/strong> \u2014 k\u00ebtu do t\u00eb konfiguroni regjistrimin n\u00eb CloudWatch Logs (sh\u00ebrbimi p\u00ebr regjistrat nga AWS). P\u00ebr k\u00ebt\u00eb, mjafton t\u00eb aktivizoni opsionin Auto-configure CloudWatch Logs. Pas krijimit t\u00eb Task Definition, automatikisht do t\u00eb krijohet nj\u00eb grup regjistrash n\u00eb CloudWatch. Sipas parazgjedhjes, regjistrat n\u00eb t\u00eb ruhen pafund\u00ebsisht, rekomandoj t\u00eb ndryshoni periudh\u00ebn e ruajtjes nga Never Expire n\u00eb periudh\u00ebn e k\u00ebrkuar. Kjo b\u00ebhet n\u00eb grupet e regjistrave CloudWatch, duhet t\u00eb klikoni n\u00eb periudh\u00ebn aktuale dhe t\u00eb zgjidhni nj\u00eb t\u00eb re.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/c9ad7ca39dfde9343be89eb9ab1aef10.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h3 id=\"ecs-cluster-i-ecs-capacity-provider\">ECS Cluster dhe ECS Capacity Provider<\/h3>\n<p><\/p>\n<p>Shkoni n\u00eb seksionin ECS \u2192 Klustera p\u00ebr t\u00eb krijuar nj\u00eb kluster. Si model zgjidhni EC2 Linux + Rrjet\u00ebzim.<\/p>\n<p><\/p>\n<p><strong>Emri i klustrit<\/strong> \u2014 \u00ebsht\u00eb shum\u00eb e r\u00ebnd\u00ebsishme, b\u00ebni k\u00ebtu t\u00eb nj\u00ebjtin em\u00ebr si\u00e7 \u00ebsht\u00eb treguar n\u00eb Shabllonin e Lancimit n\u00eb parametrin <code>ECS_CLUSTER<\/code>, n\u00eb rastin ton\u00eb \u2014 <code>DemoApiClusterProd<\/code>. Sh\u00ebnoni kutin\u00eb Create an empty cluster. Opsional mund t\u00eb aktivizoni Container Insights p\u00ebr t\u00eb par\u00eb metrikat p\u00ebr sh\u00ebrbimet n\u00eb CloudWatch. N\u00ebse keni b\u00ebr\u00eb gjith\u00e7ka si\u00e7 duhet, n\u00eb seksionin ECS Instances do t\u00eb shihni makinat q\u00eb jan\u00eb krijuar n\u00eb grupin Auto Scaling.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/cd70062c9783ae359a2b27cbfc66cbe3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Shkosh n\u00eb sked\u00ebn <strong>Furnizuesit e kapacitetit<\/strong> dhe krijoni t\u00eb ri. Kujtojm\u00eb se ai \u00ebsht\u00eb i nevojsh\u00ebm p\u00ebr t\u00eb menaxhuar krijimin dhe fikjen e makinave sipas numrit t\u00eb ECS taskeve q\u00eb po punojn\u00eb. \u00cbsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet se furnizuesi mund t\u00eb lidh\u00ebt vet\u00ebm me nj\u00eb grup.<\/p>\n<p><\/p>\n<p><strong>Grupi i Auto Scaling<\/strong> \u2014 zgjidhni grupin q\u00eb \u00ebsht\u00eb krijuar m\u00eb par\u00eb.<\/p>\n<p><\/p>\n<p><strong>Shkall\u00ebzimi i menaxhuar<\/strong> \u2014 aktivizoni n\u00eb m\u00ebnyr\u00eb q\u00eb furnizuesi t\u00eb mund t\u00eb shkall\u00ebzoj\u00eb sh\u00ebrbimin.<\/p>\n<p><\/p>\n<p><strong>Kapaciteti i targetuar %<\/strong> \u2014 sa duhet t\u00eb jet\u00eb cila \u00ebsht\u00eb p\u00ebrqindja e ngarkes\u00ebs s\u00eb makinave me detyra. N\u00ebse specifikoni 100%, t\u00eb gjitha makinat do t\u00eb jen\u00eb gjithmon\u00eb t\u00eb z\u00ebna me detyra aktive. N\u00ebse specifikoni 50%, gjysma e makinave do t\u00eb jen\u00eb gjithmon\u00eb t\u00eb lira. N\u00eb k\u00ebt\u00eb rast, n\u00ebse ndodh nj\u00eb rritje e papritur n\u00eb ngarkes\u00eb, taksit\u00eb e reja do t\u00eb shkojn\u00eb menj\u00ebher\u00eb n\u00eb makinat e lira, pa nevoj\u00ebn p\u00ebr t\u00eb pritur p\u00ebr shp\u00ebrndarjen e instancave.<\/p>\n<p><\/p>\n<p><strong>Mbrojtje e menaxhuar p\u00ebr nd\u00ebrprerje<\/strong> \u2014 e aktivizojm\u00eb, ky parameter lejon ofruesin t\u00eb heq\u00eb mbrojtjen nga fshirja e instancave. Kjo ndodh kur n\u00eb makin\u00eb nuk ka detyra aktive dhe lejon Target capacity %.<\/p>\n<p><\/p>\n<h3 id=\"ecs-service-i-nastroyka-masshtabirovaniya\">Sh\u00ebrbimi ECS dhe konfigurimi i shkall\u00ebzimit<\/h3>\n<p><\/p>\n<p>Hapi i fundit :) P\u00ebr t\u00eb krijuar nj\u00eb sh\u00ebrbim, duhet t\u00eb hyni n\u00eb klasterin e krijuar m\u00eb par\u00eb n\u00eb seksionin Sh\u00ebrbimet.<\/p>\n<p><\/p>\n<p><strong>Lloji i lan\u00e7imit<\/strong> \u2014 duhet t\u00eb klikoni n\u00eb Switch to capacity provider strategy dhe t\u00eb zgjidhni ofruesin e krijuar m\u00eb par\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/9d9dfdd8e333cce24bfb048ac84097e4.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>P\u00ebrkufizimi i detyr\u00ebs<\/strong> \u2014 zgjidhim p\u00ebrkufizimin e detyr\u00ebs s\u00eb krijuar m\u00eb par\u00eb dhe p\u00ebrmir\u00ebsimin e tij.<\/p>\n<p><\/p>\n<p><strong>Emri i sh\u00ebrbimit<\/strong> \u2014 p\u00ebr t\u00eb mos u ngat\u00ebrruar, ne gjithmon\u00eb e specifikojm\u00eb t\u00eb nj\u00ebjtin si p\u00ebrkufizimi i detyr\u00ebs.<\/p>\n<p><\/p>\n<p><strong>Lloji i sh\u00ebrbimit<\/strong> \u2014 gjithmon\u00eb Replica.<\/p>\n<p><\/p>\n<p><strong>Numri i detyrave<\/strong> \u2014 numri i d\u00ebshiruar i detyrave aktive n\u00eb sh\u00ebrbim. Ky parameter menaxhohet nga shkall\u00ebzimi, por gjithsesi duhet ta especificoni.<\/p>\n<p><\/p>\n<p><strong>P\u00ebrqindja minimale e sh\u00ebndetshme<\/strong> dhe <strong>P\u00ebrqindja maksimale<\/strong> \u2014 p\u00ebrcakton sjelljen e detyrave gjat\u00eb implementimit. Vlerat e paracaktuara 100 dhe 200 tregojn\u00eb se gjat\u00eb implementimit numri i detyrave do t\u00eb rritet disa her\u00eb, dhe m\u00eb pas do t\u00eb kthehet n\u00eb t\u00eb d\u00ebshiruesh\u00ebm. N\u00ebse keni nj\u00eb detyr\u00eb n\u00eb pun\u00eb, min=0, dhe max=100, at\u00ebher\u00eb gjat\u00eb implementimit do t\u00eb eliminohet, dhe pas k\u00ebsaj do t\u00eb ngrihet nj\u00eb e re, q\u00eb do t\u00eb thot\u00eb se do t\u00eb ket\u00eb nj\u00eb ndales\u00eb. N\u00ebse \u00ebsht\u00eb n\u00eb pun\u00eb nj\u00eb detyr\u00eb, min=50, max=150, at\u00ebher\u00eb implementimi nuk do t\u00eb ndodh, sepse nj\u00eb detyr\u00eb nuk mund t\u00eb ndahet n\u00eb dy ose t\u00eb rritet n\u00eb nj\u00eb dhe nj\u00eb gjysm\u00eb.<\/p>\n<p><\/p>\n<p><strong>Lloji i implementimit<\/strong> \u2014 l\u00ebm\u00eb Rolling update.<\/p>\n<p><\/p>\n<p><strong>Shabllon\u00ebt e vendosjes<\/strong> \u2014 rregullat e vendosjes s\u00eb detyrave n\u00eb makina. P\u00ebr parazgjedhje \u00ebsht\u00eb AZ Balanced Spread \u2014 do t\u00eb thot\u00eb se \u00e7do detyr\u00eb e re do t\u00eb vendoset n\u00eb nj\u00eb instanc\u00eb t\u00eb re deri sa t\u00eb ngrihen makinat n\u00eb t\u00eb gjitha zonat e disponueshm\u00ebris\u00eb. Ne zakonisht e b\u00ebjm\u00eb BinPack \u2014 CPU dhe Spread \u2014 AZ, me k\u00ebt\u00eb politik\u00eb detyrat vendosen sa m\u00eb af\u00ebr q\u00eb t\u00eb jet\u00eb e mundur n\u00eb nj\u00eb makin\u00eb sipas CPU. N\u00ebse \u00ebsht\u00eb e nevojshme t\u00eb krijohet nj\u00eb makin\u00eb e re, ajo krijohet n\u00eb nj\u00eb zon\u00eb t\u00eb re disponueshm\u00ebrie.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/6430bdf046fc5b970e0afbbf0d9ef65e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Lloji i balancuesit t\u00eb ngarkes\u00ebs<\/strong> \u2014 zgjedhim Application Load Balancer.<\/p>\n<p><\/p>\n<p><strong>Roli IAM i sh\u00ebrbimit<\/strong> \u2014 zgjedhim <code>ecsServiceRole<\/code>.<\/p>\n<p><\/p>\n<p><strong>Emri i balancuesit t\u00eb ngarkes\u00ebs<\/strong> \u2014 zgjedhim balancuesin e krijuar m\u00eb par\u00eb.<\/p>\n<p><\/p>\n<p><strong>Periudha e miratimit t\u00eb kontrollit t\u00eb sh\u00ebndetit<\/strong> \u2014 pauza para ekzekutimin e kontrollit t\u00eb funksionit pas l\u00ebshimit t\u00eb nj\u00eb detyre t\u00eb re, zakonisht e vendosim n\u00eb 60 sekonda.<\/p>\n<p><\/p>\n<p><strong>Konteineri p\u00ebr balancimin e ngarkes\u00ebs<\/strong> \u2014 n\u00eb pik\u00ebn Emri i grupit t\u00eb destinacionit zgjedhim grupin e krijuar m\u00eb par\u00eb dhe gjith\u00e7ka do t\u00eb plot\u00ebsohet automatikisht.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/c067868ff73c25c3d9b65e02be64f5c9.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><strong>Sh\u00ebrbimi i Auto-Skalimit<\/strong> \u2014 parametrat e skalimit t\u00eb sh\u00ebrbimit. Zgjedhim Configure Service Auto Scaling to adjust your service\u2019s desired count. Vendosim numrin minimal dhe maksimal t\u00eb detyrave gjat\u00eb skalimit.<\/p>\n<p><\/p>\n<p><strong>Roli IAM p\u00ebr Sh\u00ebrbimin e Auto-Skalimit<\/strong> \u2014 zgjedhim <code>AWSServiceRoleForApplicationAutoScaling_ECSService<\/code>.<\/p>\n<p><\/p>\n<p><strong>Politikat e automatizuara t\u00eb skalimit t\u00eb detyrave<\/strong> \u2014 rregullat p\u00ebr skalimin. Ka 2 lloje:<\/p>\n<p><\/p>\n<ol>\n<li><strong>Ndjekja e objektivave<\/strong> \u2014 ndjekja e metrik\u00ebs s\u00eb synuar (p\u00ebrdorimi i CPU\/RAM ose numri i k\u00ebrkesave p\u00ebr secil\u00ebn detyr\u00eb). P\u00ebr shembull, ne duam q\u00eb ngarkesa mesatare e procesorit t\u00eb jet\u00eb 85%, kur ajo t\u00eb kaloj\u00eb, detyrat e reja do t\u00eb shtohen derisa t\u00eb arrij\u00eb n\u00eb vler\u00ebn e synuar. N\u00ebse ngarkesa \u00ebsht\u00eb m\u00eb posht\u00eb, at\u00ebher\u00eb detyrat do t\u00eb hiqen, n\u00ebse nuk \u00ebsht\u00eb aktivizuar mbrojtja nga zvog\u00eblimi (<strong>\u00c7aktivizo zvog\u00eblimin<\/strong>).<\/li>\n<li><strong>Skalimi me hapa<\/strong> \u2014 reagimi ndaj ndodhis\u00eb s\u00eb rast\u00ebsishme. K\u00ebtu mund t\u00eb p\u00ebrcaktoni reagimin ndaj \u00e7do ngjarjeje (Alarmi i CloudWatch), kur ajo ndodh, mund t\u00eb shtoni ose hiqni numrin e caktuar t\u00eb detyrave, ose t\u00eb p\u00ebrcaktoni sakt\u00ebsisht numrin e detyrave.<\/li>\n<\/ol>\n<p><\/p>\n<p>Sh\u00ebrbimi mund t\u00eb ket\u00eb disa rregulla skalmimi, kjo mund t\u00eb jet\u00eb e dobishme, por \u00ebsht\u00eb thelb\u00ebsore t\u00eb siguroheni q\u00eb ato t\u00eb mos bien n\u00eb konflikt me nj\u00ebra-tjetr\u00ebn.<\/p>\n<p><\/p>\n<h2 id=\"zaklyuchenie\">P\u00ebrfundimi<\/h2>\n<p><\/p>\n<p>N\u00ebse keni ndjekur udh\u00ebzimet dhe keni p\u00ebrdorur t\u00eb nj\u00ebjt\u00ebn imazh Docker, sh\u00ebrbimi juaj duhet t\u00eb kthej\u00eb nj\u00eb faqe t\u00eb till\u00eb.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuar n\u00eb instancat e p\u00ebrkohshme t\u00eb AWS.\" src=\"\/wp-content\/uploads\/2020\/07\/ac592e3194480ac8b347a3a1faf0cee0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<ol>\n<li>Kemi krijuar nj\u00eb model sipas t\u00eb cilit aktivizohen t\u00eb gjitha makinat n\u00eb sh\u00ebrbim. Po ashtu, kemi m\u00ebsuar t\u00eb p\u00ebrdit\u00ebsojm\u00eb makinat kur modelit i b\u00ebhen ndryshime.<\/li>\n<li>Kemi konfiguruar p\u00ebrpunimin e sinjalit t\u00eb ndalimit t\u00eb instanc\u00ebs s\u00eb till\u00eb, k\u00ebshtu q\u00eb brenda nj\u00eb minute pas marrjes s\u00eb tij, t\u00eb gjitha detyrat aktive hiqen nga makina, duke siguruar q\u00eb asgj\u00eb t\u00eb mos humbas\u00eb apo t\u00eb nd\u00ebrpritet.<\/li>\n<li>Kemi ngritur nj\u00eb balancues, p\u00ebr t\u00eb shp\u00ebrndar\u00eb ngarkes\u00ebn n\u00eb m\u00ebnyr\u00eb t\u00eb barabart\u00eb mbi makinat.<\/li>\n<li>Kemi krijuar nj\u00eb sh\u00ebrbim q\u00eb funksionon n\u00eb instancat e pikave, duke arritur k\u00ebshtu t\u00eb reduktojm\u00eb shpenzimet p\u00ebr makinat af\u00ebrsisht n\u00eb 3 her\u00eb.<\/li>\n<li>Ne kemi konfiguruan auto-skalimin n\u00eb t\u00eb dyja drejtimet p\u00ebr t\u00eb trajtuar rritjen e ngarkesave, por n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb p\u00ebr t\u00eb mos paguar p\u00ebr shkall\u00ebzim t\u00eb tepruar.<\/li>\n<li>Ne p\u00ebrdorim Capacity Provider, q\u00eb aplikacioni t\u00eb menaxhoj\u00eb infrastruktur\u00ebn (makinat), dhe jo anasjelltas.<\/li>\n<li>Jemi t\u00eb mrekulluesh\u00ebm.<\/li>\n<\/ol>\n<p><\/p>\n<p>N\u00ebse keni shp\u00ebrthime t\u00eb parashikueshme n\u00eb ngarkes\u00eb, p\u00ebr shembull, n\u00ebse b\u00ebni reklamim n\u00eb nj\u00eb list\u00eb t\u00eb madhe t\u00eb post\u00ebs elektronike, mund t\u00eb konfiguroni skalimin sipas <noindex><a rel=\"nofollow\" href=\"https:\/\/docs.aws.amazon.com\/autoscaling\/application\/userguide\/application-auto-scaling-scheduled-scaling.html\">orarit<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>Po ashtu, \u00ebsht\u00eb e mundur t\u00eb b\u00ebni skalim n\u00eb baz\u00eb t\u00eb t\u00eb dh\u00ebnave nga pjes\u00eb t\u00eb ndryshme t\u00eb sistemit tuaj. P\u00ebr shembull, kemi funksionalitetin <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.adapty.io\/promo-campaigns\">e d\u00ebrgimit t\u00eb ofertave promovuese individuale<\/a><\/noindex> p\u00ebrdoruesve t\u00eb aplikacionit mobil. Ndonj\u00ebher\u00eb, nj\u00eb fushat\u00eb d\u00ebrgohet p\u00ebr 1M+ njer\u00ebz. Pas nj\u00eb d\u00ebrgese t\u00eb till\u00eb, gjithmon\u00eb v\u00ebrehet nj\u00eb rritje e madhe e k\u00ebrkesave n\u00eb API, pasi shum\u00eb p\u00ebrdorues hyjn\u00eb n\u00eb aplikacion n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. K\u00ebshtu q\u00eb, n\u00ebse shohim se n\u00eb radh\u00ebn p\u00ebr d\u00ebrgimin e njoftimeve promovuese ka shum\u00eb m\u00eb tep\u00ebr se sa indikator\u00ebt standard\u00eb, ne mund t\u00eb aktivizojm\u00eb menj\u00ebher\u00eb disa makina dhe detyra shtes\u00eb p\u00ebr t\u00eb qen\u00eb t\u00eb gatsh\u00ebm p\u00ebr ngarkes\u00ebn.<\/p>\n<p><\/p>\n<p>Do t\u00eb isha i lumtur n\u00ebse n\u00eb komentet do t\u00eb ndani raste interesante t\u00eb p\u00ebrdorimit t\u00eb instancave t\u00eb spoteve dhe ECS apo di\u00e7ka mbi skalimin.<\/p>\n<p><\/p>\n<p>S\u00eb shpejti do t\u00eb publikojm\u00eb artikuj p\u00ebr m\u00ebnyr\u00ebn se si p\u00ebrpunojm\u00eb mij\u00ebra ngjarje analitike n\u00eb sekond\u00eb n\u00eb nj\u00eb stack kryesisht pa server\u00eb (me para) dhe si organizohet deploy i sh\u00ebrbimeve me ndihm\u00ebn e GitLab CI dhe Terraform Cloud.<\/p>\n<p><\/p>\n<p>Na ndiqni, do t\u00eb jet\u00eb interesante!<\/p>\n<p class=\"for_users_only_msg\">Vet\u00ebm p\u00ebrdoruesit e regjistruar mund t\u00eb marrin pjes\u00eb n\u00eb anket\u00eb. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Hyni<\/a><\/noindex>, ju lutemi.<\/p>\n<h2 class=\"default-block__polling-title\">A p\u00ebrdorni instanca spot n\u00eb prodhim?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">22,2%<\/strong>Po<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">66,7%<\/strong>Jo18<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">11,1%<\/strong>M\u00ebsoj p\u00ebr ta nga nj\u00eb artikull, planifikoj t\u00eb p\u00ebrdor.<\/p>\n<\/li>\n<\/ul>\n<p>    27 p\u00ebrdorues votuan. 5 p\u00ebrdorues abstenuan.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/509790\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041a\u0438\u0440\u0438\u043b\u043b, \u044f CTO \u0432 Adapty. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 AWS, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 3 \u0440\u0430\u0437\u0430 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":87394,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-87393","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041a\u0438\u0440\u0438\u043b\u043b, \u044f CTO \u0432 Adapty. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 AWS, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 3 \u0440\u0430\u0437\u0430 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430\" \/>\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\/sq\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e API \u043d\u0430 \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u0445 AWS | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041a\u0438\u0440\u0438\u043b\u043b, \u044f CTO \u0432 Adapty. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 AWS, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 3 \u0440\u0430\u0437\u0430 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws\" \/>\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=\"2020-07-07T23:42:02+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-07-07T23:42:02+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\udd47Krijimi i nj\u00eb API t\u00eb shkall\u00ebzuesh\u00ebm me instanca spot AWS | ProHoster","description":"P\u00ebrsh\u00ebndetje t\u00eb gjith\u00ebve! Un\u00eb quhem Kirill, jam CTO n\u00eb Adapty. Pjesa m\u00eb e madhe e arkitektur\u00ebs son\u00eb ndodhet n\u00eb AWS, dhe sot do t'ju tregoj se si e kemi reduktuar kostot e server\u00ebve me 3 her\u00eb duke p\u00ebrdorur instanca spot n\u00eb ambientin e prodhimit, si dhe si t'i konfigurojm\u00eb ato p\u00ebr auto-skalimin. Fillimisht do t\u00eb jet\u00eb nj\u00eb p\u00ebrmbledhje e asaj se si funksionon, dhe","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e API \u043d\u0430 \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u0430\u0445 AWS | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u041c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u041a\u0438\u0440\u0438\u043b\u043b, \u044f CTO \u0432 Adapty. \u0411\u043e\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0448\u0435\u0439 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 AWS, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u044b \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u043b\u0438 \u0440\u0430\u0441\u0445\u043e\u0434\u044b \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 3 \u0440\u0430\u0437\u0430 \u0437\u0430 \u0441\u0447\u0451\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043f\u043e\u0442\u043e\u0432\u044b\u0445 \u0438\u043d\u0441\u0442\u0430\u043d\u0441\u043e\u0432 \u043d\u0430 \u043f\u0440\u043e\u0434\u0430\u043a\u0448\u043d \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0438\u0445 \u0430\u0432\u0442\u043e\u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0431\u0437\u043e\u0440 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442, \u0430","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/sozdanie-masshtabiruemogo-api-na-spotovyh-instansah-aws","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":"2020-07-07T23:42:02+00:00","article:modified_time":"2020-07-07T23:42:02+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"87393","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":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 12:44:41","updated":"2022-09-28 14:12:20"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/87393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=87393"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/87393\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/87394"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=87393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=87393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=87393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}