Amazon’s Elastic Compute Cloud(EC2) ဆိုသည်မှာ Amazon Web Services(AWS) infrastructure app တွေ run ဖို့အတွက် virtual server တစ်ခုဘဲဖြစ်ပါတယ်။
AWS cloud ထဲမှာ AWS subscriber တွေက compute server တစ်ခုကို request/provision လုပ်နိုင်တဲ့ web service တစ်ခုဘဲဖြစ်ပါတယ်။
AWS ရဲ့ on-demand EC2 instance ကနေ subscriber/user တွေက virtual server တွေကို နာရီအလိုက် ငှားရမ်းပြီး မိမိတို့ရဲ့ app တွေကို deploy လုပ်နိုင်ပါတယ်။
ရွေးချယ်ခဲ့တဲ့ instance type ပေါ်မူတည်ပြီး rates အမျိုးမျိုးနဲ့ သုံးစွဲတဲ့ နာရီကို ပေးဆောင်ရမှာဖြစ်ပါတယ်။ user တွေရဲ့ သက်ဆိုင်တဲ့ business လိုအပ်ချက်ပေါ်မူတည်ပြီး AWS ကနေ multiple instance types တွေကို ထောက်ပံ့ပေးထားပါတယ်။
ဒါကြောင့် ကိုယ့်ရဲ့ CPU နဲ့ memory လိုအပ်ချက်ပေါ်မူတည်ပြီး ကိုယ်အသုံးပြုမဲ့ အချိန်အတိုင်းအတာနဲ့ instance တွေကို ငှားရမ်းနိုင်ပါတယ်။အကယ်လို့ cost ကို save ဖြစ်စေရန် အသုံးပြုဖို့ မလိုတော့တဲ့ အခါမှာလဲ instance ကို terminate လုပ်နိုင်ပါတယ်။
ကဲ tutorial ထဲမှာ on-demand EC2 instance ဘယ်လိုဆောက်ရမလဲဆိုတာကို ဆက်လက်လေ့လာကြည့်ရအောင်
AWS services ကို Login ဝင်ခြင်း
Step (1)
- အရင်ဆုံး AWS account ကို login ဝင်ပါမယ်။ ပြီးရင် ဘယ်ဘက်အပေါ်ထောင့်က AWS service tab ကို နှိပ်လိုက်ရင် အောက်ပါအတိုင်း AWS Services တွေဖြစ်တဲ့ Compute, Storage, Database, etc အစရှိတဲ့ services များကို တွေ့ရမှာပါ။ခုက EC2 ကို launch လုပ်မှာဖြစ်တဲ့ အတွက် Compute service အောက်က EC2 ဆိုတဲ့ service ကို ရွေးလိုက်ပါ။

- အောက်ပါပုံအတိုင်း EC2 dashboard ကို မြင်ရမှာပါ။ AWS EC2 မှာ run နေတဲ့ resources information များကို အကျဉ်းချုပ်တွေ့မြင်ရမှာပါ။

Step (2)
- EC2 dashboard ရဲ့ ညာဘက်အပေါ်ထောင့်မှာ ကိုယ့်ရဲ့ EC2 server ကို ဘယ် region မှာ setup လုပ်ချင်လဲ ရွေးချယ်နိုင်ပါတယ်။ မြန်မာနိုင်ငံ အနေနဲ့ ဆိုရင် singapore server မှာကိုယ်ရဲ့ server ကို setup လုပ်နိုင်ပါတယ်။
- Note: server တွေမှာ တစ်ခုနဲ့ တစ်ခု service / charges/network speed တွေ ကွာခြားနိုင်ပါတယ်။(လူကြီးမင်းတို့အနေနဲ့ ကိုယ် setup လုပ်မဲ့ region ကို ရွေးချယ်နိ်ုင်ပါတယ်)

