Ravindra BagaleCourses & study guides English

ECS Fargate वर Docker Container Deploy करा — Step by Step

Theory झाली. आता ap-south-1 मध्ये खरं nginx Fargate वर. ECR, cluster, task definition, public IP service. शेवटी सगळं delete.

या chapter मध्ये तुम्ही काय शिकाल

  • ECR मधून image
  • cluster, task def, Fargate service
  • Port 80 + public IP
  • Cleanup — billing थांबवा

1. सुरू करण्याआधी

हे का लागतं?

Service रात्रभर राहिली तर Fargate+public IP bill.

हे काय आहे?

  • Region: ap-south-1.
  • ECS, ECR, IAM pass-role, VPC rights.
  • Optional Docker. किंवा Docker Hub nginx — local Docker नको.
  • Lab: public nginx:stable. Production: ECR.

Cost warning

Task चालू असताना Fargate bill. झाल्यावर service आणि cluster delete. Desired 1 रात्रभर ठेवू नका.

2. Lab: click by click

कसं करायचं (step by step)

A. Networking

  1. VPC → default VPC आणि public subnet (IGW route).
  2. SG ecs-nginx-sg: inbound 80 (My IP किंवा lab साठी 0.0.0.0/0), outbound all.

B. ECS cluster

  1. ECS → Clusters → Create.
  2. Name lab-fargate-cluster, Fargate. Create.

C. Task definition

  1. Create task definition.
  2. Family lab-nginx, Fargate, 0.25 vCPU, 0.5 GB.
  3. Execution role: default ecsTaskExecutionRole.
  4. Container web, image nginx:stable.
  5. Port 80 TCP HTTP.
  6. Create.

D. Service

  1. Cluster → Services → Create.
  2. Service lab-nginx-svc, desired 1.
  3. Public subnet + SG, Public IP ON.
  4. No ALB. Wait running=1.

E. Verify

  1. Task → Public IP.
  2. Browser nginx welcome.
  3. curl 200.

Cleanup (आवश्यक)

  1. Desired 0, मग Delete service.
  2. Cluster delete.
  3. Task def / SG optional delete.
  4. Billing check.

3. Production notes

  • स्वतःची image ECR वर.
  • ALB वापरा; task public IP नको.
  • CloudWatch Logs.
  • Least-privilege task role.

4. Interview

प्र. Public IP का?

ALB नसल्याने task गाठायला public IP.

प्र. Execution role?

Image pull + logs.

प्र. Desired 0?

Tasks थांबतात; त्यांचं bill थांबतं.

प्र. 0.25/0.5 OK?

हो — Fargate allowed pairs.

घरी करून बघा

  1. Custom HTML ECR वर, image URI बदला.
  2. ALB जोडा, public IP काढा.

थोडक्यात सांगायचं तर

  1. Image → task def → Fargate service.
  2. Public IP किंवा ALB.
  3. Lab नंतर 0 + delete.

सराव Tasks

या scenario बद्दल

Ahmednagar Sugar Co-op हा अहिल्यानगर मधला साखर सहकारी व्यवसाय आहे. Balasaheb Pawar त्यांचं IT व cloud काम पाहतात. त्यांचे पैसे INR मध्ये मोजले जातात आणि AWS resources ap-south-1 Region मध्ये चालतात. खालच्या tasks मध्ये तुम्ही या lesson मध्ये शिकलेलं वापरून त्यांची खरी कामं करता. सगळी नावं, account IDs, IP addresses व numbers सरावासाठी काल्पनिक आहेत.

0 / 10

सोपं ECS cluster बनवा

का: Cluster म्हणजे services व tasks चं logical घर.

काय करायचं: nagarsugar-cluster नावाचा ECS cluster बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं ECR repository बनवा

का: ECR तुमच्या Docker images AWS मध्ये private ठेवतो.

काय करायचं: nagarsugar/web नावाचं ECR repository बनवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

सोपं चालू tasks दाखवा

का: Cluster मध्ये कोणते tasks चालू आहेत ते पाहा.

काय करायचं: nagarsugar-cluster मधले tasks दाखवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम Task definition register करा

