API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Dia duit gach duine! Kirill is ainm dom, is CTO mé ag Adapty. Tá an chuid is mó dár n-ailtireacht ar AWS, agus inniu beidh mé ag caint faoi conas a laghdaigh muid costais freastalaí faoi 3 huaire trí úsáid a bhaint as láithreacha cásanna i dtimpeallacht táirgthe, chomh maith le conas a scálú uathoibríoch a shocrú. Ar dtús beidh forbhreathnú ar conas a oibríonn sé, agus ansin treoracha mionsonraithe maidir le tosú.

Cad iad Spotchéimeanna?

Spota Is éard atá i gcásanna ná freastalaithe úsáideoirí AWS eile atá díomhaoin faoi láthair, agus díolann siad iad ar lascaine mhór (scríobhann Amazon suas le 90%, inár dtaithí ~3x, athraíonn ag brath ar an réigiún, AZ agus cineál an shampla). Is é an príomhdhifríocht atá acu ó na cinn rialta ná gur féidir leo a mhúchadh ag am ar bith. Dá bhrí sin, ar feadh i bhfad chreid muid go raibh sé gnáth iad a úsáid le haghaidh timpeallachtaí maighdean, nó le haghaidh tascanna a bhaineann le rud éigin a ríomh, le torthaí idirmheánacha a shábháil ar S3 nó sa bhunachar sonraí, ach ní le haghaidh díolacháin. Tá réitigh tríú páirtí ann a ligeann duit spotaí a úsáid ar tháirgeadh, ach tá go leor crutches ann dár gcás, mar sin níor chuir muid i bhfeidhm iad. Oibríonn an cur chuige a thuairiscítear san alt go hiomlán laistigh den fheidhmiúlacht chaighdeánach AWS, gan scripteanna breise, coróin, etc.

Anseo thíos tá roinnt screenshots a thaispeánann an stair praghsanna le haghaidh cásanna spot.

m5.large sa réigiún eu-iarthar-1 (Éire). Tá an praghas cobhsaí den chuid is mó ar feadh 3 mhí, ag coigilt 2.9x faoi láthair.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

m5.large sa réigiún us-oirthear-1 (N. Virginia). Tá an praghas ag athrú i gcónaí thar 3 mhí, ag coigilt faoi láthair ó 2.3x go 2.8x ag brath ar an gcrios infhaighteachta.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

t3.small sa réigiún us-east-1 (N. Virginia). Tá an praghas cobhsaí ar feadh 3 mhí, ag coigilt 3.4x faoi láthair.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Ailtireacht seirbhíse

Tá ailtireacht bhunúsach na seirbhíse a mbeimid ag caint faoi san Airteagal seo léirithe sa léaráid thíos.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Cothromóir Ualach Feidhmchláir → EC2 Spriocghrúpa → Seirbhís Coimeádán Leaisteacha

Úsáidtear an Cothromóir Ualach Feidhmchlár (ALB) mar chothromóir, a sheolann iarratais chuig an Spriocghrúpa EC2 (TG). Tá TG freagrach as calafoirt a oscailt ar chásanna do ALBanna agus as iad a nascadh le calafoirt coimeádáin na Seirbhíse Coimeádán Leaisteacha (ECS). Is analóg é ECS de Kubernetes in AWS, a bhainistíonn coimeádáin Docker.

Is féidir go mbeadh roinnt coimeádán reatha ag cás amháin leis na poirt chéanna, mar sin ní féidir linn iad a shocrú go seasta. Insíonn ECS do TG go bhfuil tasc nua á sheoladh aige (dá ngairtear pod i dtéarma Kubernetes), seiceálann sé poirt in aisce ar an ásc agus sannann sé ceann acu don tasc seolta. Seiceálann TG go rialta freisin an bhfuil an ásc agus an API ag obair air ag baint úsáide as seiceáil sláinte, agus má fheiceann sé aon fhadhbanna, stopann sé ag cur iarratais ann.

Grúpaí EC2 Scálú Auto + Soláthraithe Cumais ECS

Ní thaispeánann an léaráid thuas seirbhís EC2 Auto Scaling Groups (ASG). Ón ainm is féidir leat a thuiscint go bhfuil sé freagrach as cásanna scálaithe. Mar sin féin, go dtí le déanaí, ní raibh cumas ionsuite ag AWS chun líon na n-innill reatha ó ECS a bhainistiú. D’fhág ECS ​​gur féidir líon na dtascanna a scála, mar shampla, trí LAP, RAM nó líon na n-iarratas a úsáid. Ach dá mba rud é go raibh na tascanna saor in aisce ar fad, níor cruthaíodh meaisíní nua go huathoibríoch.

