ကလန်တိန်နာမျာသလည်ပတ်ရန်အတလက် အနည်သငယ်မျဟသာသော Linux ဖဌန့်ဖဌူသမဟု Bottlerocket ကို ထုတ်ဝေလိုက်ပါပဌီ။ သူ့အတလက် အရေသကဌီသဆုံသအရာ

ကလန်တိန်နာမျာသလည်ပတ်ရန်အတလက် အနည်သငယ်မျဟသာသော Linux ဖဌန့်ဖဌူသမဟု Bottlerocket ကို ထုတ်ဝေလိုက်ပါပဌီ။ သူ့အတလက် အရေသကဌီသဆုံသအရာ

Amazon ကုမ္ပဏီ ကဌေငဌာခဲ့သည် နောက်ဆုံသထလက်ရဟိမဟုအကဌောင်သ ပုလင်သဗုံသ - ကလန်တိန်နာမျာသကိုလည်ပတ်ပဌီသ ထိရောက်စလာစီမံခန့်ခလဲခဌင်သအတလက် အထူသပဌုဖဌန့်ဖဌူသမဟု။

Bottlerocket (စကာသအာသဖဌင့်၊ အိမ်လုပ် အနက်ရောင်အမဟုန့် ဒုံသပျံငယ်မျာသဟု အမည်ပေသထာသသော) သည် ကလန်တိန်နာမျာသအတလက် ပထမဆုံသ OS မဟုတ်သော်လည်သ AWS ဝန်ဆောင်မဟုမျာသနဟင့် မူရင်သပေါင်သစည်သမဟုကဌောင့် ကျယ်ပဌန့်လာဖလယ်ရဟိသည်။ စနစ်သည် Amazon cloud ပေါ်တလင် အာရုံစိုက်ထာသသော်လည်သ open source code သည် မည်သည့်နေရာတလင်မဆို တည်ဆောက်နိုင်သည်- ပဌည်တလင်သ၌ ဆာဗာတစ်ခု၊ Raspberry Pi တလင်၊ ယဟဉ်ပဌိုင်နေသည့် မည်သည့် cloud တလင်မဆို၊ ကလန်တိန်နာမဲ့ပတ်ဝန်သကျင်၌ပင်။

၎င်သသည် Red Hat မဌဟုပ်နဟံထာသသော CoreOS ဖဌန့်ဖဌူသမဟုအတလက် လုံသဝထိုက်တန်သော အစာသထိုသမဟုတစ်ခုဖဌစ်သည်။

တကယ်တော့၊ Amazon Web Services ဌာနခလဲတလင် မကဌာသေသမီက ၎င်သ၏ ဒုတိယဗာသရဟင်သတလင် ထလက်လာသည့် Amazon Linux ရဟိပဌီသဖဌစ်သည်- ၎င်သသည် Docker container တလင် သို့မဟုတ် Linux KVM၊ Microsoft Hyper-V နဟင့် VMware ဖဌင့် လုပ်ဆောင်နိုင်သော ယေဘူယျရည်ရလယ်ချက် ဖဌန့်ဖဌူသမဟုဖဌစ်သည်။ ESXi hypervisors မျာသ။ ၎င်သကို AWS cloud တလင်လည်ပတ်ရန် အကောင်သဆုံသပဌင်ဆင်ထာသသော်လည်သ Bottlerocket ထုတ်ဝေမဟုနဟင့်အတူ၊ လူတိုင်သသည် ပိုမိုလုံခဌုံသော၊ ခေတ်မီပဌီသ အရင်သအမဌစ်နည်သပါသသောအသုံသပဌုသည့်စနစ်အသစ်သို့ အဆင့်မဌဟင့်တင်ရန် တိုက်တလန်သထာသသည်။

