Elastic Load Balancing (ELB)
ELB ဆိုတာကတော့ request တွေကို တစ်နေရာတည်းမှ လက်ခံကာ Amazon EC2 instances၊ containers, etc.. စသည့် targets များဆီကို သတ်မှတ်ထားတဲ့ rules များအတိုင်း traffic ကို အလိုအလျောက် ဖြန့်ဝေပေးနိုင်သော AWS ရဲ့ service တစ်ခုဖြစ်ပါသည်။
ELB က targets health ကို အမြဲစောင့်ကြည့်နေပြီး healthy ဖြစ်သော targets များကိုသာ traffic ပို့ပေးသလို Traffic load ပေါ် မူတည်ပြီး လိုအပ်သလို အလိုအလျောက် scale လုပ်ပေးနိုင်ပါသည်။
ELB မှာတော့ ကိုယ်အသုံးပြုမဲ့ usage ပေါ်မူတည်ပြီး
- Classic Load Balancer
- Gateway Load Balancer
- Network Load Balancer
- Application Load Balancer
ဆိုပြီး ရွေးချယ်နိုင်ပါတယ်။
ဒီပို့စ့်မှာတော့ Application Load Balancer (ALB)အကြောင်း share ပေးသွားမှာ ဖြစ်ပါတယ်။
Application Load Balancer (ALB)
ALB က OSI Model ရဲ့ Application Layer (Layer 7) မှာ အလုပ်လုပ်ရန် အတွက်ဒီဇိုင်းပြုလုပ်ထားပါ။
Modern application architectures များအတွက် optimize လုပ်ထားသောကြောင့် microservices၊ container-based applications နှင့် advanced routing capabilities များကိုပါ ကောင်းစွာ ပံ့ပိုးပေးနိုင်ပါတယ်။
ထို့မျှသာမက incoming application traffic များကို EC2 instances၊ containers၊ IP addresses ၊ Lambda functions များအကြား ဖြန့်ဝေပေးနိုင်ပြီး load balancing နှင့် security features များကိုလည်း တစ်ပြိုင်နက် အသုံးပြုနိုင်ပါတယ်။
Core component တွေကတော့ Load Balancer, Listener နဲ့Target Group တို့ပါဝင်ပါတယ်။
Load Balancer
Load balancer က client တွေအတွက် single point of contact အဖြစ် လုပ်ဆောင်ပေးပြီး incoming traffic ကို Availability Zones အမျိုးမျိုးအတွင်းမှာရှိတဲ့ targets များထံ ပို့ဆောင်ပေးပါတယ်။ Load balancer တစ်ခုမှာ listener တစ်ခု သို့ အများအပြား ထည့်သွင်းအသုံးပြုနိုင်ပါတယ်။
Listener
Listener ကတော့ သတ်မှတ်ထားသော protocol နဲ့ port ကို အသုံးပြုကာ client များထံမှ connection requests များကို လက်ခံစစ်ဆေးပေးတဲ့ process ဖြစ်ပါတယ်။
Listener တစ်ခုစီမှာ rules များ ပါရှိပြီး request ရဲ့ path၊ host header၊ HTTP header၊ query string အစရှိတဲ့ condition များအပေါ် မူတည်ကာ traffic ကို ဘယ် target group ကိုပို့မယ်ဆိုတာ ဆုံးဖြတ်ပေးပါတယ်။ Listener တစ်ခုစီမှာတော့ default rule တစ်ခု မဖြစ်မနေ ရှိရပါမယ်။
Target Group
Target Group ဆိုတာကတော့မှာ ALB မှ route လုပ်ပေးသော traffic ကို လက်ခံမည့် targets အုပ်စုဖြစ်ပါတယ်။ Target group တစ်ခုစီမှာ သတ်မှတ်ထားသော protocol နဲ့ port ရှိပြီး EC2 instances၊ IP addresses သို့ AWS Lambda functions များကိုပါ target အဖြစ် register လုပ်ထားနိုင်ပါတယ်။
Target group အလိုက် health check များကို သတ်မှတ်နိုင်ပြီး ALB က healthy ဖြစ်တဲ့ targets များကိုသာ traffic ပို့ပေးပါသည်။
ALB ရဲ့အလုပ်လုပ်ပုံ
ALB သည် request တစ်ခုကို လက်ခံပြီးနောက်မှာတော့
-
Listener rules များကို priority အလိုက် စစ်ဆေးမယ်။
-
သင့်လျော်သော rule ကို ရွေးချယ်မယ်။
-
သက်ဆိုင်ရာ target group ထဲမှ healthy target တစ်ခုကို ရွေးချယ်မယ်။
-
Traffic ကို ထို target ထံ ပို့ပေးမယ်။
Default အနေဖြင့် round-robin algorithm ကို အသုံးပြုပြီး traffic ကို မျှတစွာ ဖြန့်ဝေပေးပါတယ်။
Targets များကို ထည့်ခြင်း၊ ဖယ်ရှားခြင်းများကို application ကို မထိခိုက်စေဘဲ ပြုလုပ်နိုင်ပါတယ်။
Traffic load ကို အခြေခံကာ load balancer ကိုလည်း အလိုအလျောက် scale လုပ်ပေးပါတယ်။
ALB က Regional service ဖြစ်တဲ့အတွက် Availability Zones အများအပြားကို target များ ဖြန့်ထားနိုင်တာကြောင့် high availability နှင့် fault tolerance ကို သေချာစေပါတယ်။
Availability Zone တစ်ခုလုံး မရနိုင်တော့ပါက ALB သည် အခြား Availability Zones များအတွင်းရှိ healthy targets များထံ traffic ကို ဆက်လက် route လုပ်ပေးနိုင်ပါတယ်။
ALB Advanced Features
ALB တွင် path-based routing၊ host-based routing၊ HTTP headers၊ methods နှင့် query parameters အပေါ် advanced routing features များ ပါဝင်ပါတယ်။
ထို့အပြင် URL redirect များ ပြုလုပ်နိုင်ခြင်း၊ custom HTTP responses ပြန်ပေးနိုင်ခြင်း၊ WebSocket နှင့် HTTP/2 ကို support လုပ်နိုင်ခြင်းတို့ကြောင့် modern web applications များအတွက် အလွန်သင့်တော်ပါတယ်။
Security အားဖြင့်လဲ ALB က SSL/TLS termination ကို support လုပ်ပြီး HTTPS traffic ကို load balancer အဆင့်တွင် decrypt လုပ်နိုင်ပါတယ်။
AWS Certificate Manager (ACM) မှ certificates များကို အသုံးပြုနိုင်သလို ကိုယ်ပိုင် certificate များကိုလည်း import လုပ်နိုင်ပါတယ်။
Security groups များကို အသုံးပြု၍ inbound နှင့် outbound traffic ကို ထိန်းချုပ်နိုင်ပြီး AWS WAF နှင့် ပေါင်းစပ်အသုံးပြုကာ web attacks များမှ application ကို ကာကွယ်နိုင်ပါတယ်။
ထို့အပြင် ALB သည် access logs များကို Amazon S3 ထဲသို့ သိမ်းဆည်းနိုင်ပြီး CloudWatch နှင့် integration လုပ်ကာ request count၊ latency နှင့် target health စသည့် metrics များကို စောင့်ကြည့်နိုင်ပါတယ်။
Application Load Balancer က scalable၊ secure နှင့် highly available ဖြစ်သော modern application များအတွက် အကောင်းဆုံး load balancing solution တစ်ခုဖြစ်တဲ့အတွက်အချိန်ရရင်တော့ အသေးစိတ် ကို AWS Documentation မှတဆင့် သွားရောက်လေ့လာနိုင်ပါတယ်ရှင့်။
ကျေးဇူးတင်ပါတယ်။