Tá sé seo athraithe le teacht na Soláthraithe Acmhainne ECS (ECS CP). Anois is féidir gach seirbhís in ECS a bheith bainteach le ASG, agus mura n-oireann na tascanna do na cásanna reatha, ardófar cinn nua (ach laistigh de na teorainneacha ASG bunaithe). Oibríonn sé seo sa treo eile freisin, má fheiceann ECS CP cásanna díomhaoin gan tascanna, ansin tabharfaidh sé ordú ASG iad a dhúnadh síos. Tá an cumas ag ECS ​​CP spriocchéatadán den ualach mar shampla a shonrú, ionas go mbeidh líon áirithe meaisíní saor in aisce i gcónaí le haghaidh tascanna scálaithe tapa; Labhróidh mé faoi seo beagán níos déanaí.

Teimpléid Seoladh EC2

Is é an tseirbhís dheireanach a labhróidh mé faoi sula ndéanfaidh mé mionsonrú faoin mbonneagar seo a chruthú ná Teimpléid Seoladh EC2. Ligeann sé duit teimpléad a chruthú ar dá réir a thosóidh gach meaisín, ionas nach ndéanfaidh tú é seo arís ó thús gach uair. Anseo is féidir leat an cineál meaisín a thosú, grúpa slándála, íomhá diosca agus go leor paraiméadair eile a roghnú. Is féidir leat sonraí úsáideora a shonrú freisin a uaslódálfar chuig gach cás seolta. Is féidir leat scripteanna a rith i sonraí úsáideora, mar shampla, is féidir leat ábhar comhaid a chur in eagar cumraíochtaí gníomhaire ECS.

Is é ceann de na paraiméadair cumraíochta is tábhachtaí don alt seo ECS_ENABLE_SPOT_INSTANCE_DRAINING= fíor. Má tá an paraiméadar seo cumasaithe, ansin a luaithe a fhaigheann ECS comhartha go bhfuil láthair á bhaint, aistríonn sé na tascanna go léir a oibríonn air go dtí an stádas Draenála. Ní sannfar aon thascanna nua don chás seo; má tá tascanna ann ar mian leo a chur i bhfeidhm faoi láthair, cuirfear ar ceal iad. Stopann iarratais ón gcothromóir ag teacht freisin. Tagann fógra faoi scriosadh mar shampla 2 nóiméad roimh an imeacht iarbhír. Dá bhrí sin, mura ndéanann do sheirbhís tascanna níos faide ná 2 nóiméad agus nach sábhálann sé rud ar bith ar dhiosca, is féidir leat láithreacha a úsáid gan sonraí a chailliúint.

Maidir le diosca - AWS le déanaí déanta Is féidir an Córas Comhad Leaisteacha (EFS) a úsáid in éineacht le ECS; leis an scéim seo, ní fiú an diosca ina chonstaic, ach ní dhearna muid iarracht é seo, ós rud é i bprionsabal ní gá dúinn an diosca chun an stát a stóráil. De réir réamhshocraithe, tar éis SIGINT a fháil (a sheoltar nuair a aistrítear tasc chuig an stádas Draenála), stopfar gach tasc reatha tar éis 30 soicind, fiú mura bhfuil siad críochnaithe go fóill; is féidir leat an t-am seo a athrú ag baint úsáide as an bparaiméadar ECS_CONTAINER_STOP_TIMEOUT. Is é an rud is mó ná é a shocrú ar feadh níos mó ná 2 nóiméad le haghaidh meaisíní spot.

Seirbhís a chruthú

A ligean ar bogadh ar aghaidh go dtí a chruthú ar an tseirbhís a thuairiscítear. Sa phróiseas, déanfaidh mé cur síos freisin ar roinnt pointí úsáideacha nár luadh thuas. Go ginearálta, is treoir céim ar chéim é seo, ach ní bhreithneoidh mé roinnt cásanna an-bhunúsacha nó, os a choinne sin, an-sonrach. Déantar na gníomhartha go léir i gconsól amhairc AWS, ach is féidir iad a atáirgeadh go ríomhchláraithe ag baint úsáide as CloudFormation nó Terraform. Ag Adapty úsáidimid Terraform.

Teimpléad Seolta EC2

Cruthaíonn an tseirbhís seo cumraíocht de mheaisíní a úsáidfear. Déantar teimpléid a bhainistiú sa rannóg EC2 -> Cásanna -> Teimpléad Seoladh.

Íomhá meaisín Amazon (AMI) — sonraigh an íomhá diosca lena seolfar gach cás. Maidir le ECS, i bhformhór na gcásanna is fiú an íomhá optamaithe ó Amazon a úsáid. Déantar é a nuashonrú go rialta agus tá gach rud atá riachtanach le go n-oibreoidh ECS ann. Chun aitheantas reatha na híomhá a fháil amach, téigh go dtí an leathanach AMIanna optamaithe Amazon ECS, roghnaigh an réigiún atá in úsáid agat agus cóipeáil an AMI ID dó. Mar shampla, don réigiún us-east-1, is é an ID reatha tráth scríofa ami-00c7c1cf5bdc913ed. Ní mór an t-aitheantas seo a chur isteach sa mhír Sonraigh luach saincheaptha.

Cineál cás — cuir in iúl an cineál cáis. Roghnaigh an ceann is fearr a oireann do do thasc.