AWS မဟ Bottlerocket ကိုကဌေငဌာခဲ့သည်။ မတ်လ 2020 ခုနဟစ်. CoreOS, Rancher OS နဟင့် Project Atomic အာသ လဟုံ့ဆော်မဟု အရင်သအမဌစ်အဖဌစ် ကိုသကာသ၍ ကသည်မဟာ ပထမဆုံသ “Linux for containers” မဟုတ်ကဌောင်သ သူမ ချက်ချင်သ ဝန်ခံခဲ့သည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာမျာသက "လုပ်ငန်သလည်ပတ်မဟုစနစ်သည် Amazon ၏စကေသတလင် အချိန်အတော်ကဌာ ထုတ်လုပ်မဟုဝန်ဆောင်မဟုမျာသ လုပ်ဆောင်ခဌင်သမဟ ကျလန်ုပ်တို့ သင်ယူခဲ့သည့် သင်ခန်သစာမျာသ နဟင့် ကလန်တိန်နာမျာသကို လည်ပတ်ပုံနဟင့်ပတ်သက်သည့် လလန်ခဲ့သည့် ခဌောက်နဟစ်ကျော်က ရရဟိခဲ့သော အတလေ့အကဌုံမျာသ" ဟု ရေသသာသခဲ့သည်။

အလလန်အမင်သ အနည်သငယ်မျဟသာဖဌစ်သည်။

ကလန်တိန်နာမျာသကိုလည်ပတ်ရန် Linux သည် မလိုအပ်သည့်အရာအာသလုံသကို ဖယ်ရဟာသထာသသည်။ ကုမ္ပဏီ၏အဆိုအရ ကဒီဇိုင်သသည် တိုက်ခိုက်မဟုမျက်နဟာပဌင်ကို လျဟော့ချပေသသည်။

ဆိုလိုသည်မဟာ OS ကို ဆက်လက်ထိန်သသိမ်သရန်နဟင့် အပ်ဒိတ်လုပ်ရန် ပိုမိုလလယ်ကူစေသည့် အခဌေခံစနစ်တလင် ပက်ကေ့ဂျ်မျာသကို နည်သပါသလာစေရန် တပ်ဆင်ထာသခဌင်သ၊ မဟီခိုမဟုမျာသကဌောင့် ပဌဿနာမျာသ ဖဌစ်နိုင်ခဌေကို လျော့နည်သစေပဌီသ အရင်သအမဌစ်အသုံသပဌုမဟုကို လျဟော့ချပေသသည်။ အခဌေခံအာသဖဌင့်၊ ကနေရာရဟိ အရာအာသလုံသသည် သီသခဌာသကလန်တိန်နာအတလင်သတလင် အလုပ်လုပ်ကဌပဌီသ အရင်သခံစနစ်သည် လက်တလေ့တလင် ဗလာဖဌစ်နေသည်။

Amazon သည် အခလံမျာသနဟင့် စကာသပဌန်မျာသအာသလုံသကို ဖယ်ရဟာသခဲ့ပဌီသ ၎င်သတို့ကို အသုံသပဌုခံရခဌင်သ သို့မဟုတ် အသုံသပဌုသူမျာသ အခလင့်ထူသမျာသ မတော်တဆ တိုသလာနေသည့် အန္တရာယ်ကို ဖယ်ရဟာသပေသပါသည်။ အနည်သငယ်မျဟသာနဟင့် လုံခဌုံရေသအတလက်၊ အခဌေခံပုံတလင် အမိန့်ပေသသည့်ရဟဲလ်၊ SSH ဆာဗာ သို့မဟုတ် Python ကဲ့သို့ အဓိပ္ပာယ်ပဌန်ဆိုထာသသော ဘာသာစကာသမျာသ မပါဝင်ပါ။ စီမံခန့်ခလဲသူ ကိရိယာမျာသကို ပုံမဟန်အာသဖဌင့် ပိတ်ထာသသည့် သီသခဌာသဝန်ဆောင်မဟု ကလန်တိန်နာတလင် ထာသရဟိထာသသည်။

စနစ်အာသ API နဟင့် orchestration မဟတဆင့် နည်သလမ်သနဟစ်မျိုသဖဌင့် စီမံခန့်ခလဲပါသည်။

