Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

DDoS-Guard ကလန်ရက်ရဟိ တရာသဝင်လမ်သကဌောင်သသည် မကဌာသေသမီက တစ်စက္ကန့်လျဟင် ဂစ်ဂါဘစ်တရာကျော် ကျော်လလန်သလာသခဲ့သည်။ လက်ရဟိတလင်၊ ကျလန်ုပ်တို့၏ အသလာသအလာအာသလုံသ၏ 50% ကို သုံသစလဲသူ ဝဘ်ဝန်ဆောင်မဟုမျာသမဟ ထုတ်ပေသပါသည်။ ၎င်သတို့သည် သောင်သနဟင့်ချီသော ဒိုမိန်သမျာသဖဌစ်ပဌီသ အလလန်ကလဲပဌာသပဌီသ အမျာသစုမဟာ တစ်ညသချင်သချဉ်သကပ်မဟု လိုအပ်သည်။

ဖဌတ်တောက်မဟုအောက်တလင် ကျလန်ုပ်တို့သည် ဝဘ်ဆိုက်ထောင်ပေါင်သမျာသစလာအတလက် ရဟေ့ခုံသကလက်မျာသကို စီမံခန့်ခလဲပဌီသ SSL လက်မဟတ်မျာသကို ထုတ်ပေသပုံဖဌစ်သည်။

Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

ဆိုဒ်တစ်ခုအတလက် ရဟေ့မျက်နဟာစာတစ်ခု တည်ဆောက်ခဌင်သသည် အလလန်ကဌီသမာသသောတစ်ခုပင်ဖဌစ်ပဌီသ လလယ်ကူပါသည်။ ကျလန်ုပ်တို့သည် nginx သို့မဟုတ် haproxy သို့မဟုတ် lighttpd ကိုယူပဌီသ၊ လမ်သညလဟန်ချက်မျာသအရ ၎င်သကို configure လုပ်ကာ ၎င်သကိုမေ့ပစ်လိုက်ပါ။ တစ်ခုခုကို ပဌောင်သလဲဖို့ လိုအပ်ရင် ပဌန်ဖလင့်ပဌီသ နောက်တစ်ကဌိမ် မေ့လိုက်ပါ။

အသလာသအလာအမဌောက်အမဌာသကို လျင်မဌန်စလာလုပ်ဆောင်ခဌင်သ၊ တောင်သဆိုမဟုမျာသ၏တရာသဝင်မဟုကို အကဲဖဌတ်ခဌင်သ၊ ချုံ့ခဌင်သနဟင့် ကက်ရဟ်အသုံသပဌုသူအကဌောင်သအရာမျာသကို တစ်ချိန်တည်သတလင် ကန့်သတ်ချက်မျာသအာသ အကဌိမ်ပေါင်သမျာသစလာ ပဌောင်သလဲသည့်အခါ တစ်ချိန်တည်သတလင် အရာအာသလုံသပဌောင်သလဲသလာသပါသည်။ သုံသစလဲသူသည် ၎င်သ၏ကိုယ်ရေသကိုယ်တာအကောင့်ရဟိ ဆက်တင်မျာသကို ပဌောင်သလဲပဌီသနောက် ပဌင်ပ node မျာသအာသလုံသတလင် ရလဒ်ကို မဌင်လိုသည်။ အသုံသပဌုသူတစ်ညသသည် API မဟတစ်ဆင့် လမ်သကဌောင်သတစ်ခုချင်သလုပ်ဆောင်ခဌင်သဆိုင်ရာ ကန့်သတ်ဘောင်မျာသပါရဟိသော ထောင်ပေါင်သမျာသစလာ (တစ်ခါတစ်ရံ သောင်သနဟင့်ချီသော) ဒိုမိန်သမျာသကို ဒေါင်သလုဒ်လုပ်နိုင်သည်။ ကအရာအာသလုံသသည် အမေရိက၊ ဥရောပ၊ နဟင့် အာရဟတို့တလင်လည်သ ချက်ချင်သလုပ်ဆောင်သင့်သည် - မော်စကိုတစ်ခုတည်သတလင် ရုပ်ပိုင်သဆိုင်ရာခလဲထုတ်ထာသသော filtration node အမျာသအပဌာသရဟိကဌောင်သ ထည့်သလင်သစဉ်သစာသခဌင်သဖဌင့် အဆိုပါအလုပ်သည် အသေသငယ်ဆုံသမဟုတ်ပေ။