Péire eochracha (logáil isteach) — sonraigh deimhniú lenar féidir leat nascadh leis an ásc trí SSH, más gá.

Suímh Ghréasáin — sonraigh na paraiméadair líonra. Ardán líonraithe i bhformhór na gcásanna ba chóir go mbeadh Néal Príobháideach Fíorúil (VPC). Grúpaí slándála — grúpaí slándála do do chásanna. Ós rud é go n-úsáidfimid cothromóir os comhair na gcásanna, molaim grúpa a shonrú anseo a cheadaíonn naisc isteach ón iarmhéidóir amháin. Is é sin, beidh 2 ghrúpa slándála agat, ceann amháin don chothromóir, a cheadaíonn naisc isteach ó áit ar bith ar chalafoirt 80 (http) agus 443 (https), agus an dara ceann le haghaidh meaisíní, a cheadaíonn naisc isteach ar aon chalafoirt ón ngrúpa balancer. . Ní mór naisc amach sa dá ghrúpa a oscailt trí úsáid a bhaint as an bprótacal TCP chuig gach calafort chuig gach seoladh. Is féidir leat calafoirt agus seoltaí a theorannú le haghaidh naisc atá ag dul as oifig, ach ansin ní mór duit monatóireacht leanúnach a dhéanamh nach bhfuil tú ag iarraidh rochtain a fháil ar rud éigin ar phort dúnta.

Stóráil (imleabhair) — sonraigh na paraiméadair diosca do na meaisíní. Ní féidir le méid an diosca a bheith níos lú ná an méid atá sonraithe san AMI; le haghaidh ECS Optamaithe is é 30 GiB é.

Sonraí casta — paraiméadair bhreise a shonrú.

Rogha ceannaigh — cibé acu an dteastaíonn uainn láithreacha cásanna a cheannach. Ba mhaith linn, ach ní ticfimid an bosca seo anseo; déanfaimid é a chumrú sa Ghrúpa Uathscála, tá níos mó roghanna ann.

Próifíl shampla IAM — cuir in iúl an ról a sheolfar na cásanna. Le gur féidir cásanna a rith in ECS, teastaíonn cead uathu, a fhaightear sa ról de ghnáth ecsInstanceRól. I gcásanna áirithe is féidir é a chruthú, más rud é nach bhfuil, ansin anseo teagaisc ar conas é seo a dhéanamh. Tar éis a chruthú, cuirimid in iúl é sa teimpléad.
Ar Aghaidh tá go leor paraiméadair, go bunúsach is féidir leat luachanna réamhshocraithe a fhágáil i ngach áit, ach tá cur síos soiléir ag gach ceann acu. Cumasaím i gcónaí na roghanna atá optamaithe le EBS agus T2/T3 Gan teorainn má úsáidtear iad pléasctha cásanna.

Am Úsáideoir — sonraí úsáideora a léiriú. Déanfaimid an comhad a chur in eagar /etc/ecs/ecs.config, ina bhfuil cumraíocht gníomhaire ECS.
Sampla de na sonraí úsáideora a d’fhéadfadh a bheith cosúil:

#!/bin/bash
echo ECS_CLUSTER=DemoApiClusterProd >> /etc/ecs/ecs.config
echo ECS_ENABLE_SPOT_INSTANCE_DRAINING=true >> /etc/ecs/ecs.config
echo ECS_CONTAINER_STOP_TIMEOUT=1m >> /etc/ecs/ecs.config
echo ECS_ENGINE_AUTH_TYPE=docker >> /etc/ecs/ecs.config
echo "ECS_ENGINE_AUTH_DATA={"registry.gitlab.com":{"username":"username","password":"password"}}" >> /etc/ecs/ecs.config

ECS_CLUSTER=DemoApiClusterProd — tugann an paraiméadar le fios go mbaineann an t-úsc le braisle leis an ainm tugtha, is é sin, beidh an braisle seo in ann a thascanna a chur ar an bhfreastalaí seo. Níl braisle cruthaithe againn fós, ach úsáidfimid an t-ainm seo agus é á chruthú.

ECS_ENABLE_SPOT_INSTANCE_DRAINING=true — sonraítear sa pharaiméadar, nuair a gheofar comhartha chun spotamharc a mhúchadh, gur cheart na tascanna go léir atá air a aistriú go dtí an stádas Draenála.

ECS_CONTAINER_STOP_TIMEOUT=1m - sonraítear sa pharaiméadar, tar éis comhartha SIGINT a fháil, go bhfuil 1 nóiméad ag gach tasc sula maraítear iad.

ECS_ENGINE_AUTH_TYPE=docker — léirítear leis an bparaiméadar go n-úsáidtear scéim na nDugairí mar mheicníocht údaraithe

ECS_ENGINE_AUTH_DATA=... — paraiméadair naisc leis an gclárlann coimeádán príobháideach, ina bhfuil d'íomhánna Docker stóráilte. Má tá sé poiblí, ansin ní gá duit aon rud a shonrú.