Step (3)
- ကိုယ့်စိတ်ကြိုက် Region ရွေးပြီးပြီဆိုရင်တော့ EC2 dashboard ကို ပြန်သွားကြရအောင်။Instance ကို create လုပ်ဖို့ “Launch Instance” button ကို နှိပ်ပါ။

Amazon Machine Image(AMI) ကို ရွေးချယ်ခြင်း
Step (1)
- ကိုယ်ဆောက်မဲ့ instance ဟာ ဘယ် Operating System platform ကို အခြေခံပြီးဆောက်မှာလဲ ဆိုတာ ရွေးချယ်ရမှာ ဖြစ်ပါတယ်။ ခု ကတော့ default Amazin Linux (64 bit) ကို ဆောက်ပြမှာ ဖြစ်ပါတယ်။

Instance Types ကို ရွေးချယ်ခြင်း
Step (1)
- ဒီအဆင့်ကတော့ ကိုယ့် business ရဲ့ လိုအပ်ချက် ပေါ် မူတည်ပြီး instance အမျိုးအစားကို ရွေးချယ်နိုင်ပါတယ်။ ဒီမှာတော့ t2.micro instance ကို ရွေးလိုက်ပါမယ်။ဘာကြောင့် t2.micro instanceကို ရွေးချယ်ရသလဲဆိုတာက မိမိတို့ instance capacity မှာအသုံးပြုမှုအတွက် charges ပေးဆောင်စရာမလိုအပ်ခြင်းကြောင့်ပါ။ ပြီးရင် “Configure Instance Details” ကို နှိပ်လိုက်ပါ။
Note: ဒီ instance type ဟာဆိုရင် 1vCPU နဲ့ 1GB memory ရှိတဲ့ server ဖြစ်ပါတယ်။

Instance ကို ပြင်ဆင်ခြင်းStep (1)
- ဒီအဆင့်မှာဆိုရင် ကိုယ့်ဆောက်တဲ့ instance ကို VPC/Subnet အစရှိတဲ့ security တွေ setup လုပ်ပါ့မယ်။ instance တစ်ခုကို launch လုပ်မှာဖြစ်တဲ့ အတွက် “1” လို့ထည့်လိုက်ပါမယ်။
Note: no of instance ဆိုတဲ့ နေရာမှာ instance 20 ကို တစ်ပြိုင်တည်း config လုပ်နိုင်ပါတယ်။

Step (2)
- Purchasing Options မှာဆိုရင် ‘Request Spot Instances’ option ကို unchecked လုပ်ထားပါ့မယ်။
Note: on-demand instance အစား spot instance ကို launch လုပ်တဲ့အခါမှာဆိုရင် တော့ ‘Request Spot Instances’ option ကို checked လုပ်ပါ။

Step (3)
- ဒီအဆင့် ကတော့ ကိုယ့်ရဲ့ EC2 server ကို basic networking လုပ်တဲ့ အဆင့်ဘဲဖြစ်ပါတယ်။
- VPC ရဲ့ အတွင်းမှာရှိတဲ့ subnet အတွင်းမှာ EC2 ကို launch လုပ်ပါမယ်။
- အရင်ဆုံး VPC/Subnet တွေကို အရင် create လုပ်ထားရပါမယ်။ default အနေနဲ့ လဲ config လုပ်နိုင်ပါတယ်။
- နောက်အဆင့်မှာ VPV/Subnet တွေ ဘယ်လို create လုပ်ရမယ်ဆိုတာကို နောက် artical မှာအသေးစိတ် ရှင်းပြပါ့မယ်။
- ဒီ tuto မှာတော့ ဆောက်ပြီးသား VPC/Subnet ရှိတဲ့ အတွက် choose လုပ်လိုက်ပါ့မယ်။ မရှိရင် တော့ default ကို choose လိုက်ပါ။