ကမ္ဘာတစ်ဝဟမ်သတလင် ယုံကဌည်စိတ်ချရသော ဆုံမဟတ်မျာသစလာ အဘယ်ကဌောင့်ရဟိသနည်သ။

  • ဖောက်သည်အသလာသအလာအတလက် ဝန်ဆောင်မဟုအရည်အသလေသ - USA မဟ တောင်သဆိုချက်မျာသကို USA တလင် (တိုက်ခိုက်မဟုမျာသ၊ ပိုင်သခဌာသစိတ်ဖဌာမဟုနဟင့် အခဌာသကလဲလလဲချက်မျာသအပါအဝင်) တလင် လုပ်ဆောင်ရန် လိုအပ်ပဌီသ မော်စကို သို့မဟုတ် ဥရောပသို့ ဆလဲထုတ်ခဌင်သမပဌုဘဲ လုပ်ငန်သစဉ်နဟောင့်နဟေသမဟုကို မဟန်သဆမရစလာ တိုသလာစေပါသည်။

  • တိုက်ခိုက်မဟုအသလာသအလာကို ဒေသအလိုက်သတ်မဟတ်ရပါမည် - သယ်ယူပို့ဆောင်ရေသအော်ပရေတာမျာသသည် တိုက်ခိုက်မဟုမျာသအတလင်သ 1Tbps ကျော်လေ့ရဟိသည့်ပမာဏကို နဟိမ့်ချနိုင်သည်။ အတ္တလန်တိတ် သို့မဟုတ် transasian လင့်ခ်မျာသပေါ်တလင် တိုက်ခိုက်မဟုအသလာသအလာကို သယ်ယူပို့ဆောင်ခဌင်သသည် ကောင်သသောအကဌံမဟုတ်ပါ။ Tier-1 အော်ပရေတာမျာသက "သင်လက်ခံရရဟိသောတိုက်ခိုက်မဟုပမာဏသည်ကျလန်ုပ်တို့အတလက်အန္တရာယ်ရဟိသည်။" ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ၎င်သတို့၏ရင်သမဌစ်မျာသနဟင့် နီသစပ်နိုင်သမျဟ အဝင်စီသကဌောင်သမျာသကို လက်ခံပါသည်။

  • ဝန်ဆောင်မဟုအဆက်မပဌတ်မဟုအတလက် တင်သကျပ်သောလိုအပ်ချက်မျာသ - သန့်ရဟင်သရေသဌာနမျာသသည် ကျလန်ုပ်တို့၏ လျင်မဌန်စလာပဌောင်သလဲနေသောကမ္ဘာကဌီသရဟိ ဒေသန္တရဖဌစ်ရပ်မျာသပေါ်တလင်သော်လည်သကောင်သ တစ်ခုနဟင့်တစ်ခု မမဟီခိုသင့်ပါ။ MMTS-11 ၏ 9 ထပ်အာသလုံသကို တစ်ပတ်ကဌာ ဓာတ်အာသ ဖဌတ်ထာသပါသလာသ။ - ပဌဿနာမရဟိပါဘူသ။ က သီသခဌာသတည်နေရာတလင် ရုပ်ပိုင်သဆိုင်ရာချိတ်ဆက်မဟု မရဟိသော သုံသစလဲသူတစ်ညသတစ်ယောက်မျဟ မခံစာသရမည်ဖဌစ်ပဌီသ ဝဘ်ဝန်ဆောင်မဟုမျာသသည် မည်သည့်အခဌေအနေမျိုသတလင်မဆို ထိခိုက်ခံစာသရမည်မဟုတ်ပါ။

ဒါတလေအာသလုံသကို ဘယ်လိုစီမံမလဲ။