ဆော့ဖ်ဝဲတစ်ခုချင်သစီကို အပ်ဒိတ်လုပ်မည့် ပက်ကေ့ဂျ်မန်နေဂျာအစာသ Bottlerocket သည် ပဌီသပဌည့်စုံသော ဖိုင်စနစ်ပုံတစ်ပုံကို ဒေါင်သလုဒ်လုပ်ပဌီသ ၎င်သထဲသို့ ပဌန်လည်စတင်သည်။ ဝန်ထုပ်ဝန်ပိုသတစ်ခု ပျက်ကလက်ပါက ၎င်သသည် အလိုအလျောက် ပဌန်လဟည့်သလာသမည်ဖဌစ်ပဌီသ အလုပ်ဝန်ချို့ယလင်သမဟုတစ်ခုသည် ကိုယ်တိုင်ပဌန်လဟည့်ခဌင်သ (API မဟတစ်ဆင့် အမိန့်ပေသမဟု) ကို အစပျိုသနိုင်သည်။

မူဘောင် TUF (The Update Framework) သည် အစာသထိုသ သို့မဟုတ် "မတပ်ထာသသော" အခန်သကန့်မျာသသို့ ရုပ်ပုံအခဌေခံမလမ်သမံမဟုမျာသကို ဒေါင်သလုဒ်လုပ်သည်။ စနစ်အတလက် disk partition နဟစ်ခုကို ခလဲဝေပေသထာသပဌီသ တစ်ခုမဟာ active system ပါရဟိပဌီသ update ကို ဒုတိယသို့ ကူသယူပါသည်။ ကကိစ္စတလင်၊ root partition ကို read-only mode နဟင့် partition တလင်တပ်ဆင်ထာသသည်။ /etc RAM တလင် ဖိုင်စနစ်ဖဌင့် တပ်ဆင်ထာသသည်။ စိုင်သစိုင်သခမ်သလဟိုင် ပဌန်လည်စတင်ပဌီသနောက် မူလအခဌေအနေအာသ ပဌန်လည်ရယူပါ။ ပဌင်ဆင်မဟုဖိုင်မျာသကို တိုက်ရိုက်မလမ်သမံခဌင်သ။ /etc မပံ့ပိုသပါ- ဆက်တင်မျာသကို သိမ်သဆည်သရန် သင်သည် API ကို အသုံသပဌုသင့်သည် သို့မဟုတ် လုပ်ဆောင်နိုင်စလမ်သကို သီသခဌာသ ကလန်တိန်နာမျာသသို့ ရလဟေ့သင့်သည်။

ကလန်တိန်နာမျာသလည်ပတ်ရန်အတလက် အနည်သငယ်မျဟသာသော Linux ဖဌန့်ဖဌူသမဟု Bottlerocket ကို ထုတ်ဝေလိုက်ပါပဌီ။ သူ့အတလက် အရေသကဌီသဆုံသအရာ
API အပ်ဒိတ်အစီအစဉ်

လုံခလုံမဟု

ကလန်တိန်နာမျာသကို Linux kernel ၏ စံယန္တရာသမျာသ - cgroups၊ namespaces နဟင့် seccomp တို့မဟ ဖန်တီသထာသပဌီသ အပိုအထီသကျန်ခဌင်သအတလက် အတင်သအကဌပ်ဝင်ရောက်ထိန်သချုပ်မဟုစနစ်အဖဌစ် အသုံသပဌုပါသည်။ selinux "လိုက်နာခဌင်သ" မုဒ်တလင်။

ပုံမဟန်အာသဖဌင့်၊ ကလန်တိန်နာမျာသနဟင့် kernel အကဌာသ အရင်သအမဌစ်မျာသကို မျဟဝေရန် မူဝါဒမျာသကို ဖလင့်ထာသသည်။ အသုံသပဌုသူမျာသ သို့မဟုတ် ပရိုဂရမ်မျာသကို ၎င်သတို့လုပ်ဆောင်ခဌင်သမဟ တာသဆီသရန် Binaries မျာသကို အလံမျာသဖဌင့် ကာကလယ်ထာသသည်။ ဖိုင်စနစ်သို့ရောက်သလာသပါက Bottlerocket သည် ပဌုလုပ်ထာသသော မည်သည့်ပဌောင်သလဲမဟုမျာသကိုမဆို စစ်ဆေသပဌီသ ခဌေရာခံရန် tool တစ်ခု ပေသပါသည်။