Discussion
Join the conversation
How do you feel about this article?
Comments
Sign in to join the conversation
Sign in to be the first to comment!
Share Your Article
Share with your professional network
Recent Articles

Terraform Day 3: Benefits of Terraform State
Terraform ကိုလေ့လာ တဲ့အခါ ကျွန််တော်တို့ရဲ့ Project Folder ထဲမှာ terraform.tfstate ဆိုတဲ့ ဖိုင်လေးကို တွေ့ဖူးကြပါလိမ့်မယ...

Terraform Day 2: Essential IaC Principles You Must Know
မနေ့ကတော့ Terraform အကြောင်း အကြမ်းဖျင်း Concept ကို ပြောပြခဲ့ပြီးပြီဆိုတော့ ဒီနေ့မှာတော့ Terraform ကို Professional ကျက...

TCP/IP Protocol
အားလုံးပဲမင်္ဂလာပါ။ ဒီနေ့ ကျွန်တော်တို့ TCP/IP Protocol အကြောင်း ဆွေးနွေးသွားပါမယ်။ ပထမဆုံးအနေနဲ့ TCP/IP ရဲ့ History လေး...

Terraform Day 1: Introduction to IAC and Terraform
ကျွန်တော်တို့ cloud အကြောင်း စပြောကြပြီဆိုရင် အရင်ဆုံး ခေါင်းထဲရောက်လာတာ Console ထဲဝင်၊ UI ကနေ ခလုတ်လေးတွေ လိုက်နှိပ်ပြီ...

AWS - Auto Scaling Group
AWS ASG Auto Scaling Group ဆိုတာကတော့ EC2 instances များကို logical group တစ်ခုအဖြစ် စုစည်းထားပြီး automatic scaling နှင...

