AWS मध्ये Auto Scaling म्हणजे काय? Min, Max आणि Desired सोप्या भाषेत
CloudWatch alarm average CPU जास्त राहिला की लोकांना आधीच कळवू शकतो (When to add a server: CloudWatch, threshold and period). पण तरीही माणसाला उठून server launch करावा लागतो. हा chapter तो माणूसच काढून टाकतो. Auto Scaling group launch template मधून servers launch करतो, त्यांना load balancer मागे ठेवतो, alarm सांगेल तसे add आणि remove करतो, आणि health check fail होणारा कुठलाही server बदलतो. min, desired आणि max चा खरा अर्थ worked examples सकट, max तुमचं bill कसं वाचवतो, आणि हे सगळं console मध्ये कसं बनवायचं, हे शिकाल.
या class मध्ये काय शिकणार
- Manual scaling का फसतं
- Alarm Auto Scaling group ला कसा चालवतो
- Launch template मध्ये काय असतं
- Min, desired आणि max, worked examples सकट
- किती servers सुरू होतात, आणि max bill कसं वाचवतो
- प्रत्येक tier ला एक load balancer आणि एक Auto Scaling group
- ELB health checks ने self-healing
- Console मध्ये बनवणे
- Golden AMI आणि launch template versions
- Target tracking, step, predictive आणि scheduled scaling
- Warmup, grace period आणि तीन health check प्रकार
- Instance refresh, maintenance policy आणि scale-in protection
1. Manual scaling का फसतं
फक्त alarm आणि SNS असेल तर scaling असं दिसतं:
- Average CPU 5 minutes 70% च्या वर राहतो; alarm वाजतो.
- SNS admin ला email करतो.
- Admin तो वाचतो, AMI मधून server launch करतो आणि target group मध्ये register करतो.
- Admin झोपलेला, प्रवासात किंवा busy असेल तर step 3 होतच नाही, आणि चालू servers slow होऊन crash होऊ शकतात.
Classroom line
Or you were busy on WhatsApp, on a call...
Class मधलं वाक्य
किंवा तुम्ही WhatsApp वर busy होता, call वर होता...
Classroom line – हिंदी
"Ya aap WhatsApp pe busy the, call pe the..."
समजा आपण Hotstar आहोत आणि मोठी cricket match चालू आहे. Match रंगात आली की minutes मध्ये viewers वाढतात. नवीन servers ready व्हायला minutes लागतात, म्हणून launching आपोआप, लगेच सुरू व्हायला हवं.
2. Auto Scaling कसं चालतं
- CloudWatch alarm group चा average CPU बघतो.
- तो वाजला की Auto Scaling group ची scaling policy थेट call करतो, उदा. "1 instance add करा". (SNS फक्त लोकांना कळवायला; scaling साठी त्याची गरज नाही.)
- Policy desired एकाने वाढवते.
- Group त्याच्या launch template मधून, तुम्ही निवडलेल्या subnets मध्ये, server launch करतो.
- Group त्याला load balancer च्या target group मध्ये आपोआप register करतो. Health check pass झाला की त्याला traffic मिळतं.
- Low alarm वाजला (उदा. average 30% च्या खाली) की policy desired कमी करते आणि group एक server terminate करतो.
Figure 1. Animation: average CPU 70% पार करतो आणि alarm Auto Scaling group ची policy call करतो; desired 2 वरून 3 होतो; launch template मधून नवीन server launch होतो; तो target group मध्ये register होतो आणि healthy झाल्यावर त्याला traffic मिळतं.
सगळे policy types (simple, step, target tracking, scheduled) Every Auto Scaling policy मध्ये आहेत.
3. Launch template: प्रत्येक नवीन server ची recipe
Group ला नक्की काय launch करायचं ते माहीत हवं. Launch template ते एकदाच ठेवतो:
- AMI: तुमच्या तयार web server ची image (Nginx, PHP, तुमचा code).
- Instance type: उदा.
t3.micro. - Key pair: SSH साठी, गरज असेल तर.
- Security group: उदा.
web-sg, जो फक्त load balancer च्या SG कडून 80 allow करतो. - Storage (EBS): root volume ची size आणि type.
- User data: पहिल्या boot ला चालणारी script, उदा. web server सुरू करायला किंवा latest code आणायला.
छोटं user data example:
```bash
!/bin/bash
sudo yum install nginx -y sudo service nginx start ```
Subnets template मध्ये नसतात; ते group मध्ये निवडायचे.
Golden AMI: एक development server बनवा, त्यावर Nginx आणि तुमचा code install करा, test करा, मग Actions > Image and templates > Create image. Template तोच AMI launch करतो, म्हणून प्रत्येक नवीन server boot ला सगळं install करण्याऐवजी एक-दोन minutes मध्ये तयार होतो.
Template versions: launch template app updates सारखे क्रमांक असलेले versions ठेवतो. Version 1 तुमच्या app 1.0 चा AMI वापरतो; app 2.0 तयार झालं की नवीन AMI बनवून तो त्याच template चा version 2 म्हणून save करता. मग group आपले servers नवीन version वर नेऊ शकतो (section 11).
Figure 2. Launch template मध्ये AMI, instance type, key pair, security group, EBS storage आणि user data असतं. Auto Scaling group त्यात subnets, target group आणि min, desired आणि max जोडतो.
4. Min, desired आणि max
- Desired: आत्ता किती servers चालायला हवेत. Group नेहमी चालू संख्या desired इतकी ठेवायला काम करतो.
- Min: desired याच्या खाली कधीच जात नाही, रात्री 2 वाजता सुद्धा.
- Max: सगळे servers busy असले तरी desired याच्या वर कधीच जात नाही.
Worked example 1: scale out. समजा min 1, desired 2, max 4.
- Average CPU 70% च्या वर राहतो: desired 2 → 3. तिसरा server सुरू.
- अजून 70% च्या वर: desired 3 → 4.
- अजून 70% च्या वर: desired 4 च राहतो. 5वा server नाही, कारण max 4.
Worked example 2: scale in. तोच group रात्री 2 वाजता.
- Average CPU 30% च्या खाली: desired 4 → 3, मग 3 → 2, मग 2 → 1.
- अजून कमी: desired 1 च राहतो. Min 1 असताना 0 होऊ शकत नाही.
Figure 3. Animation: समजा min 1, desired 2, max 4. जास्त CPU ने desired 3 आणि मग 4 होतो, आणि max 4 ला थांबतो; रात्री कमी CPU ने तो 1 वर येतो, आणि min 1 ला थांबतो.
5. किती servers सुरू होतात?
Classroom line
Many say it starts with the minimum. No!
Class मधलं वाक्य
खूप लोक म्हणतात सुरुवातीला minimum असेल. नाही!
Classroom line – हिंदी
"Bahut saare log bolte hain starting mein minimum hoga. Nahi!"
नवीन group desired इतके launch करतो, min नाही.
- समजा min 2, desired 3, max 6.
- बनवल्यावर 3 servers launch होतात.
- नंतर policies desired 2 ते 6 मध्ये कुठेही हलवतात.
Figure 4. समजा min 2, desired 3, max 6: group 3 servers (desired) सुरू करतो, आणि नंतर 2 ते 6 मध्ये हलतो.
6. Max तुमचं bill वाचवतो
- AWS वापरल्यानंतर bill करतो, चाललेल्या प्रत्येक server चं.
- योग्य max नसेल तर अचानक spike, CPU खाणारा bug, किंवा junk traffic चा पूर, plan पेक्षा कितीतरी जास्त servers launch करू शकतो.
- म्हणून max तुम्हाला परवडेल तेवढा ठेवा. खरी growth झाली आणि जास्त लागले, तर तो स्वतः, ठरवून वाढवा.
Classroom line
Don't launch more servers than you can pay for.
Class मधलं वाक्य
आपल्या ऐपतीपेक्षा जास्त servers launch होता कामा नयेत.
Classroom line – हिंदी
"Aisa nahi hona chahiye ki aap apni aukaat se zyada server launch karo."
Worked example: max चा खर्च किती? समजा एका server चा खर्च तासाला ₹1 आहे (गणित सोपं ठेवायला घेतलेला गोल आकडा) आणि max 4. हा group जास्तीत जास्त 4 × ₹1 × 24 = दिवसाला ₹96 खर्च करू शकतो. Max 40 असेल तर ceiling दिवसाला ₹960. तुमच्या आकड्यांसाठी तुमच्या instance type ची खरी किंमत वापरा.
7. Subnets, AZs, आणि प्रत्येक tier ला एक group
- Group तुमच्या VPC मध्ये तुम्ही निवडलेल्या subnets मध्ये launch करतो, आणि servers त्यांच्या AZs मध्ये वाटतो. एका AZ मध्ये problem आला तर बाकीचे serve करत राहतात.
- Web tier आणि app tier चं काम आणि load वेगळं, म्हणून प्रत्येकाला स्वतःचा load balancer आणि स्वतःचा Auto Scaling group:
- Internet → internet-facing load balancer → web Auto Scaling group.
- Web tier → internal load balancer → app Auto Scaling group.
- Database RDS आहे, जो स्वतःच्या पद्धतीने scale होतो (मोठा instance, read replicas).
Classroom line
Each tier needs its own load balancer and its own Auto Scaling group; there's no other way.
Class मधलं वाक्य
"Doghanna vegvegle load balancer aani vegvegle auto scaling group lagnar, option ch nahi."
दोघांना वेगवेगळे load balancer आणि वेगवेगळे auto scaling group लागणार, optionच नाही.
Classroom line
Each tier needs its own load balancer and its own Auto Scaling group; there's no other way.
Figure 5. Internet ते internet-facing load balancer आणि दोन AZs मधला web Auto Scaling group; web tier ते internal load balancer आणि app Auto Scaling group; app tier ते RDS.
सगळं एकत्र, highly available: 2 AZs, प्रत्येकात 4 subnets: एक public (load balancer, NAT gateway, bastion), आणि web, app आणि database साठी private. म्हणजे 2 × 4 = 8 subnets.
8. Self-healing: फक्त load balancer vs Auto Scaling सोबत
फक्त load balancer:
- Server health check fail होतो आणि unhealthy mark होतो.
- त्याला traffic मिळत नाही, पण तो बिघडलेल्या अवस्थेत तिथेच राहतो, कोणी दुरुस्त करेपर्यंत. आता एक server कमी.
Load balancer + ELB health checks सोबत Auto Scaling group:
- Group load balancer ला त्याचे कुठले servers healthy आहेत ते विचारतो.
- Unhealthy server terminate होतो.
- Launch template मधून नवीन launch होऊन register होतो. कोणी जागं नसताना संख्या परत desired इतकी.
हे चालवणारी setting: group चा health check type default ने EC2 असतो, जो फक्त instance चालू आहे का एवढंच बघतो. Elastic Load Balancing health checks चालू करा, म्हणजे Nginx बंद पडलेला server पण बदलला जाईल. नवीन servers ना judge करण्याआधी boot व्हायला grace period द्या (उदा. 300 seconds).
आणखी एक: group चा server तुम्ही हाताने terminate केला तर group desired गाठायला सरळ नवीन launch करतो. Servers कायमचे बंद करायचे असतील तर desired आणि min 0 करा, किंवा group delete करा.
Figure 6. Animation: फक्त load balancer असेल तर unhealthy server ला traffic मिळत नाही पण तो बिघडलेलाच राहतो; ELB health checks वापरणाऱ्या Auto Scaling group मध्ये unhealthy server terminate होतो आणि नवीन launch होऊन register होतो.
याचं lab version: Auto Scaling आणि How this connects to scaling.
9. Scaling policy चे प्रकार
का: "CPU जास्त झाला की server add करा" हा फक्त एक मार्ग आहे. वेगवेगळ्या traffic साठी AWS चार देतो.
- Target tracking (dynamic): तुम्ही एक target देता, उदा. "average CPU 50% ठेवा". Average त्याच्यावर गेला की group servers add करतो आणि बराच खाली आला की remove करतो. CloudWatch alarms तो स्वतः बनवतो आणि सांभाळतो. हाच नेहमीचा पर्याय.
- Step किंवा simple scaling (dynamic): alarms तुम्ही स्वतः बनवता आणि काय करायचं ते सांगता, उदा. "CPU ≥ 70% 5 minutes: 1 server add करा" (section 13, Part C).
- Predictive scaling: AWS तुमच्या जुन्या traffic वरून शिकतो आणि नेहमी येणाऱ्या peak आधी servers launch करतो. समजा आपण Netflix आहोत आणि दर Friday संध्याकाळी 6 ला traffic उडी मारतो: predictive scaling साधारण 5:55 पर्यंत servers चालू ठेवू शकतो.
- Scheduled scaling: ठरलेल्या date आणि time साठी capacity तुम्ही set करता. समजा आपण Flipkart आहोत आणि sale सकाळी 6 ला सुरू होतो, किंवा phone launch 10 ला, किंवा cricket match संध्याकाळी 6 ला: desired त्याच्या जरा आधी वाढेल असा schedule करा.
- Dynamic policies load आल्यावर react करतात; predictive आणि scheduled त्याच्या आधीच तयार होतात.
Classroom line
Suddenly people come and traffic starts rising.
Class मधलं वाक्य
"Achanakach loka yetat ani mag traffic vadhayla lagto."
अचानकच लोकं येतात आणि मग traffic वाढायला लागतो.
Classroom line
Suddenly people come and traffic starts rising.
Worked example: एक busy server असून scale out का होत नाही
- Group मध्ये 2 servers आणि 50% average CPU वर target tracking policy.
- फक्त एका server ला 100% stress करा; दुसरा 0% जवळ राहतो.
- Average = (100 + 0) ÷ 2 = 50%. तो target वरच आहे, वर नाही, म्हणून group कदाचित server add करणार नाही.
- दोन्हींना 100% stress करा: average = (100 + 100) ÷ 2 = 100%, 50% च्या खूप वर, म्हणून group max 4 पर्यंत अजून servers launch करतो.
10. Warmup, grace period आणि health checks
Instance warmup (उदा. 60 seconds): नवीन server ला boot होऊन Nginx सुरू करायला वेळ लागतो, आणि तेवढ्या वेळात त्याचे CPU आकडे normal नसतात. Warmup संपेपर्यंत त्याचे metrics group च्या average मधून बाहेर ठेवले जातात, म्हणजे boot होणाऱ्या एका server मुळे अजून scaling होत नाही.
Health check grace period (उदा. 60 ते 300 seconds): launch नंतर server ची health ठरवण्याआधी group किती थांबतो. खूप कमी ठेवला तर boot होत असलेले servers loop मध्ये terminate होतात.
Health check प्रकार:
- EC2 (नेहमी चालू): instance स्वतः चालू आहे का ते check करतो.
- Elastic Load Balancing: server ने target group चा health check पण pass करायला हवा, उदा. Nginx
/ला उत्तर देतो. - Amazon EBS: attach केलेला EBS volume impaired झाला (I/O किंवा hardware problem) की instance unhealthy ठरवतो. Disk किती भरली ते तो check करत नाही; disk usage साठी CloudWatch agent लागतो.
11. Downtime शिवाय servers update करणं
का: समजा load balancer मागे 10 servers तुमचं app version 1.0 चालवतात, आणि version 2.0 तयार आहे. सगळे 10 बंद करून नवीन सुरू केले तर site बंद पडेल.
- Version 2.0 सकट नवीन AMI बनवा आणि तो launch template चा version 2 म्हणून save करा.
- Group ला नवीन version कडे point करा.
- Group वर Instance refresh सुरू करा. तो batches मध्ये servers बदलतो, आणि minimum healthy percentage राखतो, उदा. 90%, म्हणजे 10 पैकी एका वेळी फक्त 1 बदलतो.
Instance maintenance policy: server बदलताना group काय करतो.
- Launch before terminating: नवीन server सुरू करा, तो healthy होईपर्यंत थांबा, मग जुना terminate करा. Capacity कधीच कमी होत नाही; थोडा वेळ एका extra server चे पैसे लागतात.
- Terminate and launch: आधी जुना terminate, मग नवीन सुरू. स्वस्त, पण बदलताना capacity कमी होते.
Classroom line
Some people worry that launching 10 new servers first will raise their bill.
Class मधलं वाक्य
काही लोकांना वाटतं, आधी 10 servers launch केले तर bill येईल.
Classroom line – हिंदी
"Kuch logo ka kya hai, pehle 10 server launch karu toh mera bill aayega."
12. Scale-in protection
- Instance scale-in protection group scale in करताना तो instance terminate होऊ देत नाही. मधेच तुटू नये असं मोठं काम करणाऱ्या server साठी वापरा.
- छोट्या dips ना protection लागत नाही. समजा आपण cricket match stream करतोय: ad break मध्ये viewers काही minutes कमी होतात आणि परत येतात. Target tracking हळू आणि सावधपणे scale in करतो, आणि policy साठी scale-in बंदही करता येतो, म्हणजे एका minute नंतर परत लागणारे servers group काढत नाही.
13. Console मध्ये बनवा
Part A: launch template
- EC2 > Launch templates > Create launch template, नाव
web-lt. - Provide guidance to help me set up a template that I can use with EC2 Auto Scaling tick करा.
- AMI: तुमची web server AMI (My AMIs). Instance type:
t3.micro. Key pair: तुमची. - Network settings: subnet निवडू नका; security group
web-sgनिवडा. - Advanced details > User data: section 3 मधली script paste करा. Create launch template.
Part B: Auto Scaling group
- EC2 > Auto Scaling groups > Create Auto Scaling group, नाव
web-asg, launch templateweb-lt. Next. - Network: तुमचा VPC, आणि दोन AZs मधले web subnets. Next.
- Load balancing: Attach to an existing load balancer, target group
tg-webनिवडा (तो कसा बनवला). - Health checks: Turn on Elastic Load Balancing health checks tick करा, grace period 300 seconds. Next.
- Group size: desired 2, min 1, max 4.
- Scaling: आत्ता No scaling policies निवडा (Part C मध्ये add करू). लोकांना launches बद्दल कळावं म्हणून optional SNS notification टाका. Create Auto Scaling group.
- दोन servers launch होऊन
tg-webमध्ये healthy targets म्हणून दिसतात.
Part C: CloudWatch alarm ने चालणारी scaling policy
- CloudWatch > Alarms > Create alarm > Select metric > EC2 > By Auto Scaling Group,
web-asg,CPUUtilization. Statistic Average, period 5 minutes, ≥ 70. Email नको असेल तर notification काढा. नावweb-cpu-high, Create alarm. web-cpu-lowतसाच बनवा, < 30 सोबत.web-asg> Automatic scaling > Create dynamic scaling policy उघडा, type Simple scaling, alarmweb-cpu-high, action Add 1 capacity units, मग 300 seconds थांबा. Create.- Alarm
web-cpu-lowआणि action Remove 1 capacity units सोबत दुसरी policy बनवा. - (Target tracking policy, "average CPU 50% ठेवा", दोन्ही alarms तुमच्यासाठी बनवते; production मध्ये नेहमी हीच निवड.)
Part D: test करा
- दोन्ही servers वर SSH करून
sudo yum install stress-ng -yआणिstress-ng --cpu 2 --timeout 900चालवा. - साधारण 5 minutes मध्ये
web-cpu-highIn alarm होतो; Activity मध्ये launch दिसतो; desired 3, नंतर 4, कधीच 5 नाही. - Stress संपलं की
web-cpu-lowतो परत खाली आणतो, 1 च्या खाली कधीच नाही. - एका server वर Nginx बंद करा:
sudo service nginx stop. तोtg-webमध्ये unhealthy होतो, आणि group त्याला बदलतो.
Part E: group ला स्वतःचा load balancer बनवू द्या
- Create Auto Scaling group मध्ये Load balancing step वर Attach to a new load balancer निवडा: Application Load Balancer, Internet-facing, port 80 वर नवीन target group.
- Health checks: Elastic Load Balancing health checks चालू करा, grace period 60 seconds. Group size: desired 2, min 1, max 4. Policy: Target tracking, Average CPU utilization, target 50, instance warmup 60 seconds. Maintenance policy: Launch before terminating.
- Activity मध्ये launches दिसतात, उदा. "changing the desired capacity from 0 to 2". Instance management मध्ये दोन्ही InService दिसतात; target group मध्ये ते initial मधून healthy होतात.
- Load balancer चं DNS name उघडा. Timeout झालं तर load balancer चा security group internet कडून HTTP 80 allow करत नाही: त्यात HTTP, 80, 0.0.0.0/0 add करा, आणि page load होतं.
- Servers च्या security group वर 80 फक्त load balancer च्या security group कडून allow करा. Servers ना public IPs लागत नाहीत: load balancer त्यांच्यापर्यंत private IPs वर पोहोचतो.
Part F: group मधल्या server ला SSH
- EC2 Instance Connect किंवा SSH साठी servers च्या security group मध्ये port 22 open हवा;
0.0.0.0/0पेक्षा My IP वापरा. - Private subnets मधल्या servers साठी jump server मधून जा:
ssh -J ec2-user@<jump-public-ip> ec2-user@<private-ip>(Bastion Host आणि NAT Gateway ने Private EC2 कसा access करायचा). - Windows वर PowerShell मध्ये
chmod 400चालत नाही. Key file च्या Properties > Security > Advanced मध्ये inheritance disable करा आणि फक्त तुमच्या user ला Read ठेवा; किंवा Git Bash किंवा WSL मधून SSH चालवा. - सैल permissions असलेल्या key ला UNPROTECTED PRIVATE KEY FILE warning येते. Login आधी Connection closed किंवा timeout म्हणजे सहसा network, security group किंवा firewall problem, key नाही.
Classroom line
To create fake traffic we go inside the EC2 and run the stress command.
Class मधलं वाक्य
Fake traffic बनवायचा असेल तर EC2 च्या आत जाऊन stress command चालवावी लागते.
Classroom line – हिंदी
"Fake traffic create karna hai toh EC2 ke andar jake humein stress command fire karna padega."
14. काही चुकलं तर
- नवीन servers launch होतात पण unhealthy च राहतात: user data fail झाला, AMI तयार web server ची नाही, किंवा
web-sgload balancer SG कडून 80 allow करत नाही. - Servers सारखे terminate आणि launch होत राहतात: boot ला लागणाऱ्या वेळेपेक्षा grace period छोटा, किंवा health-check path error देतो.
- Unhealthy target कधीच बदलला जात नाही: group चा health check type अजून फक्त EC2. ELB health checks चालू करा.
- Alarm वाजतो पण काहीच launch होत नाही: desired आधीच max वर आहे, किंवा alarm scaling policy ला नाही, फक्त SNS ला जोडलाय.
- तुम्ही servers terminate केले पण ते परत आले: group आपलं काम करतोय. Desired आणि min 0 करा, किंवा group delete करा.
Ravindra Bagale's Tip
वेळ लागणारं सगळं AMI मध्येच ठेवा आणि user data छोटा ठेवा, म्हणजे नवीन server एक-दोन minutes मध्ये ready होईल. ELB health checks नेहमी योग्य grace period सोबत चालू करा. आणि max हा technical नाही, budget चा निर्णय समजा: तो वाढवण्याआधी अजून एका server चा खर्च लिहून काढा.
15. संपूर्ण class एका page वर
- Alarm → SNS → माणूस म्हणजे manual scaling; माणूस busy किंवा झोपलेला असेल तर फसतं.
- Auto Scaling: alarm group ची scaling policy थेट call करतो; SNS फक्त लोकांसाठी.
- Launch template: AMI, instance type, key pair, SG, EBS, user data. Subnets group मध्ये निवडायचे.
- Desired = आत्ता चालू; min = खालची मर्यादा; max = वरची मर्यादा. Min 1, desired 2, max 4: वर 4 पर्यंत, खाली 1 पर्यंत.
- नवीन group desired ने सुरू होतो, min ने नाही (min 2, desired 3, max 6 → 3).
- Max म्हणजे तुमची खर्चाची मर्यादा; ठरवून वाढवा.
- प्रत्येक tier: स्वतःचा load balancer (internet-facing / internal) आणि स्वतःचा group, AZs मध्ये.
- ELB health checks चालू असतील तर group unhealthy servers बदलतो; फक्त load balancer त्यांना traffic पाठवणं थांबवतो एवढंच.
- हाताने terminate → बदलला जातो. कायमचं थांबवायला: desired आणि min 0, किंवा group delete.
- Policy प्रकार: target tracking (target राखा), step/simple (तुमचे alarms), predictive (नेहमीच्या peaks आधी), scheduled (ठरलेल्या dates).
- Warmup boot होणारे servers average बाहेर ठेवतो; grace period health ठरवणं पुढे ढकलतो; EBS health checks impaired volumes पकडतात, भरलेल्या disks नाही.
- नवीन version: नवीन AMI → template version 2 → instance refresh; launch before terminating capacity राखतो.
- Scale-in protection मोठं काम करणाऱ्या server ला terminate होऊ देत नाही.
16. घरी करून बघा
घरी करून बघा
Task 1: कागदावर
- Min 2, desired 2, max 5. CPU खूप वेळ जास्त राहतो. शेवटी desired किती? मग traffic शून्य होतं. आता desired किती?
- Min 1, desired 4, max 8: group बनवल्यावर किती servers launch होतात?
- समजा एका server चा खर्च तासाला ₹2. Max 6 असलेला group दिवसाला जास्तीत जास्त किती खर्च करू शकतो?
Task 2: console मध्ये
- तुमच्या ALB मागे
web-ltआणिweb-asg(min 1, desired 2, max 4) बनवा, ELB health checks चालू ठेवून. - High आणि low simple scaling policies टाका,
stress-ngचालवा, आणि desired हलताना बघा. - एक instance हाताने terminate करा आणि group तो बदलताना बघा.
Task 3: clean up
- Auto Scaling group delete करा (तो त्याचे servers terminate करतो), मग alarms, launch template आणि load balancer.
Recap
थोडक्यात
- Auto Scaling group servers launch करणाऱ्या माणसाची जागा घेतो.
- Launch template काय launch करायचं ते सांगतो; group कुठे आणि किती ते सांगतो.
- Desired min आणि max मध्ये हलतो; नवीन group desired ने सुरू होतो.
- Max bill वाचवतो.
- ELB health checks load balancer चं "वगळ" group च्या "बदल" मध्ये बदलतात.
सराव Tasks
Nairobi Ride हा नैरोबी मधला वाहतूक व्यवसाय आहे. Wanjiru Kamau त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे KES मध्ये मोजले जातात आणि AWS resources af-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 10
सोपं Auto Scaling group describe करा
का: Group चे सध्याचे instances व sizes पाहा.
काय करायचं: nairobiride-asg Auto Scaling group describe करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Desired capacity बदला
का: मोठ्या sale आधी desired capacity वाढवा.
काय करायचं: nairobiride-asg ची desired capacity 4 करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Min व max size बदला
का: Max bill वाचवतो; min site चालू ठेवतो.
काय करायचं: nairobiride-asg चे min 1 व max 10 करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Target health तपासा
का: Targets unhealthy असल्यास site 502/503 errors दाखवते.
काय करायचं: arn:aws:elasticloadbalancing:af-south-1:104591109902:targetgroup/nairobiride-tg/6d0ecf831eec9f09 मधल्या targets चं health दाखवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Kubernetes LoadBalancer Service
का: LoadBalancer Service ला AWS load balancer मिळतो.
काय करायचं: app: web select करणारी LoadBalancer Service, port 80 → targetPort 8080.
- Task मधल्या top-level keys पासून सुरू करा.
- Child keys 2 spaces ने indent करा (tabs नकोत).
- प्रत्येक property मध्ये task मधली value भरा.
- Check answer दाबा. Keys चा क्रम महत्त्वाचा नाही.
अवघड Auto Scaling group बनवा
का: Min, max व desired किती servers चालतील ते ठरवतात.
काय करायचं: Launch template nairobiride-lt पासून nairobiride-asg बनवा: min 2, max 6, desired 2, subnets subnet-0045d110dd02bb1,subnet-045d110dd02bb2.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Launch template बनवा
का: Launch template म्हणजे Auto Scaling प्रत्येक नवा server बनवण्यासाठी वापरते ती recipe.
काय करायचं: lt.json मधल्या settings वापरून nairobiride-lt launch template बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Instance refresh ने नवी AMI आणा
का: Instance refresh servers थोडे-थोडे बदलतो, site चालू राहते.
काय करायचं: nairobiride-asg वर instance refresh सुरू करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Application Load Balancer बनवा
का: High availability साठी ALB ला वेगवेगळ्या AZs मधले किमान दोन subnets लागतात.
काय करायचं: nairobiride-alb नावाचा ALB subnets subnet-0045d110dd02bb1 व subnet-045d110dd02bb2 मध्ये security group sg-0045c110cc024c3b2 सह बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड HTTP listener जोडा
का: Listener port वर traffic स्वीकारतो व target group कडे पाठवतो.
काय करायचं: Load balancer arn:aws:elasticloadbalancing:af-south-1:104591109902:loadbalancer/app/nairobiride-alb/50dc6c495c0c9188 वर port 80 चा HTTP listener बनवा जो arn:aws:elasticloadbalancing:af-south-1:104591109902:targetgroup/nairobiride-tg/6d0ecf831eec9f09 कडे forward करेल.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
झटपट उजळणी cards
हा lesson दोन मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR त्याचा lesson उघडतो.











अजून cards: Ravi Sir's Cards.