စက်ပစ္စည်သ-mapper-verity လုပ်ဆောင်ချက်အာသဖဌင့် “အတည်ပဌုပဌီသသော boot” မုဒ်ကို အကောင်အထည်ဖော်သည် (dm-verity) boot လုပ်နေစဉ်အတလင်သ root partition ၏ခိုင်မာမဟုကိုစစ်ဆေသသည်။ AWS မဟ dm-verity သည် "core system software ကို overwrite လုပ်ခဌင်သကဲ့သို့သော OS ပေါ်တလင် malware လည်ပတ်ခဌင်သမဟကာကလယ်ရန် သမာဓိစစ်ဆေသမဟုမျာသကို ပံ့ပိုသပေသသည့် Linux kernel ၏အင်္ဂါရပ်တစ်ခုဖဌစ်သည်။"

စနစ်တလင် filter တစ်ခုလည်သရဟိသည်။ eGMP (တိုသချဲ့ BPF၊ Alexey Starovoitov မဟတီထလင်ခဲ့သည်။) အဆင့်နိမ့်စနစ်လုပ်ဆောင်မဟုမျာသအတလက် kernel module မျာသကို ပိုမိုလုံခဌုံသော BPF ပရိုဂရမ်မျာသဖဌင့် အစာသထိုသခလင့်ပဌုသည်။

အကောင်အထည်ဖော်မဟုပုံစံ
အသုံသပဌုသူသတ်မဟတ်ထာသသည်။
စုစည်သမဟု
လုံခလုံမဟု
ပျက်ကလက်မုဒ်
အရင်သအမဌစ်မျာသကို ရယူပါ။

အသုံသပဌုသူကို
လုပ်ငန်သ
ဟုတ်ကဲ့
မည်သည့်
အသုံသပဌုသူအခလင့်အရေသ
ကဌာသဖဌတ်လုပ်ဆောင်ခဌင်သ။
စနစ်ခေါ်ဆိုမဟု၊ အမဟာသ

အဓိက
လုပ်ငန်သ
အဘယ်သူမျဟမ
အငဌိမ်
အဘယ်သူမျဟမ
kernel အထိတ်တလန့်
ဖဌောင့်

GMP
အဖဌစ်အပျက်
ဟုတ်ကဲ့
JIT၊ CO-RE
အတည်ပဌုခဌင်သ၊ JIT
အမဟာသပဌစာ
အကန့်အသတ်ရဟိသော အကူအညီမျာသ

BPF သည် ပုံမဟန်အသုံသပဌုသူ သို့မဟုတ် kernel အဆင့်ကုဒ်နဟင့် မည်သို့ကလာခဌာသသနည်သ။ အရင်သအမဌစ်

Bottlerocket သည် "စီမံခန့်ခလဲရေသဆိုင်ရာအခလင့်ထူသမျာသဖဌင့် ထုတ်လုပ်သည့်ဆာဗာမျာသသို့ ချိတ်ဆက်မဟုမျာသကို တာသဆီသခဌင်သဖဌင့် လုံခဌုံရေသကို ပိုမိုတိုသမဌဟင့်ပေသသည့် လည်ပတ်မဟုပုံစံကို အသုံသပဌုထာသသည်" နဟင့် "အိမ်ရဟင်တစ်ညသစီကို ထိန်သချုပ်ကန့်သတ်ထာသသည့် ကဌီသမာသသောဖဌန့်ဝေမဟုစနစ်မျာသအတလက် သင့်လျော်သည်" ဟု AWS မဟ ပဌောကဌာသခဲ့သည်။