Step (4)
- Instance ရဲ့ IP ကို auto setup လုပ်နိုင်သလို EIP (Elastic IP) နဲ့ ချိတ်လို့ရပါတယ်။ခုက EIP နဲ့ ချိတ်မှာမို့ Disable ကို ရွေးလိုက်ပါ့မယ်။

Step (5)
- IAM role option ကို ‘None’ လို့ keep လုပ်ထားပါမယ်။ specific user / group နဲ့ IAM role ဟာ ဆကျနှယျမှု မရှိစဖေို့တှကျ none လုပျထားခွငျး ဖွစျပါတယျ။

Step (6)
- Shutdown Behavior – အကယ်လို့ ကိုယ့်ရဲ့ instance ကို ရုတ်တရက် shut down လုပ်တဲ့အခါ instance ကို delete မလုပ်ဘဲ instance ဟာ stop အနေထားရောက်သွားမှာပါ။
- ဒီအဆင့်မှာတော့ stop ကို ရွေးလိုက်ပါမယ်။

Step (7)
- ဒီ option ကတော့ instance ကို terminate လုပ်တဲ့ အပိုင်း ပါ။
- AWS မှာ security mechanism ပိုင်းပါရှိပါတယ်။
- “accidental termination protection” option ကို enable လုပ်ထားမယ်ဆိုရင် instance ကို delete မလုပ်နိုင်ပါဘူး။ မတော်တဆ instance terminate လုပ်မိခြင်းမှ protect ဖြစ်စေချင်တဲ့ အတွက် check လုပ်ခဲ့ပါမယ်။

Step (8)
- Monitoring option – အရေးကြီးတဲ့ business instance တစ်ခု ဆိုရင် instance ရဲ့ လုပ်ငန်းစဉ်တွေကို စောင့်ကြည့်ဖို့ လိုအပ်လာပါပြီ။ ဒီ option ကို check လုပ်ခြင်းဖြင့် instance ၏ အချိန်လိုက် ပြောင်းလဲမှုတွေကို စောင့်ကြည့်နိုင်ပါတယ်။ ခုတော့ uncheck လုပ်ထားပါမယ်။ ဘာလို့လဲ ဆိုတော့ AWS ကနေ instance တွက် Basic monitoring တွေကို charges ပေးဆောင်စရာမလိုဘဲ support လုပ်ပေးထားလို့ဘဲ ဖြစ်ပါတယ်။
- Under Tenancy option – ဒီ step မှာတော့ shared လုပ်လို့ရတဲ့ tenancy ဖြစ်တဲ့အတွက် “shared-run a shared hardware instance”ကို select လုပ်ပါမယ်။တကယ်လို့ လူကြီးမင်းတို့ရဲ့ instance မှာ develop လုပ်ထားတဲ့ app ဟာ highly secure app ဖြစ်တယ်ဆိုရင် dedicated capacity option ၂ခုကို AWS က support လုပ်ထားပါသေးတယ်။

Step (9)
- နောက်တဆင့် “Add Storage” option ကတော့ instance ရဲ့ data volumes ကို add လုပ်နိုင်မဲ့ အပိုင်းပါ။
Storage များထည့်သွင်းခြင်း
Step (1)
- “Add Storage” step မှာ instance ကို default အနေနဲ့ auto “General Purpose SSD root volume of 8GB” set လုပ်ပါမယ်။ (Maximum volume size ကို 20GB ထိရှိပါတယ်။) instance volume size ကို လိုသလို ပြောင်းနိုင်ပါတယ်။
- AWS ဟာဆိုရင် EBS volumes types ၃မျိုးဖြစ်တဲ့ (Magnetic, General Purpose SSD, Provisioned IOPs) ကို provide လုပ်ပေးထားပါတယ်။ကိုယ့် App ရဲ့ IOPs လိုအပ်ချက်ပေါ်မူတည်ပြီး ရွေးချယ်လို့ရပါသေးတယ်။