Chun críocha an ailt seo, úsáidfidh mé íomhá poiblí ó Docker Hub, mar sin sonraigh na paraiméadair ECS_ENGINE_AUTH_TYPE и ECS_ENGINE_AUTH_DATA ní gá.

Dea-eolas: Moltar an AMI a nuashonrú go rialta, toisc go nuashonraíonn leaganacha nua leaganacha de Docker, Linux, gníomhaire ECS, etc. Chun gan dearmad a dhéanamh faoi seo, is féidir leat fógraí a shocrú faoi ​​scaoileadh leaganacha nua. Is féidir leat fógraí a fháil trí ríomhphost agus nuashonrú de láimh, nó is féidir leat feidhm Lambda a scríobh a chruthóidh leagan nua de Theimpléad Seolta go huathoibríoch le AMI nuashonraithe.

Grúpa Uathscála EC2

Tá Auto Scaling Group freagrach as cásanna seolta agus scálaithe. Déantar grúpaí a bhainistiú sa rannán EC2 -> Scálú Uathoibríoch -> Grúpaí Uathscála.

Seoladh teimpléad — roghnaigh an teimpléad a cruthaíodh sa chéim roimhe seo. Fágaimid an leagan réamhshocraithe.

Roghanna ceannaigh agus cineálacha shampla — sonraigh na cineálacha cásanna don bhraisle. Úsáideann Cloí le seoladh teimpléad an cineál ásc ón Teimpléad Seoladh. Cumasc roghanna ceannaigh agus cineálacha samplaí is féidir leat cineálacha samplaí a chumrú go solúbtha. Úsáidfimid é.

Bonn Roghnach Ar Éileamh — líon na n-imeachtaí rialta gan spota a oibreoidh i gcónaí.

Céatadán ar Éileamh os cionn an bhoinn — cóimheas céatadáin de chásanna rialta agus spot-teagmhais, déanfar 50-50 a dháileadh go cothrom, ardófar 20-80 i gcás gach gnáth-theagmhais 4 spota. Chun críocha an sampla seo, léireoidh mé 50-50, ach i ndáiríre is minic a dhéanaimid 20-80, i gcásanna áirithe 0-100.

Cineálacha institiúide — anseo is féidir leat cineálacha breise cásanna a shonrú a úsáidfear sa bhraisle. Níor úsáid muid riamh é mar ní thuigim i ndáiríre brí an scéil. B'fhéidir gurb é seo mar gheall ar na teorainneacha ar chineálacha sonracha cásanna, ach is féidir iad a mhéadú go héasca trí thacaíocht. Má tá an t-iarratas ar eolas agat, beidh áthas orm é a léamh sna tuairimí)

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

líonra — socruithe líonra, roghnaigh VPC agus folíonta do mheaisíní, i bhformhór na gcásanna ba cheart duit gach folíon atá ar fáil a roghnú.

Luach cothromaíocht - socruithe balancer, ach déanfaimid é seo ar leithligh, ní bheidh muid i dteagmháil le rud ar bith anseo. Seiceálacha sláinte a chumrú níos déanaí freisin.

Méid an ghrúpa — léirímid na teorainneacha ar líon na meaisíní sa bhraisle agus an líon meaisíní atá ag teastáil ag an tús. Ní bheidh líon na n-innill sa bhraisle riamh níos lú ná an t-íosmhéid a shonraítear agus níos mó ná an t-uasmhéid, fiú amháin más rud é gur cheart go ndéanfaí scálaithe de réir na méadrachta.

Beartais scálaithe — paraiméadair scálaithe, ach déanfaimid scála de réir na dtascanna reatha ECS, mar sin déanfaimid an scálaithe a chumrú níos déanaí.

Cosaint ar scála cás — cásanna a chosaint ar scriosadh le linn scálú síos. Cumasaimid é ionas nach scriosann ASG an meaisín a bhfuil tascanna reatha aige. Díchumasóidh Soláthraí Acmhainne ECS cosaint i gcásanna nach bhfuil cúraimí orthu.

Cuir clibeanna leis — is féidir leat clibeanna a shonrú le haghaidh cásanna (do seo, ní mór ticbhosca cásanna nua Clib a sheiceáil). Molaim an chlib Ainm a shonrú, ansin beidh an t-ainm céanna ag gach cás a sheoltar laistigh den ghrúpa, agus tá sé áisiúil iad a fheiceáil sa chonsól.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Tar éis duit an grúpa a chruthú, oscail é agus téigh go dtí an rannán cumraíochtaí Casta. Cén fáth nach bhfuil gach rogha le feiceáil sa chonsól ag céim an chruthaithe.

