Skaalauskäytännöt: Target Tracking ja Step Scaling
Määritätte Target Trackingin ylläpitämään CPU-käytön tavoitearvoa ja Step Scalingin reagoimaan CloudWatch-hälytysten kynnysarvoihin.
Skaalauskäytännöt: Target Tracking ja Step Scaling on ilmainen Cloud & IT Cert Prep-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Cloud & IT Cert Prep-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Miksi skaalauskäytäntöjä tarvitaan
Staattinen desired capacity toimii kuormituksen pysyessä vakiona, mutta todellinen liikenne vaihtelee. Skaalauskäytäntöjen avulla Auto Scaling Group voi säätää desired capacity -arvoa automaattisesti mittareiden perusteella. AWS tarjoaa kolme pääasiallista dynaamista käytäntötyyppiä: Target Tracking, Step Scaling ja Simple Scaling. SAA-C03-tenttiä varten on tärkeintä ymmärtää Target Tracking ja Step Scaling.
Target Tracking -skaalauksen selitys
Target Tracking Scaling toimii termostaatin tavoin: määritätte mittarin ja tavoitearvon, minkä jälkeen AWS laskee automaattisesti lisättävien tai poistettavien instanssien määrän pitääkseen mittarin tavoitearvossa. Jos esimerkiksi tavoitteena on 50 %:n keskimääräinen suorittimen käyttöaste ja käyttöaste nousee 80 prosenttiin, ASG lisää riittävästi instansseja palauttaakseen suorittimen käyttöasteen 50 prosenttiin. AWS hallinnoi sekä ulos- että sisäänskaalaustoimia puolestanne.
aws autoscaling put-scaling-policy \
--auto-scaling-group-name 'MyAppASG' \
--policy-name 'TargetTrackingCPU50' \
--policy-type TargetTrackingScaling \
--target-tracking-configuration '{
"PredefinedMetricSpecification": {
"PredefinedMetricType": "ASGAverageCPUUtilization"
},
"TargetValue": 50.0
}'Ennalta määritetyt ja mukautetut mittarit Target Trackingissa
Target Tracking tukee valmiiksi useita ennalta määritettyjä mittareita: ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut ja ALB-kohtainen ALBRequestCountPerTarget. Sovelluskohtaisia KPI-mittareita (jonon pituus, aktiiviset yhteydet, mukautetut liiketoimintamittarit) varten voitte antaa mukautetun CloudWatch-mittarin. Mukautetut mittarit antavat paljon tarkemman hallinnan siihen, mikä ohjaa skaalauspäätöksiä.
Target Trackingin jäähdytysjakso
Ulosskaalaustapahtuman jälkeen ASG odottaa jäähdytysjakson ajan (oletusarvoisesti 300 sekuntia) ennen uuden ulosskaalauksen arviointia. Tämä antaa juuri käynnistetyille instansseille aikaa alkaa käsitellä liikennettä, jotta mittari voi tasaantua. Vastaavasti sisäänskaalauksen jäähdytysjakso estää kapasiteetin lisäämistä seuraavan ennenaikaisen lopettamisen. Target Trackingissa AWS suosittelee lisäksi käynnistymisaikaa, jotta uudet instanssit eivät vääristä mittaria ennen kuin ne on alustettu kokonaan.
Step Scaling -skaalauksen selitys
Step Scaling reagoi CloudWatch-hälytyksiin lisäämällä tai poistamalla tietyn määrän instansseja sen perusteella, kuinka paljon mittari ylittää kynnysarvon. Määritätte useita step adjustment -säätöjä: kukin askel kattaa tietyn mittarialueen ja määrittää kapasiteetin muutoksen. Esimerkiksi: jos suorittimen käyttöaste on 60–70 %, lisätään 1 instanssi; jos se on 70–90 %, lisätään 3 instanssia; jos se ylittää 90 %, lisätään 5 instanssia. Näin kuormitustasoihin voidaan vastata asteittain ja oikeassa suhteessa.
Step Scaling -käytännön luominen
Step Scaling edellyttää aiemmin luotua CloudWatch-hälytystä. Hälytys valvoo mittaria ja siirtyy ALARM-tilaan, kun kynnysarvo ylittyy. Skaalauskäytäntö käyttää sen jälkeen step adjustment -säätöjä, joihin viitataan mittarin arvon ja hälytyksen kynnysarvon välisen suhteen perusteella. Voitte määrittää säätötyypiksi ChangeInCapacity (lisää N), ExactCapacity (aseta arvoksi N) tai PercentChangeInCapacity (skaalaa N prosenttia).
# First create a CloudWatch alarm
aws cloudwatch put-metric-alarm \
--alarm-name 'HighCPU' \
--metric-name CPUUtilization \
--namespace AWS/EC2 \
--statistic Average \
--period 60 \
--threshold 60 \
--comparison-operator GreaterThanOrEqualToThreshold \
--dimensions Name=AutoScalingGroupName,Value=MyAppASG \
--evaluation-periods 2 \
--alarm-actions 'arn:aws:autoscaling:us-east-1:123456789:scalingPolicy:...'Step Adjustment -määritys
Jokaisella step adjustment -säädöllä on MetricIntervalLowerBound ja valinnaisesti MetricIntervalUpperBound. Rajat ovat suhteessa hälytyksen kynnysarvoon. Jos hälytyksen kynnysarvo on 60 % suorittimen käyttöastetta: LowerBound=0, UpperBound=10 käynnistyy, kun käyttöaste on 60–70 %; LowerBound=10, UpperBound=null käynnistyy, kun käyttöaste ylittää 70 %. Tämä kerroksittainen lähestymistapa varmistaa, että suuret liikennepiikit saavat heti suuren kapasiteettilisäyksen sen sijaan, että jouduttaisiin odottamaan useita hälytyssyklejä.
# Step scaling policy with two steps
{
'StepAdjustments': [
{
'MetricIntervalLowerBound': 0,
'MetricIntervalUpperBound': 10,
'ScalingAdjustment': 2
},
{
'MetricIntervalLowerBound': 10,
'ScalingAdjustment': 5
}
],
'AdjustmentType': 'ChangeInCapacity'
}Simple Scaling: vanhempi vaihtoehto
Simple Scaling on Step Scalingin edeltäjä. Sen tavoin se edellyttää CloudWatch-hälytystä, mutta hälytyksen lauetessa se lisää tai poistaa kiinteän määrän instansseja ja odottaa sitten koko jäähdytysjakson päättymistä ennen uutta arviointia. Tämä tekee siitä hitaan nopeasti muuttuvassa kuormituksessa. Step Scaling on suositeltava, koska se voi laueta edelleen olosuhteiden heikentyessä odottamatta koko jäähdytysjakson päättymistä ja reagoi suhteessa kuormitukseen.
Sisäänskaalauksen esto ja instanssisuojaus
Joskus haluatte estää tiettyjen instanssien lopettamisen sisäänskaalauksen aikana – esimerkiksi instanssin, jossa suoritetaan pitkään kestävää eräajoa. Voitte ottaa instanssin sisäänskaalaussuojauksen käyttöön yksittäisissä instansseissa konsolin tai CLI:n kautta. Kun ASG valitsee lopetettavia instansseja, se ohittaa suojatut instanssit. Muistakaa poistaa suojaus työn valmistuttua, sillä ASG ei ehkä pysty skaalaamaan sisäänpäin lainkaan, jos kaikki instanssit ovat suojattuja.
aws autoscaling set-instance-protection \
--auto-scaling-group-name 'MyAppASG' \
--instance-ids 'i-0abc123def456' \
--protected-from-scale-inTarget Trackingin ja Step Scalingin yhdistäminen
Voitte liittää yhteen ASG:hen useita skaalauskäytäntöjä. Kun käytössä on sekä Target Tracking- että Step Scaling -käytäntö, ASG käyttää sitä käytäntöä, joka suosittelee suurempaa ulosskaalaustoimea (varovaisempi vaihtoehto). Sisäänskaalauksessa voittaa käytäntö, joka suosittelee pienimmän instanssimäärän poistamista. Tämä estää järjestelmää vaihtelemasta liian pienen ja liian suuren kapasiteetin välillä. Yleinen malli on käyttää Target Tracking -käytäntöä normaalitilanteessa ja Step Scaling -käytäntöä suojaamaan äkillisiltä kuormituspiikeiltä.
Skaalauskäytäntöjen parhaat käytännöt
Useimpien verkkosovellusten tapauksessa aloittakaa suorittimen käyttöasteeseen tai kohdekohtaiseen pyyntömäärään perustuvasta Target Trackingista: se vaatii vain vähän määrityksiä, ja AWS hoitaa laskennan. Käyttäkää Step Scalingia, kun tarvitsette asteittaisia ja suhteutettuja reaktioita eritasoiseen kuormitukseen. Asettakaa minimum capacity aina riittävän suureksi, jotta se käsittelee perustason liikenteen ilman ulosskaalauksen apua, sillä skaalaus vie aikaa. Valvokaa CloudWatch-mittareita GroupDesiredCapacity ja GroupInServiceInstances varmistaaksenne, että käytännöt toimivat odotetusti.
Pikatarkistus
Testatkaa tämän oppitunnin AWS Solutions Architect (SAA-C03) -käsitteiden ymmärtämistä.
Oppitunnin yhteenveto
Tässä oppitunnissa opitte, että Target Tracking Scaling laskee ja toteuttaa automaattisesti ulos- ja sisäänskaalaustoimet pitääkseen mittarin halutussa arvossa (kuten suorittimen käyttöasteen 50 prosentissa), Step Scaling käynnistää suhteellisesti suurempia toimia mittarin ylittäessä korkeampia kynnysarvoja CloudWatch-hälytyksiin perustuvien step adjustment -säätöjen avulla, ja käytäntöjen yhdistäminen samaan ASG:hen on turvallista: ASG käyttää varovaisinta ulosskaalaussuositusta ja vähiten voimakasta sisäänskaalaussuositusta. Seuraavaksi tutustumme ajoitettuun ja ennakoivaan skaalaukseen tunnettujen liikennemallien yhteydessä.
Opi Cloud & IT Cert Prep tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 150
- Oppitunnit
- 600
Usein kysytyt kysymykset
Onko oppitunti ”Skaalauskäytännöt: Target Tracking ja Step Scaling” ilmainen?
Kyllä – oppitunnin ”Skaalauskäytännöt: Target Tracking ja Step Scaling” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Cloud & IT Cert Prep-kurssin, päivitä CoddyKit PROhon. Cloud & IT Cert Prep-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Skaalauskäytännöt: Target Tracking ja Step Scaling”?
Määritätte Target Trackingin ylläpitämään CPU-käytön tavoitearvoa ja Step Scalingin reagoimaan CloudWatch-hälytysten kynnysarvoihin. Harjoittelet Cloud & IT Cert Prep-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Cloud & IT Cert Prep-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Cloud & IT Cert Prep-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Skaalauskäytännöt: Target Tracking ja Step Scaling”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Cloud & IT Cert Prep-oppitunnilla?
Kyllä. Jokainen Cloud & IT Cert Prep-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Launch Templatet ja ASG:n määritys
- Skaalauskäytännöt: Target Tracking ja Step Scaling
- Ajastettu ja ennakoiva skaalaus
- Instanssien päivitys ja elinkaarikoukut