Amazon သည် သီးခြားကွန်တိန်နာများကို အခြေခံ၍ Linux ဖြန့်ဖြူးသည့် Bottlerocket 1.0.0 ကို ထုတ်ဝေသည်။

Amazon ကုမ္ပဏီ တင်ဆက် သီးခြား Linux ဖြန့်ဖြူးမှု၏ ပထမဆုံး သိသာထင်ရှားသော ထုတ်ဝေမှု Bottlerocket 1.0.0သီးခြားကွန်တိန်နာများကို ထိထိရောက်ရောက်နှင့် လုံခြုံစွာအသုံးပြုနိုင်စေရန် ဒီဇိုင်းထုတ်ထားသည်။ ဖြန့်ဖြူးမှု၏ ကိရိယာများနှင့် ထိန်းချုပ်မှု အစိတ်အပိုင်းများကို Rust နှင့် ရေးသားထားသည်။ ကူးစက်ပျံ့နှံ့သည် MIT နှင့် Apache 2.0 လိုင်စင်များအောက်တွင်။ ပရောဂျက်ကို GitHub တွင် တီထွင်နေပြီး ရပ်ရွာအဖွဲ့ဝင်များပါ ပါဝင်ဆောင်ရွက်နိုင်ပါသည်။ စနစ်အသုံးပြုမှုပုံအား x86_64 နှင့် Aarch64 ဗိသုကာများ အတွက် ထုတ်ပေးပါသည်။ OS ကို Amazon ECS နှင့် AWS EKS Kubernetes အစုအဝေးများတွင် အသုံးပြုရန် လိုက်လျောညီထွေဖြစ်အောင် ပြုလုပ်ထားသည်။ ပေးအပ်ကြသည်။ ကွန်တိန်နာအတွက် အခြားသော စုစည်းမှုကိရိယာများ၊ kernels နှင့် runtime ကို အသုံးပြုနိုင်သည့် သင်၏ကိုယ်ပိုင် စည်းဝေးပွဲများနှင့် တည်းဖြတ်မှုများကို ဖန်တီးရန် ကိရိယာများ။

ဖြန့်ဖြူးမှုသည် ကွန်တိန်နာများလည်ပတ်ရန် လိုအပ်သော အစိတ်အပိုင်းများ အပါအဝင် Linux kernel နှင့် အနည်းငယ်မျှသော စနစ်ပတ်ဝန်းကျင်ကို ပံ့ပိုးပေးပါသည်။ ပရောဂျက်တွင်ပါရှိသော ပက်ကေ့ဂျ်များထဲတွင် စနစ်မန်နေဂျာစနစ်၊ Glibc စာကြည့်တိုက်နှင့် တပ်ဆင်ရေးကိရိယာများ ပါဝင်သည်။
Buildroot၊ GRUB bootloader၊ network configurator ဆိုးသောသီးခြားကွန်တိန်နာများအတွက် လုပ်ဆောင်နေချိန် မြတ်နိုး၊ Kubernetes container orchestration platform၊ aws-iam-authenticator နှင့် Amazon ECS အေးဂျင့်။

ဖြန့်ဖြူးမှုကို အက်တမ်နည်းအရ အပ်ဒိတ်လုပ်ပြီး ခွဲခြားမရနိုင်သော စနစ်ပုံသဏ္ဍန်ဖြင့် ပေးပို့သည်။ စနစ်အတွက် disk partition နှစ်ခုကို ခွဲဝေပေးထားပြီး တစ်ခုမှာ active system ပါရှိပြီး update ကို ဒုတိယသို့ ကူးယူပါသည်။ အပ်ဒိတ်ကို အသုံးပြုပြီးနောက်၊ ဒုတိယအပိုင်းသည် တက်ကြွလာပြီး ပထမတွင်၊ နောက်တစ်ကြိမ် အပ်ဒိတ်မရောက်ရှိမီအထိ၊ ပြဿနာများ ပေါ်ပေါက်ပါက သင်ပြန်လှည့်နိုင်သည့် စနစ်၏ ယခင်ဗားရှင်းကို သိမ်းဆည်းထားသည်။ အက်ဒမင်ဝင်ရောက်စွက်ဖက်မှုမရှိဘဲ အပ်ဒိတ်များကို အလိုအလျောက် ထည့်သွင်းပါသည်။