Polasaithe foirceanta — rialacha a chuirtear san áireamh agus cásanna á scriosadh. Cuirtear i bhfeidhm iad in ord. Úsáidimid na cinn sa phictiúr thíos de ghnáth. Ar dtús, scriostar cásanna leis an Teimpléad Seolta is sine (mar shampla, má nuashonraíomar an AMI, chruthaigh muid leagan nua, ach d'éirigh le gach cás aistriú chuige). Ansin roghnaítear na cásanna is gaire don chéad uair billeála eile. Agus ansin roghnaítear na cinn is sine bunaithe ar an dáta seolta.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Dea-eolas: gach meaisín a nuashonrú i mbraisle, áisiúil le húsáid Athnuachan Meáchain. Má chomhcheanglaíonn tú é seo le feidhm Lambda ón gcéim roimhe seo, beidh córas nuashonraithe ásc lán-uathoibrithe agat. Sula ndéantar na meaisíní go léir a nuashonrú, ní mór duit cosaint scála isteach samplaí a dhíchumasú do gach cás sa ghrúpa. Gan cumraíocht sa ghrúpa, ach cosaint ó na meaisíní iad féin, déantar é seo ar an gcluaisín bainistíochta cásanna.

Cothromóir Ualach Feidhmchláir agus Spriocghrúpa EC2

Cruthaítear an t-iarmhéid sa rannán EC2 → Cothromú Ualach → Cothromóirí Ualaigh. Úsáidfimid Cothromóir Ualach Feidhmchláir; is féidir comparáid a dhéanamh idir cineálacha éagsúla cothromóirí a léamh ag leathanach seirbhíse.

Éisteoirí - déanann sé ciall calafoirt 80 agus 443 a dhéanamh agus a atreorú ó 80 go 443 ag baint úsáide as rialacha balancer níos déanaí.

Criosanna Infhaighteachta — i bhformhór na gcásanna, roghnaímid criosanna inrochtaineachta do gach duine.

Cumraigh Socruithe Slándála - tá an deimhniú SSL don chothromóir léirithe anseo, is é an rogha is áisiúla deimhniú a dhéanamh in ACM. Maidir leis na difríochtaí Polasaí Slándála is féidir a léamh i doiciméadú, is féidir leat é a fhágáil roghnaithe de réir réamhshocraithe ELBSecurityPolicy-2016-08. Tar éis duit an balancer a chruthú, feicfidh tú é Ainm DNS, a theastaíonn uait chun an CNAME a chumrú do d'fhearann. Mar shampla, seo mar a fhéachann sé i Cloudflare.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Grúpa Slándála — cruthaigh nó roghnaigh grúpa slándála don chothromóir, scríobh mé níos mó faoi seo díreach thuas i Teimpléad Seoladh EC2 → Socruithe líonra alt.

Spriocghrúpa — cruthaímid grúpa atá freagrach as iarratais ón gcothromóir chuig meaisíní a ródú agus as a infhaighteacht a sheiceáil chun iad a athsholáthar i gcás fadhbanna. Cineál sprice Ní mór a bheith ina chás, Prótacal и Port ar bith, má úsáideann tú HTTPS le haghaidh cumarsáide idir an balancer agus cásanna, ansin ní mór duit deimhniú a uaslódáil chucu. Chun críocha an tsampla seo, ní dhéanfaimid é seo, fágfaimid calafort 80 go simplí.

Seiceálacha sláinte — paraiméadair chun feidhmiúlacht na seirbhíse a sheiceáil. I bhfíorsheirbhís, ba cheart gur iarratas ar leith é seo a chuireann codanna tábhachtacha den loighic ghnó i bhfeidhm; chun críocha an tsampla seo, fágfaidh mé na socruithe réamhshocraithe. Ansin, is féidir leat an t-eatramh iarratais, Teorainn ama, cóid ratha, srl a roghnú. In ár sampla, cuirfimid cóid Ratha 200-399 in iúl, toisc go dtugann an íomhá Docker a úsáidfear cód 304 ar ais.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Clárú Spriocanna — anseo roghnaítear na gluaisteáin don ghrúpa, ach inár gcás féin déanfaidh ECS é seo, mar sin ní dhéanaimid ach an chéim seo a scipeáil.

Dea-eolas: ag an leibhéal balancer is féidir leat a chumasú logs a shábháil i S3 i áirithe formáid. As sin is féidir iad a easpórtáil chuig seirbhísí tríú páirtí le haghaidh anailíse, nó is féidir leat fiosruithe SQL a dhéanamh go díreach ar na sonraí in S3 le ag baint úsáide as Athena. Tá sé áisiúil agus oibríonn sé gan aon chód breise. Molaim freisin go gcuirfí ar bun logs a bhaint as an buicéad S3 tar éis tréimhse sonraithe ama.

Sainiú Tasc ECS

Sna céimeanna roimhe seo, chruthaíomar gach rud a bhaineann leis an mbonneagar seirbhíse; anois táimid ag dul ar aghaidh go dtí cur síos ar na coimeádáin a sheolfaimid. Déantar é seo sa rannán ECS → Sainmhínithe Tasc.

Comhoiriúnacht cineál Seoladh - roghnaigh EC2.

Feidhmiú tascanna Ról IAM - roghnaigh ecsTaskExecutionRole. Agus é á úsáid, scríobhtar logaí, tugtar rochtain ar athróga rúnda, etc.

Sa Sainmhínithe Coimeádán alt, cliceáil Cuir Coimeádán.

Íomha — nasc leis an íomhá leis an gcód tionscadail; mar shampla seo úsáidfidh mé íomhá poiblí ó Docker Hub bitnami/nód-shampla:0.0.1.

Teorainneacha Cuimhne — teorainneacha cuimhne don choimeádán. Teorainn chrua — teorainn chrua, má théann an coimeádán thar an luach sonraithe, déanfar an t-ordú um mharú docker a fhorghníomhú, gheobhaidh an coimeádán bás láithreach. Teorainn Bog — teorainn bhog, féadfaidh an coimeádán dul thar an luach sonraithe, ach cuirfear an paraiméadar sin san áireamh agus tascanna á gcur ar mheaisíní. Mar shampla, má tá 4 GiB RAM ag meaisín, agus is é 2048 MiB teorainn bog coimeádán, ansin is féidir leis an meaisín seo uasmhéid de 2 thasc reatha a bheith aige leis an gcoimeádán seo. I ndáiríre, tá 4 GiB RAM beagán níos lú ná 4096 MiB, is féidir é seo a fheiceáil ar chluaisín Cúinsí ECS sa bhraisle. Ní féidir teorainn bhog a bheith níos airde ná an teorainn chrua. Tá sé tábhachtach a thuiscint má tá roinnt coimeádáin i dtasc amháin, ansin go ndéantar a dteorainneacha a achoimriú.

Léarscáileanna port - ag Port óstach Léirímid 0, ciallaíonn sé seo go sannfar an calafort go dinimiciúil agus go ndéanfaidh an Spriocghrúpa monatóireacht air. Port Coimeádán — is minic a shonraítear an port ar a ritheann d’iarratas san ordú forghníomhaithe, nó sannta i do chód iarratais, Dockerfile, etc. Mar shampla, úsáidfimid 3000 toisc go bhfuil sé liostaithe i dockerfile an íomhá atá á húsáid.

Seiceáil sláinte — paraiméadair seiceála sláinte coimeádán, gan a mheascadh leis an gceann atá cumraithe sa Spriocghrúpa.

Comhshaol - socruithe timpeallachta. aonaid LAP - cosúil le teorainneacha Cuimhne, ach amháin maidir leis an próiseálaí. Tá 1024 aonad ag gach croí próiseálaí, mar sin má tá próiseálaí dé-lárnach ag an bhfreastalaí agus go bhfuil an coimeádán socraithe go 512, ansin is féidir 4 thasc leis an gcoimeádán seo a sheoladh ar fhreastalaí amháin. Comhfhreagraíonn aonaid LAP do líon na gcroí i gcónaí; ní féidir beagán níos lú díobh a bheith ann, mar atá i gcás cuimhne.

Ceannasaíocht — ordú chun seirbhís a thosú laistigh de choimeádán, sonraítear na paraiméadair go léir scartha le camóga. D'fhéadfadh sé seo a bheith gunicorn, npm, etc. Mura sonraítear é, úsáidfear luach na treorach CMD ón Dockerfile. Léiríonn muid npm,start.

Athróga comhshaoil — athróga timpeallachta coimeádáin. Is féidir gur sonraí téacs simplí nó athróga rúnda ó Bainisteoir RúinStór Paraiméadar.

Stóráil agus Logáil - anseo socróimid logáil isteach CloudWatch Logs (seirbhís le haghaidh logaí ó AWS). Chun seo a dhéanamh, níl le déanamh ach an ticbhosca Logchomhadaigh CloudWatch Auto-chumrú a chumasú. Tar éis an Sainmhíniú Tasc a chruthú, cruthófar grúpa logaí go huathoibríoch i CloudWatch. De réir réamhshocraithe, stóráiltear logaí ann ar feadh tréimhse éiginnte; molaim an tréimhse Choinneála a athrú ó Ná Dul in Éag go dtí an tréimhse riachtanach. Déantar é seo i ngrúpaí CloudWatch Log, ní mór duit cliceáil ar an tréimhse reatha agus ceann nua a roghnú.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Braisle ECS agus Soláthraí Acmhainne ECS

Téigh go dtí an rannóg ECS ​​→ Cnuasaigh chun braisle a chruthú. Roghnaigh muid EC2 Linux + Líonrú mar an teimpléad.

Ainm braisle - an-tábhachtach, déanaimid anseo an t-ainm céanna a shonraítear i bparaiméadar Seoladh Teimpléad ECS_CLUSTER, inár gcás - DemoApiClusterProd. Seiceáil an ticbhosca Cruthaigh braisle folamh. Go roghnach, is féidir leat Container Insights a chumasú chun amharc ar mhéadracht le haghaidh seirbhísí i CloudWatch. Má rinne tú gach rud i gceart, ansin sa rannóg Cúinsí ECS feicfidh tú meaisíní a cruthaíodh sa ghrúpa Auto Scálú.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Téigh go cluaisín Soláthraithe Cumais agus ceann nua a chruthú. Lig dom a mheabhrú duit go bhfuil sé ag teastáil chun cruthú agus múchadh meaisíní a rialú ag brath ar líon na dtascanna ECS ​​a rith. Tá sé tábhachtach a thabhairt faoi deara nach féidir soláthraí a shannadh ach do ghrúpa amháin.

Grúpa Uathscála — roghnaigh an grúpa a cruthaíodh roimhe seo.

scálú bainistithe — é a chumasú ionas gur féidir leis an soláthraí an tseirbhís a scála.

Acmhainn sprice % — cén céatadán de mheaisíní atá luchtaithe le tascanna a theastaíonn uainn. Má shonraíonn tú 100%, ansin beidh gach meaisín i gcónaí gnóthach le tascanna reatha. Má shonraíonn tú 50%, ansin beidh leath de na gluaisteáin saor in aisce i gcónaí. Sa chás seo, má tá léim ghéar san ualach, gheobhaidh tacsaithe nua gluaisteáin saor láithreach, gan fanacht le himscaradh cásanna.

Cosaint foirceanta bainistithe — a chumasú, ceadaíonn an paraiméadar seo don soláthraí cosaint cásanna a bhaint ó scriosadh. Tarlaíonn sé seo nuair nach bhfuil aon tascanna gníomhacha ar an meaisín agus ceadaíonn sé acmhainn Sprioc%.

Seirbhís ECS agus socruithe scálaithe

An chéim dheireanach :) Chun seirbhís a chruthú, ní mór duit dul chuig an mbraisle a cruthaíodh roimhe seo ar an táb Seirbhísí.

