Skip to main content

Command Palette

Search for a command to run...

EC2 Instance Scheduler

Published
3 min read
EC2 Instance Scheduler
M

I'm Security and Cloud Support Engineer at KBZ Bank. I'm tying to be a Cloud Native Engineer......

ကျွန်တော် အခု လုပ်နေတဲ့ company မှာ ကျွန်တော်တို့ network team သီးသန့် သုံးနေတဲ့ AWS EC2 instance တစ်လုံးရှိတယ်ဗျ။ ကျွန်တော်တို့ သုံးတာကလဲ Office Hour ချိန် အတွင်းပဲ သုံးတာ။ ကျန်တဲ့ အချိန်ဆို အဲ့ instance ကို ထိတောင် မထိမိ ကြဘူး။ အဲ့လိုဆိုတော့ instance က မလိုအပ်ပဲနဲ့ 24 hour run နေရတယ်ပေါ့ဗျာ။ AWS ကလဲ မင်းတို့ သုံးတာ မသုံးတာ ငါ မသိဘူး ငါကတော့ cost ယူမှာပဲ ပေါ့။ အဲ့တော့ ကျွန်တော်တို့ boss က ပြီးခဲ့တဲ့ အပါတ်က ကျွန်တော့်ကို ခေါ်ပြောတယ်။ အဲ့တာလေးကို Office Hour အချိန်လေးမှာပဲ သုံးမယ် ကျန်တဲ့ အချိန်ဆိုရင် auto stop လုပ် နောက်နေ့ office hour ကျရင် auto ပြန် run အဲ့လို လုပ်ချင်တယ် သူ့ကို နည်းလမ်း ရှာပေးပါတဲ့။

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

What is AWS EC2 Instance Scheduler ?

AWS EC2 instance scheduler ဆိုတာကတော့ နာမည် အတိုင်းပဲ aws ec2 instance တွေကို auto start stop လုပ်ပေးတယ်ပေါ့ဗျာ။ သူက ec2 instance တွေတင် မကဘူးဗျ RDS ကိုလဲ support ပေးတယ်။ ပြီးတော့ တစ်ခြား တစ်ချို့ service တွေကိုလဲ support ပေးတယ်ဗျ။

အဓိက benefit ကတော့ cost ကို သက်သာစေတယ်ပေါ့ဗျာ။ ကိုယ် မလိုအပ်တဲ့ အချိန်မှာ stop ထားတော့ cost မတက်တော့ဘူးပေါ့။

ပြီးတော့ Automated Schedule လုပ်တော့ engineer ကိုယ်တိုင် လုပ်စရာလဲ မလိုဘူးဗျာ

Cloudformation Stack တစ်ခု run လိုက်တာနဲ့ လိုအပ်တာ အကုန် သူကပဲ ဆောက်ပေးသွားတယ်။ လိုအပ်တဲ့ IAM role က အစ သူကပဲ လုပ်ပေးသွားတယ်ဗျာ။

ပြီးတော့ AWS က ပေးထားတဲ့ config အတိုင်းပဲ ရတာပဲ မဟုတ်ဘူးဗျကိုယ်လိုချင်တဲ့ အတိုင်းလဲ customize ပြန်လုပ်လို့ ရတယ်ဗျ။ Scalability ကောင်းတယ်ပေါ့ဗျာ။

ပြီးတော့ Documentation မှာ ပြောထားတာကတော့ Cross-Account Support ပေးတယ်ပြောတယ်။ အဲ့တာတော့ ကျွန်တော် မစမ်းကြည့်ရသေးဘူး။

ဒါဆို ဘယ်လို အလုပ်လုပ်လဲ ဆိုတာ တစ်ချက် ကြည့်ရအောင်။

How to work ?

ပုံကိုတော့ @beyondthecloud ကနေ reference ယူထားပါတယ်။ content အောက်ဆုံးမှာ link ထည့်ထားပေးပါ့မယ်။

ပထမဆုံး Cloud Formation ကနေ ပြီးတော့ Event Bridge တစ်ခု ဆောက်လိုက်ပါတယ်။ Event Bridge ကနေပြီးတော့ instance ကို ဘယ်အချိန်မှာ schedule လုပ်ရမလဲဆိုတာ ကို deploy လုပ်ပေးပါတယ်။

Lambda ကတော့ task တွေကို handle လုပ်ပေးတယ်လို့ အလွယ်ပြောလို့ရပါတယ်။

