Amazon Route53 Failover Routing

Amazon Route53 Failover Routing

·

2 min read

Route53 Failover အကြောင်းပြောမယ်ဆိုရင် Route53 health check ကြောင်းကနေ စပြောရပါမယ်။

Route53 health check ဆိုတာဘာလဲ?

Route53 health check ဆိုတာ request တွေကို တုန့်ပြန်နိုင်တဲ့ endpoints သို့မဟုတ် resources တွေကို စောင့်ကြည့်ပေးတဲ့ ဝန်ဆောင်မှုတစ်ခုဖြစ်ပါတယ်။ လွယ်လွယ်ပြောရရင် ကိုယ်စောင့်ကြည့်ချင်တဲ့ အရင်းအမြစ်တစ်ခု ကောင်းကောင်းအလုပ်လုပ်နေလား/မလုပ်နေလားကို စောင့်ကြည့်ပြီး အစီရင်ခံပေးမယ့် ဝန်ဆောင်မှုတစ်ခုပေါ့။ Route53 health check က သူစောင့်ကြည့်ပေးနေတဲ့ resource ရဲ့ health status အပြောင်းအလဲကို သတ်မှတ်ပေးထားတဲ့ notification channel တွေကနေတဆင့် notify လုပ်ပေးနိုင်ပါတယ်။

Types of Route53 Health Check

ပုံထဲမှာ ကြည့်လိုက်ရင် Route53 health check သုံးမျိုးရှိတာ တွေ့ရပါမယ် အဲ့သုံးခုအကြောင်းပြောရရင်၊

  • Endpoint Health Check: သူကတော့ အပေါ်မှာ ပြောခဲ့သလိုပဲ ကိုယ် monitor လုပ်ချင်တဲ့ endpoint ကို စောင့်ကြည့်ပေးတာပေါ့။

  • Status of other health checks: ဒီကောင်ကကျတော့ တစ်ခြား health check တွေကို ပြန်ပြီးတော့ စောင့်ကြည့်ပေးတာ။ parient health check တစ်ခုကနေ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုတဲ့ child health checks တွေကို ပြန်ပြီး စောင့်ကြည့်တာမျိုးပေါ့။

  • State of CloudWatch alarm health check: သူကတော့ CloudWatch alarms တွေသုံးပြီး monitor လုပ်ပေးတာပေါ့။ Service ဒေါင်းသွားတဲ့ အဆင့်မရောက်ခင် သတ်မှတ်ထားတဲ့ matrix level ရောက်ကထဲက unhealthy state ထဲထည့်လိုက်လို့ရနိုင်တာမျိုးပေါ့။

What is Route53 DNS Failover Routing?

Route53 DNS Failover Routing ဆိုတာ မြင်သာအောင်ပြောရရင် တစ်ခုထက်ပိုတဲ့ server တွေထဲက တစ်ခုဒေါင်းသွားရင် တစ်ခြား တစ်ခုကို traffic ပြောင်းသွားအောင် routing လုပ်ပေးတဲ့ service တစ်ခုပေါ့။ သူက service တစ်ခု ပုံမှန်အလုပ်လုပ်နေလား/မလုပ်နေဘူးလားဆိုတာကို သိရဖို့ Route53 health check သုံးပါတယ်။ ဥပမာ၊ ကျွန်တော်တို့မှာ webiste ကို server-P နဲ့ server-S နှစ်လုံးမှာ တင်ထားတယ်ဆိုပါဆို့၊ server-P ရဲ့ health check status မှာ unhealthy ဖြစ်သွားတာနဲ့ Server-P ကို Traffic ပိတ်ပေးလိုက်ပြီး Traffic တွေကို Server-S ကို လွှဲပေးလိုက်တာပေါ့။

Route53 Failover မှာ Active-Active နဲ့ Active-Pasive ဆိုပြီး နှစ်မျိုးရှိပါတယ်။

Active-Active Failover