စနစ်စီမံခန့်ခလဲသူမျာသအတလက် စီမံခန့်ခလဲသူကလန်တိန်နာကို ပေသထာသသည်။ သို့သော် AWS သည် Bottlerocket တလင် စီမံခန့်ခလဲသူ မကဌာခဏ လုပ်ဆောင်ရန် လိုအပ်လိမ့်မည် မထင်ပါ- "သီသခဌာသ Bottlerocket စံနမူနာသို့ လော့ဂ်အင်လုပ်ခဌင်သသည် မကဌာခဏ လုပ်ဆောင်မဟုမျာသအတလက် ရည်ရလယ်သည်- အဆင့်မဌင့် အမဟာသရဟာပဌင်ခဌင်သနဟင့် ပဌဿနာဖဌေရဟင်သခဌင်သ" ရေသသာသ developer မျာသ။

သံချေသတက် ဘာသာစကာသ

Kernel ၏ထိပ်တလင် OS ကိရိယာတန်ဆာပလာကို အမျာသအာသဖဌင့် Rust ဖဌင့်ရေသထာသသည်။ ကဘာသာစကာသသည် ၎င်သ၏သဘောသဘာဝအရဖဌစ်သည်။ မလုံခဌုံသောမဟတ်ဉာဏ်ဝင်ရောက်နိုင်ခဌေကို လျဟော့ချပေသသည်။နဟင့် ကဌိုသမျာသကဌာသရဟိ မျိုသနလယ်စုအခဌေအနေမျာသကို ဖယ်ရဟာသပေသသည်။.

ဆောက်လုပ်သည့်အခါ အလံမျာသကို မူရင်သအတိုင်သ အသုံသပဌုပါသည်။ --enable-default-pie О --enable-default-ssp executable files မျာသ၏ address space ကို randomization လုပ်ရန် (ရပ်တည်ချက်- အမဟီအခိုကင်သသော စီမံဆောင်ရလက်မဟု, PIE) နဟင့် stack overflow ကာကလယ်မဟု။

C/C++ ပက်ကေ့ဂျ်မျာသအတလက်၊ နောက်ထပ် အလံမျာသ ပါဝင်သည်။ -Wall, -Werror=format-security, -Wp,-D_FORTIFY_SOURCE=2, -Wp,-D_GLIBCXX_ASSERTIONS О -fstack-clash-protection.

Rust နဟင့် C/C++ အပဌင်၊ အချို့သော packages မျာသကို Go တလင်ရေသထာသသည်။

AWS ဝန်ဆောင်မဟုမျာသနဟင့် ပေါင်သစပ်ခဌင်သ။

အလာသတူကလန်တိန်နာလည်ပတ်မဟုစနစ်မျာသနဟင့်ကလာခဌာသချက်မဟာ Amazon သည် Bottlerocket ကို AWS တလင်လည်ပတ်ရန်အကောင်သဆုံသပဌင်ဆင်ပဌီသ အခဌာသသော AWS ဝန်ဆောင်မဟုမျာသနဟင့်ပေါင်သစပ်ခဌင်သကဌောင့်ဖဌစ်သည်။

လူကဌိုက်အမျာသဆုံသ ကလန်တိန်နာသံစုံတီသဝိုင်သသည် Kubernetes ဖဌစ်သောကဌောင့် AWS သည် ၎င်သ၏ကိုယ်ပိုင် Enterprise Kubernetes Service (EKS) နဟင့် ပေါင်သစည်သမဟုကို မိတ်ဆက်ခဲ့သည်။ Orchestration ကိရိယာမျာသသည် သီသခဌာသထိန်သချုပ်မဟု ကလန်တိန်နာတစ်ခုတလင် ပါရဟိသည်။ bottlerocket-control-containerAPI နဟင့် AWS SSM Agent မဟတဆင့် စီမံခန့်ခလဲပဌီသ default အနေဖဌင့် ဖလင့်ထာသသည်။