Schedules and periods တွေကိုတော့ Dynamo DB ထဲမှာ သိမ်းပါတယ်။ ကျွန်တော်တို့တွေက ကိုယ် ဘယ်အချိန်မှာ Schedule လုပ်မယ်ဆိုတာကို Dynamo DB ထဲက Table ထဲမှာ ဝင်ပြီး config လုပ်ပေးရမှာပါ။

Cloud Watch ကတော့ just for monitoring ပါ အရမ်းကြီးတော့ အရေးမကြီးပါဘူး။

It’s time for Demo

Theory ကတော့ ဒါပဲဗျ။ ကျွန်တော် ထုံးစံ အတိုင်း Demo လေး တစ်ခု လုပ်ပြပြီး ပြောဖို့ လိုတာလေးတွေကို ထပ်ရှင်းပြပါ့မယ်။ နည်းနည်းတော့ ရှုပ်နိုင်တယ်ဗျ။ မရှင်းတာရှိရင်တော့ ကျွန်တော့်ကို ပြန်မေးလို့ရပါတယ်။

Step 1

ပထမဆုံး Cloud Formation ထဲမှာ stack တစ်ခု create ပါမယ်။

ပြီးရင်တော့ ဒီ S3 Link လေးကို ထည့်ပြီး Next နှိပ်ရပါမယ်။ ဒီtemplate က AWS က လုပ်ထားပေးတာပါ။

https://s3.amazonaws.com/solutions-reference/instance-scheduler-on-aws/latest/instance-scheduler-on-aws.template

ပြီးရင်တော့ ထုံးစံ အတိုင်း stack name ပေးမယ်။

Service မှာတော့ ကိုယ်သုံးမှာလေးတွေ Enable ပေါ့ဗျာ။ Default ကတော့ အကုန် Enable ထားတာပါ။

ကျန်တာတွေကိုတော့ ကျွန်တော် Default အတိုင်းထားပြီးတော့ Next လုပ်ပါမယ်။

နောက်တစ်ဆင့်မှာလဲ ကျွန်တော် demo အနေနဲ့ လုပ်ပြတာဆိုတော့ ဘာမှ မပြင်ပဲ next လုပ်လိုက်ပါမယ်။

နောက်ဆုံး အဆင့်မှာတော့ acknowledge လုပ်ပြီး Submit လုပ်လိုက်တာနဲ့ stack တစ်ခု ဆောက်သွားပါလိမ့်မယ်။

ငါး မိနစ် ဆယ်မိနစ် လောက် ကြာမှာဆိုတော့ coffee ဖျော်လိုက်ပါဦးမယ်။ 🍵

Complete ဖြစ်သွားရင်တော့ အောက်က အရာလေးတွေကိုမြင်ရမှာပါ

AWS Event Bridage Buses Rule မှာ cron expression တစ်ခု မြင်ရပါမယ်။ ကျွန်တော်က Default အတိုင်း ထားထားတော့ 5 minute ပေါ့ဗျာ

Lambda ထဲမှာလဲ မြင်နေရမှာပါ

ကဲ ဒါဆို အရေးကြီးတဲ့ Dynamo DB ဘက်သွားကြည့်ရအောင်

Tables ထဲမှာ ကျွန်တော်ရဲ့ Cloud Formation Template ကြောင့် table အသစ် သုံးခုရောက်နေပါတယ်။ ကျွန်တောတို့ အဓိက သုံးရမှာက Config Table ပါတဲ့ တစ်ခုပါ။

အဲ့ table လေးကို တစ်ချက် click ပြီး Explore Table Items ထဲကို ဝင်ပါမယ်။

Table Items လေးတွေကို မြင်ရမှာပါ

Schedule and Period တွေ အများကြီး မြင်ရလို့ မလန့်သွားပါနဲ့။ ကျွန်တော်တုန်းကတော့ ခက်တယ် ထင်သွားတာ။

Period ဆိုတာက ကိုယ် schedule လုပ်မယ့် အချိန်ကို ထည့်ရတာ။

schedule ဆိုတာက ကိုယ် လုပ်ချင်တဲ့ Period နဲ့ ပြန် bind လုပ်ရတာလို့ ပြောလို့ရတယ်။

ကျွန်တော် office-hours ဆိုတဲ့ period ကို focus ထားပြီး ပြောပြမယ်။

ကျွန်တော် office-hours ဆိုတဲ့ period ထဲကို ဝင်လိုက်မယ်။

ဒါဆို လွယ်တာကို တွေ့မှာပါ

9:00 AM ကနေ 5:00 PM ထိ သုံးမယ်။ weekdays မှာတော့ mon-fri

OK ဒါကို ကျွန်တော် schedule လုပ်မယ်။ uk office hour ဆိုတဲ့ ထဲကို ထည့်မယ် အဲ့တော့ အဲ့ထဲကို ဝင်ရမယ်