का: Task definition container ची image, CPU, memory व ports सांगते.

काय करायचं: taskdef.json मधली task definition register करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम एका repository मधून images pull

का: CI/servers ने फक्त चालवायच्या images pull कराव्या.

काय करायचं: arn:aws:ecr:ap-south-1:131959625285:repository/nagarsugar/web वर ecr:BatchGetImage व ecr:GetDownloadUrlForLayer, आणि * वर ecr:GetAuthorizationToken allow करा.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Service scale करा

का: Container च्या जास्त copies साठी desired count बदला.

काय करायचं: nagarsugar-cluster मधली web service 4 tasks करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम ECS task role साठी trust policy

का: Trust policy role कोण घेऊ शकतो ते सांगते.

काय करायचं: ecs-tasks.amazonaws.com ला role assume करू देणारी trust policy लिहा.

कसं करायचं:
  1. { "Version": "2012-10-17", "Statement": [ ... ] } ने सुरू करा.
  2. प्रत्येक statement मध्ये Effect, Action व Resource लिहा.
  3. Task ला लागेल तेवढंच द्या (least privilege).
  4. Double quotes व commas नीट वापरा. Check answer दाबा.

मध्यम Service redeploy करा

का: force-new-deployment tasks restart करून नवी image घेतो.

काय करायचं: nagarsugar-cluster मधल्या web service चा नवा deployment force करा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

मध्यम ECR login password घ्या

का: ECR ला push करण्याआधी Docker ला अल्पकालीन password लागतो.

काय करायचं: ap-south-1 साठी ECR login password मिळवा.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

अवघड Fargate service बनवा

का: Service हवे तितके tasks चालू ठेवते व बिघडलेले बदलते.

काय करायचं: nagarsugar-cluster मध्ये web service बनवा: task definition nagarsugar-web:1, 2 tasks, launch type FARGATE, network config net.json मधून.

कसं करायचं:
  1. Task वाचा आणि ते कोणत्या AWS service बद्दल आहे ते ठरवा.
  2. aws लिहा, मग service चं नाव, मग operation (action शब्द).
  3. प्रत्येक आवश्यक flag (--name) व त्यापुढे task मधली value लिहा.
  4. Flags कोणत्याही क्रमाने चालतात. Check answer दाबा.

उजळणी, तुलना आणि मुलाखत cards

हा lesson काही मिनिटांत revise करा. Cards phone वर save करा किंवा PNG download करा. प्रत्येक card वरचा QR हा lesson उघडतो.

उजळणी card: ECR वर image push. ECS ना AWS pull करू शकेल असा image URL हवा. ECR = private registry. docker tag/push → task def URI. Repo → login → tag → push. Image URI ECR मध्ये.
उजळणी card: ECR वर image push · PNG download करा · Card page उघडा
उजळणी card: Fargate service click path. एकदाचे task मेलं की पुन्हा येत नाही — service हवी. Cluster + task def + service desired 1 + public IP/ALB. Cluster → task def → Fargate service → public IP. Public IP:80 → nginx page.
उजळणी card: Fargate service click path · PNG download करा · Card page उघडा
उजळणी card: ECS cleanup — billing थांबवा. विसरलेले tasks/ALB lab नंतरही bill. Desired 0 / delete service → cluster → task defs → ECR. Desired 0 → delete → same day. Fargate ≈ 0; running tasks नाहीत.
उजळणी card: ECS cleanup — billing थांबवा · PNG download करा · Card page उघडा
मुलाखत card: फक्त Docker Hub ऐवजी ECR का?. ECR private + IAM + same region. Pull = IAM roles, Hub password नको. ECR URI in task def.
मुलाखत card: फक्त Docker Hub ऐवजी ECR का? · PNG download करा · Card page उघडा
मुलाखत card: Lab नंतर Fargate bill कसं थांबवाल?. Desired 0 / delete service; ALB/NATही. Desired >0 = tasks चालू = bill. Same day desired 0.
मुलाखत card: Lab नंतर Fargate bill कसं थांबवाल? · PNG download करा · Card page उघडा

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