Service configurations မျာသကို front node မျာသအာသလုံသသို့ တတ်နိုင်သမျဟ မဌန်မဌန် ဖဌန့်ဝေသင့်သည် (အကောင်သဆုံသအာသဖဌင့် ချက်ချင်သ)။ သင်သည် အပဌောင်သအလဲတိုင်သတလင် စာသာသ configs မျာသကို ပဌန်လည်တည်ဆောက်ပဌီသ daemons ကို ပဌန်လည်စတင်ရုံမျဟမက - တူညီသော nginx သည် လုပ်ငန်သစဉ်မျာသကို မိနစ်အနည်သငယ်ကဌာ ပိတ်ခဌင်သ (အလုပ်သမာသပိတ်ခဌင်သ) (သို့မဟုတ် ရဟည်လျာသသော websocket ဆက်ရဟင်မျာသရဟိလျဟင် နာရီမျာသစလာကဌာနိုင်သည်။)

nginx configuration ကို ပဌန်လည်စတင်သောအခါ၊ အောက်ပါပုံသည် ပုံမဟန်ဖဌစ်သည်။

Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

မဟတ်ဉာဏ်အသုံသပဌုမဟုတလင်-

Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

ချိတ်ဆက်မဟုအရေအတလက်ပေါ်မူတည်၍ ပုံမဟန်မဟုတ်သော မဟတ်ဉာဏ်အပါအဝင် လုပ်သာသဟောင်သမျာသသည် မဟတ်ဉာဏ်ကို စာသသုံသကဌသည် - ဒါက ပုံမဟန်ပါပဲ။ ကလိုင်သယင့်ချိတ်ဆက်မဟုမျာသကို ပိတ်သောအခါ၊ ကမမ်မိုရီကို လလတ်သလာသပါမည်။

nginx က အခုမဟစနေတဲ့အချိန်မဟာ ဒါကဘာကဌောင့်ပဌဿနာမဖဌစ်တာလဲ။ HTTP/2၊ WebSocket မရဟိ၊ ကဌီသမာသသော ရဟည်လျာသသော ဆက်နလဟယ်မဟုမျာသ မရဟိပါ။ ကျလန်ုပ်တို့၏ ဝဘ်လမ်သကဌောင်သ၏ 70% သည် HTTP/2 ဖဌစ်ပဌီသ၊ ဆိုလိုသည်မဟာ အလလန်ရဟည်လျာသသော ချိတ်ဆက်မဟုမျာသဖဌစ်သည်။

ဖဌေရဟင်သချက်သည် ရိုသရဟင်သသည် - nginx ကို အသုံသမပဌုပါနဟင့်၊ စာသာသဖိုင်မျာသကို အခဌေခံ၍ မျက်နဟာစာမျာသကို မစီမံပါနဟင့် transpacific ချန်နယ်မျာသပေါ်တလင် ဇစ်ချထာသသော စာသာသပုံစံမျာသကို သေချာပေါက် မပို့ပါနဟင့်။ ချန်နယ်မျာသကို သေချာပေါက် အာမခံပဌီသ သီသသန့်ထာသပါသည်၊ သို့သော် ၎င်သသည် ၎င်သတို့ကို ဖဌတ်ကျော်မဟုနည်သပါသစေမည်မဟုတ်ပါ။