Period မှာ ကျွန်တော် အပေါ်မှာ ပြထားတာကို ပြန်ထည့်ပေးမယ်။

အရေးကြီးတာကတော့ time zone. အဲ့တာတော့ သတိထားရမယ်။

ဒါတွေပြီးရင် ကိုယ့်ရဲ့ ec2 instance မှာ tag တွဲပေးလိုက်ရင် ရပြီ။ ကျွန်တော်က uk-office-hours ကို သုံးမှာဆိုတော့

key:schedule value:uk-office-hours

ဒါဆိုရင် ကျွန်တော့်ရဲ့ instance လေးဟာ မနက် ၉ ညနေ ၅ ပဲ run တော့မှာ ဖြစ်ပါတယ်။

နားလည် အကျိုးရှိမယ်လို့ မျှော်လင့်ပါတယ်ဗျ။ မရှင်းတာ ရှိရင်လဲ မေးလို့ရပါတယ်ဗျ

the-art-by-makisam

More from this blog

Egress Only Internet Gateway - EOIGW

ကျွန်တော်တို့ သုံးနေတဲ့ IP အမျိုးအစား 2 ခုရှိပါတယ်။ IPv4 & IPV6 ဆိုပြီးတော့ 2မျိုးရှိပါတယ်။ ဒါကိုတော့ ကျွန်တော်တို့ သိထားပြီးကြပါ။ တစ်ခုရှိတာက ကျွန်တော်တို့တွေက v4 ကိုတော့ အမြဲထိတွေ့ သုံးနေကြပေမယ့် IPv6 ကိုတော့ အသုံးပြုကြတာရှားပါတယ်။ ဒီနေ့တော့ ကျွန်တ...

Feb 15, 20263 min read4
Egress Only Internet Gateway - EOIGW

Reverse Proxy ဆိုတာဘာလဲ ? Load Balancer နဲ့ အတူတူပဲလား ?

Proxy ဆိုတဲ့ စကားလုံးကို IT သမားတော်တော် များများ သိပြီးသားဖြစ်ပါတယ်။ ဒီနေ့တော့ ကျွန်တော်က Reverse Proxy အကြောင်းလေးကို တွေးမိလို့ စာထရေးမိလိုက်တာပါပဲ။ ကျွန်တော်တို့ Reverse Proxy အကြောင်း မပြောခင်မှာ Proxy အကြောင်းလေး အရင် ပြောလိုက်ရအောင်။ Proxy <F...

Nov 20, 20253 min read6
Reverse Proxy ဆိုတာဘာလဲ ? Load Balancer နဲ့ အတူတူပဲလား ?

QUIC Protocol For Network Engineers

ကျွန်တော် QUIC Protocol ကို သိတာကတော့ ကြာသွားပါပြီ။ အလုပ်မှာ issue တက်လာလို့ လိုက်ရှာရင်း Firewall တွေက QUIC Protocol ဆိုပြီး သိပြီး Block နေတာကို သတိထားမိသွားတာကနေ စတာပေါ့။ ဘာ Protocol လဲ ဆိုတာကို indentify လုပ်ရင်းနဲ့ QUIC Protocol အကြောင်းကို နည်း...

Sep 27, 20255 min read41
QUIC Protocol For Network Engineers

Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-3

အရင်နေ့တွေ တုန်းကတော့ ကျွန်တော်က Router မှာ Routing Process နဲ့ Path selection အတွက် Routing Process ဘယ်လို အလုပ်လုပ်လဲ ဆိုတာကို sharing လုပ်ပေးခဲ့ပါတယ်။ ဒီနေ့မှာတော့ Router ရဲ့ Switching Process ကို ပြောပြသွားပါ့မယ်။ ကျွန်တော်က 8.8.8.8 ဆီကို သွားချ...

Apr 10, 20254 min read32
Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-3

Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-2

အရင်နေ့ကတော့ ကျွန်တော် Router တစ်လုံးရဲ့ အခြေခံ အလုပ်လုပ်ပုံနဲ့ အဓိက တာဝန် ၂ ခု က Path Selection and Packet Forwarding ဖြစ်တယ်ဆိုတာကို မိတ်ဆက်ပေးပြီးခဲ့ပါပြီ။ ဒီနေ့မှာတော့ Path Selection ကို ဘယ်လို လုပ်တယ်ဆိုတာကို ဆက်ပြီး ပြောပြသွားပါ့မယ်။ Routing Pr...

Apr 9, 20253 min read15
Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-2
T

the-arts-by-makisam

14 posts