ဒီကောင်က ဘယ်လိုနေရာတွေမှာသုံးသလဲဆိုတော့။ ကိုယ့်ရဲ့ application ကို တစ်ခုထက် ပိုတဲ့ region တွေမှာ တစ်ပြိုင်တည်း run ခိုင်းထားချင်တဲ့ အချိန်မျိုးမှာ သုံးပါတယ်။ ဥပမာ၊ ကျွန်တော်တို့ ရဲ့ service ကို Sigapore နဲ့ Tokyo regions တွေမှာ တစ်ပြိုင်တည်း run ထားပြီး နှစ်ခုလုံးက active ဖြစ်နေတယ်ဆိုပါဆို့။ ပုံမှန် အချိန်မှာ Route53 ကို ကျွန်တော်တို့ service အတွက် DNS query လိုက်ရင် DSN query response ထဲမှာ region နှစ်ခုလုံးပါနေမယ် ပါလိမ့်မယ်၊ region တစ်ခု မှာ down သွားပြီဆိုတာနဲ့ down သွားတဲ့ region ကို list ထဲက ထုတ်ထားလိုက်ပါလိမ့်မယ်၊ အဲ့ region က healthy ပြန်ဖြစ်သွားပြီဆိုရင်တော့ DSN query response ထဲမှာ နှစ်ခုလုံး ပြန်ပါလာပါလိမ့်မယ်။

Active-Pasive Failover

Region တစ်ခုကိုပဲ primary အဖြစ်နဲ့ ထားချင်ပြီး နောက်တစ်ခုကို primary region down သွားမှ သုံးချင်တာမျိုးဆိုရင် Active-Pasive Failover သုံးရပါမယ်။ Active-Pasive Failover မှာဆိုရင်တော့ DSN query response မှာ primary resource ကိုပဲပုံမှန်ပေးနေပြီး၊ resource က unhealthy ဖြစ်သွားတာနဲ့ secondry resource ကို ချက်ခြင်းပြောင်းပေးလိုက်မှာပါ။ မူလ resource က helathy ပြန်ဖြစ်လာပြီဆိုရင်တော့ မူလ resource ကို ပြန်ပြောင်းပေးလိုက်ပါလိမ့်မယ်။ ဒီနေရာမှာ region နဲ့ ပြောသွားပေမယ့် တစ်ခြား usage case တွေအတွက်လည်း Active-Pasive Failover ကို အသုံးပြုနိုင်ပါတယ်။ ဥပမာ၊ ကျွန်တော်တို့ရဲ့ service ကို EC2 ပေါ်မှာ deploy ထားပြီး အဲ့ တူညီတဲ့ service ကိုပဲ lambda ပေါ်မှာလည်း တင်ထားတယ်ဆိုပါဆို့။ EC2 ပေါ်က service ကို primary ထားပြီး Lambda ကို secoundry ထားလိုက်မယ်ဆိုရင်။ ပုံမှန်အချိန်တွေမှာ EC2 ပေါ်မှာ ကုန်ကျစရိတ် သက်သက်သာသာနဲ့ run နေပြီး EC2 ပေါ်မှာ မနိုင်လို့ down သွားတဲ့ အချိန်မျိုးမှာ Lambda ဘက်ကို traffic က ပြောင်းသွားတဲ့အတွက် User တွေက အဆင်ပြေပြေ ဆက်သုံးနေနိုင်မှာ ဖြစ်ပါတယ်။

ဒီလောက်ဆိုရင် Amazon Route53 DNS Failover Routing အကြောင်းကို အနည်းငယ် သဘောပေါက်ကြလောက်ပြီထင်ပါတယ်။ နောက်ရက်မှ demo lab တစ်ခုလောက်ကို စာရေးပြီးတော့ဖြစ်ဖြစ်၊ video record လုပ်ပြီးတော့ ဖြစ်ဖြစ်တင်ပေးပါမယ်။