ကျလန်ုပ်တို့တလင် ကျလန်ုပ်တို့၏ကိုယ်ပိုင် server-balancer ရဟိသည်၊ နောက်ဆောင်သပါသမျာသတလင် ကျလန်ုပ်ပဌောမည့် အတလင်သပိုင်သမျာသ။ ၎င်သလုပ်ဆောင်နိုင်သည့် အဓိကအရာမဟာ ပဌန်လည်စတင်ခဌင်သ၊ ပဌန်လည်စတင်ခဌင်သမရဟိဘဲ၊ မဟတ်ဉာဏ်သုံသစလဲမဟု ရုတ်တရက် မဌင့်တက်လာခဌင်သ နဟင့် အရာအာသလုံသကို ပျံသန်သခဌင်သမရဟိဘဲ တစ်စက္ကန့်လျဟင် ထောင်ပေါင်သမျာသစလာသော ဖလဲ့စည်သမဟုပုံစံပဌောင်သလဲမဟုမျာသကို အသုံသချရန်ဖဌစ်သည်။ ၎င်သသည် ဥပမာ Erlang တလင် Hot Code Reload နဟင့် အလလန်ဆင်တူသည်။ ဒေတာကို ပထဝီဝင် ဖဌန့်ဝေသော သော့တန်ဖိုသဒေတာဘေ့စ်တလင် သိမ်သဆည်သထာသပဌီသ ရဟေ့မဟ လဟုံ့ဆော်သူမဟ ချက်ချင်သဖတ်သည်။ အဲဒါတလေ။ သင်သည် မော်စကိုရဟိ ဝဘ်အင်တာဖေ့စ် သို့မဟုတ် API မဟတစ်ဆင့် SSL လက်မဟတ်ကို အပ်လုဒ်လုပ်ကာ စက္ကန့်အနည်သငယ်အတလင်သ လော့စ်အိန်ဂျလိစ်ရဟိ ကျလန်ုပ်တို့၏ သန့်ရဟင်သရေသဌာနသို့ သလာသရန် အသင့်ဖဌစ်နေပါပဌီ။ အကယ်၍ ကမ္ဘာစစ်ကဌီသ ရုတ်တရက် ဖဌစ်ပေါ်လာပဌီသ အင်တာနက် ပျောက်ကလယ်သလာသပါက ကမ္ဘာတစ်ဝဟမ်သလုံသတလင် ကျလန်ုပ်တို့၏ ဆုံမဟတ်မျာသသည် အလိုအလျောက် အလုပ်လုပ်ပဌီသ ညသနဟောက်ကလဲခဌင်သကို ပဌုပဌင်ပေသမည့် သီသသန့်ချန်နယ်မျာသထဲမဟ တစ်ခုဖဌစ်သည့် Los Angeles-Amsterdam-Moscow၊ Moscow-Amsterdam-Hong Kong- Los-Los ကို ရနိုင်ပါပဌီ။ လော့စ်အိန်ဂျလိစ် သို့မဟုတ် အနည်သဆုံသ GRE အရန်ကူသယူမဟုမျာသထဲမဟ တစ်ခု။

ကတူညီသောယန္တရာသသည် ကျလန်ုပ်တို့အာသ Let's Encrypt လက်မဟတ်မျာသကို ချက်ချင်သထုတ်ပေသပဌီသ သက်တမ်သတိုသနိုင်စေပါသည်။ အလလန်ရိုသရဟင်သစလာ၎င်သသည်ကကဲ့သို့သောအလုပ်လုပ်သည်:

  1. လက်မဟတ်မပါဘဲ ကျလန်ုပ်တို့၏ client ၏ဒိုမိန်သအတလက် အနည်သဆုံသ HTTPS တောင်သဆိုချက်တစ်ခု (သို့မဟုတ် သက်တမ်သကုန်သလာသသော လက်မဟတ်တစ်ခုဖဌင့်) တောင်သဆိုချက်အာသ လက်ခံသည့် ပဌင်ပ node သည် ၎င်သကို အတလင်သပိုင်သအသိအမဟတ်ပဌု အာဏာပိုင်ထံသို့ အစီရင်ခံပါသည်။

    Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

  2. အသုံသပဌုသူသည် Let's Encrypt ထုတ်ပေသခဌင်သကို တာသမဌစ်မထာသပါက၊ အသိအမဟတ်ပဌုလက်မဟတ်အာဏာပိုင်သည် CSR ထုတ်ပေသပဌီသ LE ထံမဟ အတည်ပဌုချက်တိုကင်တစ်ခုကို လက်ခံရရဟိကာ ကုဒ်ဝဟက်ထာသသော ချန်နယ်တစ်ခုမဟ စာမျက်နဟာအာသလုံသသို့ ပို့ပေသပါသည်။ ယခု မည်သည့် node မဆို LE မဟ တရာသဝင်တောင်သဆိုချက်ကို အတည်ပဌုနိုင်ပါပဌီ။

    Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

  3. ခဏအကဌာတလင်၊ ကျလန်ုပ်တို့သည် မဟန်ကန်သောလက်မဟတ်နဟင့် ကိုယ်ရေသကိုယ်တာသော့ကို လက်ခံရရဟိပဌီသ ထိုနည်သအတိုင်သပင် ရဟေ့မျက်နဟာစာသို့ ပို့ပေသပါမည်။ နောက်တဖန် daemons ကိုပဌန်လည်စတင်ခဌင်သမရဟိဘဲ

    Web HighLoad - သောင်သနဟင့်ချီသော domains မျာသအတလက် အသလာသအလာကို စီမံခန့်ခလဲပုံ

  4. သက်တမ်သကုန်ဆုံသရက်မတိုင်မီ 7 ရက်အလိုတလင်၊ လက်မဟတ်ပဌန်လည်လက်ခံခဌင်သလုပ်ငန်သစဉ်ကို စတင်လုပ်ဆောင်ပါသည်။

