Amazon ECS आणि Fargate म्हणजे काय? Servers न व्यवस्थापता Docker चालवा
Swiggy प्रत्येक order box मध्ये ठेवतो. Docker तुमची app तशीच pack करतो. ECS म्हणजे अनेक boxes चालवणारा kitchen manager. Fargate = machines AWS च्या — तुम्ही फक्त boxes आणा.
या chapter मध्ये तुम्ही काय शिकाल
- एका जाड EC2 वरून अनेक containers कडे का
- cluster, task definition, task आणि service काय
- Fargate vs EC2 launch type
- ECS vs Lambda vs EKS — कधी कोणतं
- Pricing आणि छोटा lab मार्ग
1. आधी रोजचं उदाहरण
हे का लागतं?
Flipkart sale ला traffic वाढतो. एक मोठा EC2 (Node+Redis+cron) scale आणि replace कठीण. Containers = एकच image अनेक workers ला; sale संपली की बंद.
हे काय आहे?
Docker code+libs image मध्ये. चालणारी image = container. Amazon ECS containers start/stop/restart करते. Fargate = त्या containers साठी EC2 तुम्ही manage करत नाही.
2. मुख्य शब्द
| Word | अर्थ | Kitchen |
|---|---|---|
| Cluster | Services साठी घर | एक restaurant brand |
| Task definition | Recipe: image, CPU, memory, ports, env | Recipe कार्ड |
| Task | त्या recipe ची एक चालती प्रत | एक order cook |
| Service | N tasks चालू ठेवा; unhealthy बदला | नेहमी 4 chefs |
| Launch type | Fargate (EC2 नाही) किंवा EC2 (तुम्ही) | भाड्याची kitchen vs स्वतःची |
3. Fargate vs EC2 launch type
हे का लागतं?
चुकीचा launch type = पैसे किंवा ops वाया.
हे काय आहे?
| Need | Prefer | का |
|---|---|---|
| Lab, spiky API, कमी ops | Fargate | AMI/ASG नको; task vCPU/memory |
| 24×7, GPU, special kernel | EC2 launch type | मोठ्या steady load ला स्वस्त; जास्त control |
| Laptop आणि cloud एकच image | दोन्ही — image एकच | Portability Docker कडून |
Ravindra Bagale's Tip
Labs Fargate वर सुरू करा. Cost sheet सांगितल्यावरच EC2 launch type.
4. ECS vs Lambda vs EKS
- Lambda: seconds, event-driven, 15 min max.
- ECS: minutes-to-days containers, sidecars, परिचित Docker.
- EKS: पूर्ण Kubernetes API — आधीच k8s किंवा multi-cloud skill हवी असेल.
5. Pricing (mental model)
Fargate = task चालू असताना vCPU+memory. Desired 0 ≈ जवळजवळ मोफत. ALB/NAT/ECR/data transfer वेगळे. Lab नंतर desired 0 किंवा delete.
6. Interview
प्र. Task definition काय?
Image, CPU, memory, ports, IAM, env ची JSON recipe.
प्र. Service vs task?
Task = एक run; service = N healthy.
प्र. Fargate का?
EC2 patch नको; चालत्या task चे पैसे.
प्र. ECS vs EKS?
ECS सोपं AWS-native; EKS = Kubernetes.
प्र. Images कुठे?
बहुतेक same region ECR.
घरी करून बघा
- कागदावर cluster→service→tasks→containers काढा.
- पुढचा chapter वाचा आणि Fargate वर nginx deploy करा.
थोडक्यात सांगायचं तर
- ECS = AWS वर Docker containers.
- Fargate = त्या tasks साठी EC2 manage नको.
- Task definition = recipe; service = N चालू.
- Lab cleanup — tasks चालू असताना bill.
सराव Tasks
Milan Furniture हा मिलान मधला फर्निचर व्यवसाय आहे. Giulia Rossi त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे EUR मध्ये मोजले जातात आणि AWS resources eu-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.
0 / 10
सोपं ECS cluster बनवा
का: Cluster म्हणजे services व tasks चं logical घर.
काय करायचं: milanfurniture-cluster नावाचा ECS cluster बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं ECR repository बनवा
का: ECR तुमच्या Docker images AWS मध्ये private ठेवतो.
काय करायचं: milanfurniture/web नावाचं ECR repository बनवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
सोपं चालू tasks दाखवा
का: Cluster मध्ये कोणते tasks चालू आहेत ते पाहा.
काय करायचं: milanfurniture-cluster मधले tasks दाखवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम Task definition register करा
का: Task definition container ची image, CPU, memory व ports सांगते.
काय करायचं: taskdef.json मधली task definition register करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम एका repository मधून images pull
का: CI/servers ने फक्त चालवायच्या images pull कराव्या.
काय करायचं: arn:aws:ecr:eu-south-1:126154182628:repository/milanfurniture/web वर ecr:BatchGetImage व ecr:GetDownloadUrlForLayer, आणि * वर ecr:GetAuthorizationToken allow करा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम Service scale करा
का: Container च्या जास्त copies साठी desired count बदला.
काय करायचं: milanfurniture-cluster मधली web service 4 tasks करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम ECS task role साठी trust policy
का: Trust policy role कोण घेऊ शकतो ते सांगते.
काय करायचं: ecs-tasks.amazonaws.com ला role assume करू देणारी trust policy लिहा.
- { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
- प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
- Task ला लागेल तेवढंच द्या (least privilege).
- Double quotes व commas नीट वापरा. Check answer दाबा.
मध्यम Service redeploy करा
का: force-new-deployment tasks restart करून नवी image घेतो.
काय करायचं: milanfurniture-cluster मधल्या web service चा नवा deployment force करा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
मध्यम ECR login password घ्या
का: ECR ला push करण्याआधी Docker ला अल्पकालीन password लागतो.
काय करायचं: eu-south-1 साठी ECR login password मिळवा.
- Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
- aws लिहा, मग service चं नाव, मग operation (action शब्द).
- प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
- Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.
अवघड Fargate service बनवा
का: Service हवे तितके tasks चालू ठेवते व बिघडलेले बदलते.
काय करायचं: milanfurniture-cluster मध्ये web service बनवा: task definition milanfurniture-web:1, 2 tasks, launch type FARGATE, network config net.json मधून.
- 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.