Cineál seolta — ní mór duit cliceáil ar Athraigh go straitéis soláthraí acmhainne agus roghnaigh na soláthraithe a cruthaíodh roimhe seo.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Sainmhíniú Tasc — roghnaigh an sainmhíniú ar an Tasc a cruthaíodh roimhe seo agus an t-athbhreithniú air.

Ainm seirbhíse — chun mearbhall a sheachaint, cuirimid in iúl i gcónaí an rud céanna agus an sainmhíniú ar Thasc.

Cineál seirbhíse - i gcónaí Macasamhail.

Líon tascanna — an líon inmhianaithe tascanna gníomhacha sa tseirbhís. Tá an paraiméadar seo á rialú ag scálú, ach ní mór é a shonrú go fóill.

faoin gcéad sláintiúil íosta и Uasmhéid faoin gcéad — iompraíocht tascanna a chinneadh le linn imscartha. Is iad na luachanna réamhshocraithe ná 100 agus 200, rud a léiríonn go n-ardóidh líon na dtascanna arís agus arís eile tráth an imscartha, agus ansin filleadh ar an luach atá ag teastáil. Má tá 1 tasc á rith agat, nóim = 0, agus uas = 100, ansin le linn an imscartha marófar é, agus ina dhiaidh sin ardófar ceann nua, is é sin, beidh sé am aga. Má tá tasc amháin ar siúl, nóim=1, uas=50, ní tharlóidh imscaradh ar chor ar bith, mar ní féidir tasc amháin a roinnt ina dhá leath nó a mhéadú faoi uair go leith.