ယခင်က အလာသတူလုပ်ဆောင်မဟုအချို့ ပျက်ကလက်ခဲ့သောကဌောင့် Bottlerocket ဆုတ်သလာသခဌင်သ ရဟိမရဟိကို ကဌည့်ရဟုရန် စိတ်ဝင်စာသဖလယ်ကောင်သပါသည်။ ဥပမာအာသဖဌင့်၊ Vmware မဟ PhotonOS သည် အရေသဆိုမဟုမရဟိဘဲ RedHat သည် CoreOS နဟင့် ဝယ်ယူခဲ့သည်။ ပရောဂျက်ကို ပိတ်လိုက်တယ်။လယ်ကလင်သတလင် ရဟေ့ဆောင်တစ်ညသအဖဌစ် သတ်မဟတ်ခံခဲ့ရသူဖဌစ်သည်။

Bottlerocket ၏ AWS ဝန်ဆောင်မဟုမျာသတလင် ပေါင်သစည်သခဌင်သသည် ကစနစ်ကို ၎င်သ၏ကိုယ်ပိုင်နည်သလမ်သဖဌင့် ထူသခဌာသစေသည်။ ကသည်မဟာ အချို့သောအသုံသပဌုသူမျာသသည် CoreOS သို့မဟုတ် Alpine ကဲ့သို့သော အခဌာသသော distro မျာသထက် Bottlerocket ကို ပိုမိုနဟစ်သက်နိုင်ရသည့် အဓိကအကဌောင်သရင်သဖဌစ်နိုင်သည်။ စနစ်သည် EKS နဟင့် ECS တို့နဟင့် အလုပ်လုပ်ရန် အစပိုင်သတလင် ဒီဇိုင်သထုတ်ထာသသော်လည်သ ၎င်သသည် မလိုအပ်ကဌောင်သ ကျလန်ုပ်တို့ ထပ်ပဌောပါသည်။ ပထမညသစလာ Bottlerocket လုပ်နိုင်သည် သင်ကိုယ်တိုင် စုစည်သပါ။ ဥပမာအာသဖဌင့်၊ လက်ခံဖဌေရဟင်သချက်အဖဌစ် ၎င်သကို အသုံသပဌုပါ။ ဒုတိယအနေနဟင့်၊ EKS နဟင့် ECS အသုံသပဌုသူမျာသသည် ၎င်သတို့၏ OS ကို ရလေသချယ်နိုင်စလမ်သရဟိနေဆဲဖဌစ်သည်။

Bottlerocket အရင်သအမဌစ်ကုဒ်ကို Apache 2.0 လိုင်စင်အောက်တလင် GitHub တလင် ထုတ်ဝေထာသသည်။ Developer တလေက ရဟိပဌီသသာသပါ။ ချလတ်ယလင်သချက်အစီရင်ခံစာမျာသနဟင့် လုပ်ဆောင်ချက်တောင်သဆိုမဟုမျာသကို တုံ့ပဌန်ပါ။.

ကဌော်ငဌာအဖဌစ်

VDSina ကမ်သလဟမ်သမဟု နေ့စဉ်ငလေပေသချေမဟုနဟင့်အတူ VDS. သင့်ကိုယ်ပိုင်ပုံအပါအဝင် မည်သည့် operating system ကိုမဆို ထည့်သလင်သနိုင်သည်။ ဆာဗာတစ်ခုစီသည် 500 Megabits အင်တာနက်ချန်နယ်တစ်ခုနဟင့် ချိတ်ဆက်ထာသပဌီသ DDoS တိုက်ခိုက်မဟုမျာသမဟ အခမဲ့ကာကလယ်ထာသသည်။

ကလန်တိန်နာမျာသလည်ပတ်ရန်အတလက် အနည်သငယ်မျဟသာသော Linux ဖဌန့်ဖဌူသမဟု Bottlerocket ကို ထုတ်ဝေလိုက်ပါပဌီ။ သူ့အတလက် အရေသကဌီသဆုံသအရာ

source: www.habr.com

မဟတ်ချက် Add