World map

 

BM: Baca dalam Bahasa Melayu

World A4: Containers in the Cloud

Capstone mission 10: Kedai Kancil in the cloud

You will learn: to run Kedai Kancil on ECS Fargate, deploy it from GitHub with no stored keys, then delete it all safely.

Checked with AWS 2026-11 on 1 Nov 2026

The problem

Mission 10: Kedai Kancil goes live on AWS for one hour, then disappears. Real money is involved. So rule one comes first: a budget alarm, before anything else.

Real mission

  1. aws sts get-caller-identity

0 of 4 steps done · Your ticks are saved.

Watch

Here is the whole mission. Put it in order.

First step at the top. Put these in order. Use the arrows, or drag.

  • Check it all works
  • Keyless deploys from GitHub
  • Budget alarm
  • Delete everything
  • One small Fargate task, behind a tight door
  • Image on your ECR shelf
  • Check the bill tomorrow

Try it

Step 2: the shelf and the shop. Use the smallest sizes, the default VPC, no NAT and no load balancer.

Real mission

  1. aws ecr create-repository --repository-name kedai-kancil --image-scanning-configuration scanOnPush=true
  2. docker push ACCOUNT_ID.dkr.ecr.REGION.amazonaws.com/kedai-kancil:1.0
  3. aws ecs create-cluster --cluster-name kedai
  4. aws ecs register-task-definition --cli-input-json file://taskdef.json
  5. aws ec2 authorize-security-group-ingress --group-id SG_ID --protocol tcp --port 80 --cidr YOUR_IP/32
  6. aws ecs create-service --cluster kedai --service-name shop --task-definition kedai-web --desired-count 1 --launch-type FARGATE --network-configuration "awsvpcConfiguration={subnets=[SUBNET_ID],securityGroups=[SG_ID],assignPublicIp=ENABLED}"

0 of 7 steps done · Your ticks are saved.

Predict

Your shop runs now. Which of these bill you while it sits idle? Some you skipped on purpose.

One at a time: does it keep costing money while it sits idle?

1 of 6

Old images in ECR

On the bill (costs even when idle)

Nothing here yet.

Free shelf (free when idle)

Nothing here yet.

Try it

Step 3: keyless deploys. Reuse lesson A4-7’s workflow, with your own names.

Real mission

  1. https://token.actions.githubusercontent.com
  2. git add .github/workflows/deploy.yml taskdef.json && git commit -m "ci: deploy to ECS" && git push

0 of 6 steps done · Your ticks are saved.

Check

Let GitHub’s public API confirm the GitHub side. Type your username, then check.

Check it on GitHub

Your username is sent only to api.github.com.

  • Your Kedai Kancil repo is publicNot checked yet
  • It has the deploy workflowNot checked yet
  • The workflow ran at least onceNot checked yet

Check

The API can’t see inside AWS. Check these yourself.

Real mission

0 of 5 steps done · Your ticks are saved.

Predict

You delete everything at 5 p.m. Tomorrow, the bill shows a small charge for today. Why?

Pick one answer.

Try it

Last step: delete it all, in this order. Then check your bill tomorrow.

Real mission

  1. aws ecs delete-service --cluster kedai --service shop --force
  2. aws ecs delete-cluster --cluster kedai
  3. aws ecs deregister-task-definition --task-definition kedai-web:1
  4. aws ecr delete-repository --repository-name kedai-kancil --force
  5. aws ec2 delete-security-group --group-id SG_ID

0 of 9 steps done · Your ticks are saved.

You did it!

You can now run Kedai Kancil on AWS, deploy it keylessly, and clean up.

Go deeper (optional)

Safety: free tier rules change, so check the AWS Free Tier page before you start. Use a test account and your own email. Never paste real keys in chat or code. Did something go wrong? The Rescue Center has AWS flows for surprise bills and blocked access.