Cineál imlonnaithe — fág nuashonrú Rollta.

Teimpléid Socrúcháin — rialacha maidir le tascanna a chur ar mheaisíní. Is é an réamhshocrú ná Scaip Chothromaithe AZ - ciallaíonn sé seo go gcuirfear gach tasc nua ar ásc nua go dtí go n-ardóidh meaisíní i ngach crios infhaighteachta. De ghnáth déanaimid BinPack - CPU agus Scaip - AZ; leis an mbeartas seo, cuirtear tascanna chomh dlúth agus is féidir ar mheaisín amháin in aghaidh an LAP. Más gá meaisín nua a chruthú, cruthaítear é i gcrios infhaighteachta nua.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Íoslódáil an cineál cothromaíochta — roghnaigh Cothromóir Luchtaithe Feidhmchláir.

Ról seirbhíse IAM - roghnaigh ecsServiceRole.

Íosluchtaigh ainm cothromóir — roghnaigh an cothromóir a cruthaíodh roimhe seo.

Tréimhse cairde seiceáil sláinte — sos roimh sheiceálacha sláinte a dhéanamh tar éis tasc nua a chur i bhfeidhm, is gnách go ndéanaimid é a shocrú go 60 soicind.

Coimeádán chun iarmhéid a luchtú — i mír ainm an spriocghrúpa, roghnaigh an grúpa a cruthaíodh roimhe seo, agus líonfar gach rud isteach go huathoibríoch.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

Scálú Uathoibríoch Seirbhíse — paraiméadair scálú seirbhíse. Roghnaigh Cumraigh Scálú Uathoibríoch Seirbhíse chun comhaireamh inmhianaithe do sheirbhíse a choigeartú. Socraímid an t-íoslíon agus an t-uaslíon tascanna agus muid ag scálaithe.