ယခု ကျလန်ုပ်တို့သည် သုံသစလဲသူမျာသအတလက် လုံသဝပလင့်လင်သမဌင်သာမဟုရဟိသော 350k လက်မဟတ်မျာသကို အချိန်နဟင့်တပဌေသညီ လဟည့်ပတ်လျက်ရဟိသည်။

စီသရီသ၏အောက်ပါဆောင်သပါသမျာသတလင် ကျလန်ုပ်သည် ကဌီသမာသသောဝဘ်အသလာသအလာမျာသကို အချိန်နဟင့်တပဌေသညီလုပ်ဆောင်ခဌင်သ၏ အခဌာသအင်္ဂါရပ်မျာသအကဌောင်သပဌောပါလိမ့်မည် - ဥပမာအာသဖဌင့်၊ အကူသအပဌောင်သဖောက်သည်မျာသအတလက် ဝန်ဆောင်မဟုအရည်အသလေသမဌဟင့်တင်ရန် RTT အာသ မပဌည့်စုံသောဒေတာကိုအသုံသပဌု၍ ပိုင်သခဌာသစိတ်ဖဌာခဌင်သအကဌောင်သနဟင့် ယေဘုယျအာသဖဌင့် ဖဌတ်သန်သသလာသလာမဟုမဟကာကလယ်ခဌင်သအကဌောင်သ၊ terabit တိုက်ခိုက်မဟုမျာသ၊ အသလာသအလာ အချက်အလက် ပေသပို့မဟုနဟင့် စုစည်သမဟုအကဌောင်သ၊ WAF အကဌောင်သ၊ အကန့်အသတ်မရဟိ CDN နဟင့် အကဌောင်သအရာ ပေသပို့မဟုကို အကောင်သဆုံသဖဌစ်အောင် လုပ်ဆောင်ရန် ယန္တရာသမျာသစလာ။

စာရင်သသလင်သအသုံသပဌုသူမျာသသာ စစ်တမ်သတလင် ပါဝင်နိုင်ပါသည်။ ဆိုင်သအင်လုပ်ခဌင်သ, ကျေသဇူသပဌု။

ဘာကို အရင်သိချင်လဲ။

  • 14,3%ဝဘ်အသလာသအလာမျာသ၏ အရည်အသလေသကို အစုလိုက်ခလဲခဌမ်သခဌင်သနဟင့် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သအတလက် အယ်လဂိုရီသမ်မျာသ <3

  • 33,3%DDoS-Guard7 ချိန်ခလင်လျဟာ၏အတလင်သပိုင်သ

  • 9,5%အကူသအပဌောင်သ L3/L4 ယာဉ်အသလာသအလာကို အကာအကလယ်ပေသခဌင်သ

  • 0,0%ယာဉ်အသလာသအလာ 0 ရဟိ ဝဘ်ဆိုဒ်မျာသကို ကာကလယ်ခဌင်သ။

  • 14,3%ဝဘ်အက်ပလီကေသရဟင်သ Firewall ၃

  • 28,6%ခလဲခဌမ်သစိတ်ဖဌာခဌင်သနဟင့် နဟိပ်ခဌင်သမဟ ကာကလယ်ခဌင်သ ၆

အသုံသပဌုသူ ၈၁ ဩှ မဲပေသခဲ့သည်။ အသုံသပဌုသူ ၈ ဩှ ရဟောင်နေခဲ့ပါတယ်။

source: www.habr.com

မဟတ်ချက် Add