Thuta Learning
ရှာဖွေရန်
IntermediateDevOpsbeginner

RDS Basics (Relational Database Service)

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • RDS Basics (Relational Database Service) ကို ကြောက်စရာမလိုအောင် နားလည်မယ်
  • ကိုယ်တိုင် AWS CLI/Console ကို run ကြည့်တတ်မယ်
  • Real project ထဲမှာ ဒီ concept ကို ချက်ချင်း အသုံးချတတ်မယ်

ခဏလေး ဒီလိုပဲ စဉ်းစားကြည့်

Database ကို EC2 instance ပေါ် ကိုယ်တိုင် install ပြီး run လို့ရပေမယ့် — OS patching, database software update, backup, replication setup — အလုပ်တွေက ကိုယ်တိုင် စီမံရမှာမို့ ကြာမြင့်ပါတယ်။ RDS ကတော့ ဒါတွေကို AWS ကိုယ်တိုင် handle ပေးတဲ့ managed service ပါ — 'ဒီ engine (MySQL/PostgreSQL), ဒီ size ချင်တယ်' လို့ ပြောလိုက်ရုံနဲ့ database instance ကို minute အနည်းငယ်အတွင်း ရရှိနိုင်ပါတယ်။ Multi-AZ deployment ကို enable လုပ်ရင် AZ တစ်ခု down သွားလည်း standby replica ကနေ automatic failover ဖြစ်ပေးပါတယ် (high availability).

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Web app ရဲ့ backend server (EC2, Private Subnet ထဲထားထား) ကနေ RDS database (Private Subnet ထဲပဲ ထား) ကို connect string (endpoint, username, password) နဲ့ ချိတ်ဆက်ပါတယ် — RDS ရဲ့ automatic backup (default 7 ရက်) ကနေ point-in-time recovery လုပ်နိုင်ပါတယ် (data ပျက်စီးရင် ပြန်ပြင်နိုင်ပါတယ်).

အတူတူ ကြည့်မယ်

bash
# Create an RDS PostgreSQL instance (Free Tier eligible: db.t3.micro)
aws rds create-db-instance \
  --db-instance-identifier tutorial-db \
  --db-instance-class db.t3.micro \
  --engine postgres \
  --master-username admin \
  --master-user-password 'ChangeMe123!' \
  --allocated-storage 20
You should see
$ aws rds describe-db-instances --db-instance-identifier tutorial-db --query 'DBInstances[].DBInstanceStatus'
["available"]

၅ မိနစ် စမ်းကြည့်

RDS db.t3.micro (Free Tier eligible) instance တစ်ခု create လုပ်ကြည့်ပါ — created ပြီးရင် endpoint ကို note ချထားပြီး, practice ပြီးရင် instance ကို delete လုပ်ကြည့်ပါ (cost ကာကွယ်ဖို့)။

သတိလေးတစ်ချက်

RDS instance ကို delete လုပ်တဲ့အခါ default ဖြင့် final snapshot ကို create ပေးပါတယ် (data ပျောက်မသွားအောင်) — production database ကို delete ခင် snapshot option ကို သေချာစစ်ပါ။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • RDS instance ကို Public Subnet ထဲ ထားပြီး publicly accessible ဖြစ်အောင် ချထားခြင်း — internet ကနေ database ကို တိုက်ရိုက် attack ခံရနိုင်ပါတယ်
  • Master password ကို weak/default password ချထားခြင်း — production database အတွက် strong password (Secrets Manager နဲ့ manage) လိုအပ်ပါတယ်

အခု ကိုယ်တိုင် စမ်းကြည့်

RDS db.t3.micro (Free Tier eligible) instance တစ်ခု create လုပ်ကြည့်ပါ — created ပြီးရင် endpoint ကို note ချထားပြီး, practice ပြီးရင် instance ကို delete လုပ်ကြည့်ပါ (cost ကာကွယ်ဖို့)။

You'll know it worked when: $ aws rds describe-db-instances --db-instance-identifier tutorial-db --query 'DBInstances[].DBInstanceStatus' ["available"]

RDS Basics (Relational Database Service) | Thuta Learning