Ról IAM maidir le Scálú Uathoibríoch Seirbhíse - roghnaigh AWSServiceRoleForApplicationAutoScaling_ECSService.

Polasaithe scálú tascanna uathoibríocha — rialacha maidir le scálaithe. Tá 2 chineál ann:

  1. Rianú sprice — spriocmhéadracht a rianú (úsáid LAP/RAM nó líon na n-iarratas ar gach tasc). Mar shampla, ba mhaith linn an meán-ualach próiseálaí a bheith 85%, nuair a éiríonn sé níos airde, cuirfear tascanna nua leis go dtí go sroicheann sé an luach sprice. Má tá an t-ualach níos ísle, ansin bainfear tascanna, ar a mhalairt, mura bhfuil cosaint in aghaidh scálú síos cumasaithe (Díchumasaigh scála isteach).
  2. Scálú céim - imoibriú ar imeacht treallach. Anseo is féidir leat imoibriú a chumrú ar aon imeacht (CloudWatch Alarm), nuair a tharlaíonn sé, is féidir leat an líon sonraithe tascanna a chur leis nó a bhaint, nó líon beacht na dtascanna a shonrú.

D'fhéadfadh go mbeadh roinnt rialacha scálaithe ag seirbhís, is féidir é seo a bheith úsáideach, is é an rud is mó ná a chinntiú nach mbíonn siad ag teacht salach ar a chéile.

Conclúid

Má lean tú na treoracha agus má d'úsáid tú an íomhá Docker céanna, ba cheart do do sheirbhís leathanach mar seo a chur ar ais.

API Inscálaithe a Thógáil ar Spot-Chásanna AWS

  1. Tá teimpléad cruthaithe againn ar dá réir a sheoltar gach meaisín sa tseirbhís. D’fhoghlaimíomar freisin conas meaisíní a nuashonrú nuair a athraíonn an teimpléad.
  2. Táimid tar éis próiseáil an chomhartha stad láithreach a chumrú, mar sin laistigh de nóiméad tar éis é a fháil, baintear na tascanna reatha go léir as an meaisín, mar sin ní chailltear nó ní chuirtear isteach ar aon rud.
  3. D'ardaigh muid an cothromóir chun an t-ualach a dháileadh go cothrom ar fud na meaisíní.
  4. Tá seirbhís cruthaithe againn a ritheann ar chásanna ar an láthair, rud a laghdaíonn costais meaisín thart ar 3 huaire.
  5. Táimid tar éis uathscálú a chumrú sa dá threo chun ualaí méadaithe oibre a láimhseáil gan costais aga neamhfhónaimh a thabhú.
  6. Bainimid úsáid as Soláthraí Acmhainne ionas go ndéanann an feidhmchlár an bonneagar (meaisíní) a bhainistiú agus ní an bealach eile timpeall.
  7. Tá muid ar fheabhas.

Má tá spící intuartha san ualach agat, mar shampla tá tú ag fógraíocht i bhfeachtas mór ríomhphoist, is féidir leat scálú a shocrú de réir amchlár.

Is féidir leat scála a dhéanamh freisin bunaithe ar shonraí ó chodanna éagsúla de do chóras. Mar shampla, ní mór dúinn an fheidhmiúlacht tairiscintí aonair cur chun cinn a sheoladh amach úsáideoirí an fheidhmchláir mhóibíligh. Uaireanta seoltar feachtas chuig 1M+ duine. Tar éis dáileadh den sórt sin, tá méadú mór i gcónaí ar iarratais chuig an API, ós rud é go logálann go leor úsáideoirí isteach san iarratas ag an am céanna. Mar sin má fheicimid go bhfuil i bhfad níos mó táscairí caighdeánacha sa scuaine chun fógraí brú chun cinn a sheoladh, is féidir linn roinnt meaisíní agus tascanna breise a sheoladh láithreach le bheith réidh don ualach.

Beidh áthas orm má insíonn tú dom sna tuairimí cásanna suimiúla maidir le hócáidí láithreacha agus ECS a úsáid nó rud éigin faoi scálú.

Go gairid beidh ailt ann faoi conas a phróiseálaimid na mílte imeachtaí anailíse in aghaidh an tsoicind ar chairn nach bhfuil freastalaí den chuid is mó (le hairgead) agus conas a oibríonn imscaradh seirbhísí ag baint úsáide as GitLab CI agus Terraform Cloud.

Liostáil linn, beidh sé suimiúil!

Ní féidir ach le húsáideoirí cláraithe páirt a ghlacadh sa suirbhé. Sínigh isteach, le do thoil.

An n-úsáideann tú láithreacha i dtáirgeadh?

  • 22,2%Tá6

  • 66,7%Uimh18

  • 11,1%D'fhoghlaim mé mar gheall orthu ó alt agus plean chun iad a úsáid3

Vótáil 27 úsáideoir. Staon 5 úsáideoir.

Foinse: will.com

Add a comment