Instance မှာ Tag များပေးခြင်း
Step (1)
- Tag ဆိုတဲ့ option ကတော့ instance တွေကို Key/Value ပေးလို့ရတဲ့ အပိုင်းပါ။ ဒီလို tag name တွေပေးလိုက်ခြင်းဖြင့် instance များစွာဆောက်ထားတဲ့ အခါမှာဆိုရင် AWS account user အနေနဲ့ ဘယ်instance ဟာ ဘာကို ဆိုလိုလဲဆိုတာကို ခွဲခြားသိမြင်နိ်ုင်ပါတယ်။Tag name ပေးတဲ့အခါမှာဆိုရင် ကိုယ့်ရဲ့ department, environment ပေါ်မူတည်ပြီး ပေးနိုင်ပါတယ်။အဲ့သလို ပေးခြင်းအားဖြင့် instance တွေကို ကွဲပြားစွာသိနိုင်ပါတယ်။
ဥပမာအနေနဲ့ instance ကို Dev_Web server 01 လို့ပေးထားလိုက်ပါမယ်။ Security Groups ကို ဆက်သွားပါမယ်။

Security Groups ကို ပြင်ဆင်ခြင်း
Step (1)
- Security group ဟာဆိုရင် instance ရဲ့ traffic port ကို set လုပ်တဲ့ အပိုင်းဘဲဖြစ်ပါတယ်။ မိမိရဲ့ Instance’s OS firewall ကို set လုပ်ဖို့အတွက် AWS ကနေ support လုပ်ထားတဲ့ firewall ကို ရွေးချယ်ပြီး set လုပ်နိုင်ပါတယ်။
- ယခု ဆောက်နေတဲ့ server က webserver ဖြစ်တဲ့ အတွက် ပထမဆုံး security group ကို အသစ် create လုပ်ပါမယ်။
- နောက်တဆင့်အနေနဲ့ security group ကို name ပေးရမဲ့အပိုင်းပါ။Name ပေးလိုက်ခြင်းအားဖြင့် ဘယ် instance တွက် ဆောက်တယ်ဆိုတာကို ကွဲခြား သိနိုင်ပါတယ်။
- နောက်ထပ်တဆင့်ကတော့ instance ကို protocol တွေ setup လုပ်တဲ့ အပိုင်းပါ။ instance ရဲ့ firewall ကို setup လုပ်ထားခြင်းဖြင့် Instance ကို secure လုပ်နိုင်ပါတယ်။

Instance အကျဉ်းချုပ်
Step (1)
- မိမိရဲ့ Instance မှာ ရွေးခဲ့ တဲ့ parameters တွေကို review အနေနဲ့တွေ့ရမြင်ရမှာပါ။

Step (2)
- Instance ကို ဝင်ဖို့အတွက် key pair ကို create လုပ်ရမှာဖြစ်ပါတယ်။Key Pair တစ်ခုမှာ public-private keys တစ်စုံ ပါဝင်ပါတယ်။
- AWS ဟာ instance ထဲမှာ private key ကို store လုပ်ထားတာဖြစ်ပြီး မိမိတို့က public key ကို download လုပ်ထားရမှာဖြစ်ပါတယ်။ အကယ်လို့ မတော်တဆ download လုပ်ထားတဲ့ key pair ဖိုင် ပျောက်သွားတာမျိုးဖြစ်ရင် ထပ်ပြီး download လုပ်မရတဲ့ အတွက်ကြောင့် safe and secure ဖြစ်ဖို့တော့လိုပါတယ်။
- key pair ကို Create လုပ်
- key ကို name ပေး
- secure ဖြစ်တဲ့ folder မှာ Download and save လုပ်

Step (3)
- Key ကို downloading and saving ပြီးရင်တော့ instance ကို launch လုပ်ပါမယ်။

- Instance ကို launching လုပ်နေပါပြီ။

- Launch လုပ်တဲ့ log file တွေကို ဖော်ပြထားတာပါ။