Fedora CoreOS၊ CentOS/Red Hat Atomic Host ကဲ့သို့သော အလားတူ ဖြန့်ဖြူးမှုများမှ အဓိက ကွာခြားချက်မှာ ပံ့ပိုးပေးရန်အတွက် အဓိက အာရုံစိုက်ခြင်း ဖြစ်သည်။ အမြင့်ဆုံးလုံခြုံရေး ဖြစ်နိုင်ချေရှိသော ခြိမ်းခြောက်မှုများမှ စနစ်ကာကွယ်မှုကို အားကောင်းစေသည့် အခြေအနေတွင်၊ OS အစိတ်အပိုင်းများတွင် အားနည်းချက်များကို အသုံးချရန်နှင့် ကွန်တိန်နာများ၏ သီးခြားခွဲထုတ်ခြင်းကို တိုးမြှင့်ရန် ပိုမိုခက်ခဲစေသည်။ ကွန်တိန်နာများကို ပုံမှန် Linux kernel ယန္တရားများ - cgroups၊ namespaces နှင့် seccomp တို့ကို အသုံးပြု၍ ဖန်တီးထားသည်။ ထပ်လောင်းအထီးကျန်မှုအတွက်၊ ဖြန့်ဖြူးမှုသည် "လိုက်နာကျင့်သုံးခြင်း" မုဒ်တွင် SELinux ကိုအသုံးပြုပြီး root partition ၏ခိုင်မာမှုကို cryptographic ဖြင့်အတည်ပြုရန်အတွက် module ကိုအသုံးပြုသည် dm-verity. ပိတ်ဆို့ကိရိယာအဆင့်တွင် ဒေတာကို မွမ်းမံပြင်ဆင်ရန် ကြိုးပမ်းမှုတစ်ခုကို တွေ့ရှိပါက၊ စနစ်သည် ပြန်လည်စတင်မည်ဖြစ်သည်။

root partition ကို read-only တွင်တပ်ဆင်ထားပြီး /etc settings partition ကို tmpfs တွင်တပ်ဆင်ထားပြီး ပြန်လည်စတင်ပြီးနောက် ၎င်း၏မူလအခြေအနေသို့ ပြန်လည်ရောက်ရှိသွားပါသည်။ /etc/resolv.conf နှင့် /etc/containerd/config.toml ကဲ့သို့သော /etc directory ရှိ ဖိုင်များ၏ တိုက်ရိုက်မွမ်းမံမှုကို ပံ့ပိုးမထားပါ။ - ဆက်တင်များကို အပြီးတိုင်သိမ်းဆည်းရန်၊ သင်သည် API ကို အသုံးပြုရမည် သို့မဟုတ် လုပ်ဆောင်နိုင်စွမ်းကို သီးခြား ကွန်တိန်နာများသို့ ရွှေ့ရပါမည်။

စနစ်အစိတ်အပိုင်းအများစုကို Rust တွင်ရေးထားသည်၊ ၎င်းသည် အခမဲ့မှတ်ဉာဏ်ဝင်ရောက်မှုများ၊ null pointer dereferences နှင့် buffer overruns များကြောင့်ဖြစ်ရသည့် အားနည်းချက်များကိုရှောင်ရှားရန်အတွက် memory-safe အင်္ဂါရပ်များကိုပေးဆောင်သည်။ default အနေဖြင့် တည်ဆောက်သည့်အခါ၊ "--enable-default-pie" နှင့် "--enable-default-ssp" စုစည်းမှုမုဒ်များကို အသုံးပြုပြီး executable files များ၏ လိပ်စာနေရာအား ကျပန်းလုပ်ဆောင်နိုင်စေရန် (ပိုင်) နှင့် Canary အစားထိုးခြင်းမှတစ်ဆင့် အကျုံးဝင်ခြင်းကို အကာအကွယ်ပေးသည်။
C/C++ ဖြင့် ရေးသားထားသော ပက်ကေ့ဂျ်များအတွက် အပိုအလံများ ပါဝင်သည်။
"-Wall", "-Werror=format-security", "-Wp,-D_FORTIFY_SOURCE=2", "-Wp,-D_GLIBCXX_ASSERTIONS" နှင့် "-fstack-clash-protection"။

Container orchestration tools များကို သီးခြားစီ ပံ့ပိုးပေးပါသည်။ ထိန်းချုပ်ကွန်တိန်နာပုံသေအားဖြင့် ဖွင့်ထားပြီး မှတဆင့် ထိန်းချုပ်ထားသည်။ API ကို နှင့် AWS SSM အေးဂျင့်။ အခြေခံပုံတွင် command shell၊ SSH server နှင့် ဘာသာပြန်ဆိုထားသော ဘာသာစကားများ မပါရှိပါ (ဥပမာ၊ Python သို့မဟုတ် Perl မရှိပါ) - စီမံခန့်ခွဲရေးကိရိယာများနှင့် အမှားရှာပြင်သည့်ကိရိယာများတွင် တည်ရှိသည် သီးခြားဝန်ဆောင်မှုကွန်တိန်နာပုံမှန်အားဖြင့် ပိတ်ထားသည်။

source: opennet.ru

မှတ်ချက် Add