- left pane က ‘Instances’ option ကို နှိပ်လိုက်ပါ။ instance status မှာ ‘Pending’ ဖြစ်နေတာတွေ့ရမှာပါ။

- Instance State ‘Running’ ဖြစ်ရင် Launch လုပ်ခြင်းအောင်မြင်ပါပြီ။
- Instance တွက် AWS ကနေ “Public DNS Server” Link ကို ချပေးမှာဖြစ်ပါတယ်။

EIP(Elastic IP) ကို သုံးပြီး Instance နဲ့ချိတ်ခြင်း
- AWS မှ static public IP ကို provide လုပ်ပေးထားပါတယ်။ အဲ့ဒါကို Elastic IP လို့ခေါ်ပါတယ်။ပုံမှန်ဆို instance ဆောက်တဲ့အခါ public IP ကို AWS မှ auto ရရှိမှာဖြစ်ပါတယ်။Instance ကို stop/reboot လုပ်မိတယ်ဆိုရင် public IP ကပြောင်းသွားမှာဖြစ်ပါတယ်။မိမိတို့ရဲ့ app တွေ run ထားတဲ့ instance အတွက် static IP ရှိမယ်ဆိုရင် EIP ကို အသုံးပြုပြီး public networks ကနေ connect လုပ်နိုင်ပါပြီ။
Step (1)
- EC2 Dashboard ရဲ့ ဘယ်ဘက် ထောင့်ကနေ ‘Elastic IPs’ ကို သွားရပါမယ်။

Step (2)
- Elastic IP Address အသစ်တစ်ခုကို Allocate လုပ်ပါမယ်။

Step (3)
- Elastic IP Address တစ်ခုရရှိပါပြီ။

Step (4)
- မိမိရဲ့ instance ထဲမှာ ခုနက EIP address ကို assign လုပ်ပါမယ်။
- ခုနက allocate လုပ်ခဲ့တဲ့ EIP ကို select လုပ်လိုက်ပါ။
- Actions -> Associate Address ကို နှိပ်လိုက်ပါ။

Step (5)
- မိမိတို့ဆောက်ခဲ့ EC2 instance ကို ရွေးပါ။
- Associate ကို နှိပ်ပြီး ဆက်သွားပါမယ်။

Step (6)
- မိမိရဲ့ instances screen ကို ပြန်သွားပါ။ မိမိရဲ့ instance ဟာ EIP ကို ရရှိတာကို တွေ့ရမှာပါ။

Step (7)
- ဒီအဆင့်ဟာဆိုရင် EC2 instance မှာ server တွေဆောက်မယ် APP တွေ RUN ဖို့ PUTTY ဆိုတဲ့ (.EXE) ကို RUN ထားဖို့တော့လိုပါတယ်နော်။ Instance ရဲ့ EIP နဲ့ ဝင်ရမှာဖြစ်ပါတယ်။

Step (8)
အပေါ်မှာ download လုပ်ခဲ့တဲ့ Key Pair file ကို ပထမဆုံး puttygen ဆိုတဲ့ ( (.exe) ကိုတော့ run ထားရပါမယ်။) app ကို သုံးပြီး download လုပ်ခဲ့တဲ့ (.pem) file ကို (.ppk) file အဖြစ်သို့ ပြောင်းရမှာဖြစ်ပါတယ်။
- Auth ကို သွားပါမယ်။
- .ppk (putty private key) format ဖိုင်ကို ရွေးပေးလိုက်ပါ။

Step (9)
- Instance ၏ Linux Prompt ထဲ ရောက်သွားရင်တော့ မိမိရဲ့ instance လုပ်ခြင်းအောင်မြင်ပါတယ်။

ခုဆိုရင် မိမိ application တွက် on-demand EC2 server တစ်ခု ကို အသုံးပြုလို့ရပါပြီ။
ကျေးဇူးတင်ပါတယ်။