αααα»αα αα»α Amazon
Bottlerocket (ααααα·ααΈαααααααααααααΆααααααα±ααααααΆααααα»ααααααααα αααααα·ααα αααα) αα·ααααααΆ OS ααααΌααααααΆαααα»αααΊααααααααααα»ααααααΆααααααΆααΆααΆααΉαααααΆααα ααΆααΈαααΆαααΆααααααΆαααΆααα½ααααα αΌαααααΆαααΎαααΆαα½αααααΆαααα AWS α αααααΈααΆααααααααααααααααααΎ Amazon cloud ααααα ααΌααααααααΎαα αα α’αα»ααααΆαα±ααααΆααααΌαααΆααααααΎαα‘αΎααα αααααααΈααααααα αα αααα»αααΌαααααΆααα ααΎαααΆαααΈααα ααΎ Raspberry Pi αα αααα»αααααααααααα½αααααααααΆαα½α αα·αααΌααααΈαααα αααα»αααα·ααΆααΆααααααααΆααα»αααΊαααα
αααααΊααΆααΆααααα½αααααααα·ααααΆαααααα»ααααααΆααααΆαα
ααα
αΆα CoreOS ααα Red Hat αααα
ααΆααα·ααα
αααααααααΆαααα Amazon Web Services ααΆα Amazon Linux αα½α
α αΎα αααααααΈααααααΆαα
αααα
αααα»αααααααΈααΈαααααααΆα ααΆααΊααΆααΆαα
ααα
αΆααααααααααΌαα
αααα’αΆα
ααααΎαααΆααααα»α Docker container α¬ααΆαα½α Linux KVM, Microsoft Hyper-V, αα·α VMware α’ααααααα½ααα·αα·ααα ESXi α ααΆααααΌαααΆαααααΎα±αααααααΎαα‘αΎαααΎααααΈααααΎαααΆαααΎααα AWS ααα»ααααααΆαα½αααΉαααΆαα
ααααααΆα Bottlerocket α’αααααΆααααααΆααααΌαααΆαααΎαααΉαα
α·αααα±ααααα‘αΎααααααα
ααααααααααααΈαα½ααααααΆααααααΆααα»ααααα·ααΆα ααααΎα αα·αααααΎααααΆααααααΆααα·α
ααΆααα»αα
AWS ααΆααααααΆαα’αααΈ Bottlerocket
αα·α αα½α αααα»αα
ααΈαα»α ααααΌαααΆαααα ααααΌαα’αααΈααααααααΆαααααα·αα αΆαααΆα αααΎααααΈααααΎαααΆααα»αααΊαααα ααΆααα ααΆαααααΎαααααΆααααα»αα αα»αααΆαααααααααααααΆααααα αΆαα
αααααΆααααααΆαααα αααα·α ααΆααα»αααααΌαααΆαααα‘αΎααα ααΎααααααααααΌαααααΆα αααααααΎα±ααααΆααΆααααααΆααααα½ααααα»αααΆαααααΆα αα·αα’αΆαααααααααααααααααα·ααααα·ααΆα α αΎαααααΆαααααααααααααΆααααααα αΆαααααΆαααααΆαα’αΆααααα ααΆαααααααααΆαααααΎααααΆααααααΆαα ααΆααΌαα α’αααΈααααααααΆααα ααΈαααααααΎαααΆααα αααα»ααα»αααΆα ααααα‘αα α αΎαααααααααααΌαααααΆαααΊαααα
Amazon ααααΆαααααα αα·αα’αααααααααααΆααα’ααα ααααααα ααααα»αααααΆααα αΆαα·αααααααΆαααααΎαα½αααΆ α¬α’αααααααΎααααΆαααααααΎααα·αααα·αααα αααααα αααααΆααααΆααααααααααααΆααα·α αα½α αααα»α αα·ααα»ααααα·ααΆα ααΌαααΆαααΌαααααΆααα·ααα½ααααα αΌααααααΆααααααααΆ αααΆαααΈααα SSH α¬ααΆααΆαααααΆαααααααααΌα ααΆ Python ααα α§αααααα’ααααααααααααααααΌαααΆαααΆαααααα»ααα»αααααΆααααααΆα ααααα‘αα αααααααΌαααΆααα·αααΆαααααΆαααΎαα
αααααααααααααααΌαααΆααααααααααααΆαααΈααα·ααΈα ααΆαααα API αα·α orchestration α
αααα½αα±αααααααα·ααΈααααααααααααα αααααααααΎαα αα α»ααααααααΆααααααααΈαα½αααααααααα·ααΈ Bottlerocket ααΆαααααΌαααΆαααααααααα―αααΆααααααα α αΎαα αΆααααααΎαα‘αΎααα·ααα αααα»αααΆα ααααα·αααΎααΆααααα»ααααΆααα ααΆααΉααα·ααααα‘αααααα·ααααααααααααααααα· α αΎαααΆααααΆαααααααααα»αα’αΆα ααααα±ααααΆαααΆααα·ααααα‘αααααα·αααααα (ααΆααααααααΆααΆαααα API)α
ααααααααα /etc
ααααΆααααΆαα½αααααααααα―αααΆααααα»α RAM /etc
αα·αααΆααααα ααΎααααΈαααααΆαα»αααΆαααααα α’ααααα½αααααααΎ API α¬ααααΆααααΈαα»αααΆααα
αααα»ααα»αααΆα
ααααα‘ααα
αααααααΆαααααααΎαα
αα
α»ααααααααΆα API
ααααα·αα»α
αα»αααΊαααααααΌαααΆααααααΎαα‘αΎααααααααααΆααααααααΆαααααΊαααααΈαα»α
- cgroups namespaces αα·α seccomp α αΎαααααΌαααΆαααααΎααΆαααααααααααααααααααΆαα
αΌαααααΎαααααααα αααααΊαααααΆααααΆαα―ααααααααα
ααΆαααααΆαααΎα αααααΆαααααααΌαααΆαααΎαααΎααααΈα αααααααααααΆααααΆααα»αααΊααα αα·αααΊαααα αααααααααααααΈαααααΌαααΆαααΆαααΆααααααα ααΎααααΈααΆααΆααα’αααααααΎααααΆαα α¬αααααα·ααΈααΈααΆαααααα·ααααα·αα½αααΆα α αΎαααααα·αααΎααααΆααααΆααα αΌααα ααΆααααααααααα―αααΆαααα Bottlerocket αααααααΌαα§ααααααα½αααΎααααΈαα·αα·ααα αα·αααΆαααΆαααΆαααααΆααααααΌαααΆαα½ααααααΆαααααΎα
αααα "αααααααααΆααααΆαα
αΆααααααΎα" ααααΌαααΆαα’αα»ααααααΆαααααα»αααΆαα§ααααα-mapper-verity (
ααΆααααΆαααααααα
αααα»ααααααααααααααα
ααααΌααααα·ααααα·
α’αααααααΎααααΆααααααα
ααΆαα
ααααα
ααααα·αα»α
αααααααΆααα
ααΆαα
αΌαααααΎααααΆα
α’αααβααααΎ
ααΆααα·α
αα
αα½α
ααΆα
ααΆαα½α
αα·αααα·α’αααααααΎααααΆαα
ααα’αΆαααΆαααααα·ααααα·
ααΆαα α
αααααααα, ααα α»α
ααααΌα
ααΆααα·α
αα
αα½α
ααααΆα
αα·αα·αααα
ααααΆα
ααΊααααααααααααααα
ααααα
BPF
ααααΉαααα·ααΆααα
ααΆα
JIT, CO-RE
ααΆααααααααααΆαα, JIT
ααΆαααα α»α
α’ααααααα½αααΆαααααα
ααααααα BPF αα»αααΈα’αααααααΎααααΆααααααααΆ α¬ααΌαααααα·αααΊαααα
AWS ααΆααα·ααΆαααΆ Bottlerocket "ααααΎααααΌααααα·ααααα·ααΆαααααααααΎααα»ααααα·ααΆαααααααααααααααΆαααΆαααΆααααααΆαααα αααΆαααΈαααααα·ααααααααααΆααα·αααα·ααααααααα" αα·α "αααααααααααΆααααααααααα ααα αΆααααααααΆααααααααααααΎαααΆαααΈαααΈαα½ααααααΌαααΆαααααα" α
αα»αααΊαααα’ααααααααααααααααΌαααΆααααααααΌααααααΆααα’ααααααααααααααααααααα ααα»αααα AWS αα·ααα·αααΆα’ααααααααααααααΉαααααΌαααααΎααΆααα
ααΆααααα»α Bottlerocket ααΉαααΆααααα "αααααΎααααΆαα
αΌααα
αααα»αα§ααΆα ααα Bottlerocket ααΆα
ααααα‘ααααΊααααΌαααΆαααααα»ααα»ααααααΆααααααα·ααααα·ααΆαααααα·αααΉαααΆααα ααΆαααααα α»αααααα·αααααα αα·αααΆααααααααΆααααα αΆ"
ααΆααΆα αααα
α§ααααα OS αα
αααααααΆαααΎααααΊααα ααΆαα
αααΎαααααΌαααΆααααααααΆ Rust α ααΆααΆαααααΊαααααααααΆαα·ααααααΆα
αααααααΌαααΆαα’αα»ααααααΆαααααΆαααΎααα
αααααΆαααα --enable-default-pie
ΠΈ --enable-default-ssp
ααΎααααΈααΎαααΆαα
αααααααααα αα’αΆααααααΆαααα―αααΆααααα’αΆα
ααααα·ααααα·ααΆα (
αααααΆαααααα
αα C/C++ αααααααααααααΌαααΆααα½ααααα
αΌα -Wall
, -Werror=format-security
, -Wp,-D_FORTIFY_SOURCE=2
, -Wp,-D_GLIBCXX_ASSERTIONS
ΠΈ -fstack-clash-protection
.
αααα ααΈ Rust αα·α C/C++ αααα αααα½αα ααα½αααααΌαααΆαααααααα αααα»α Go α
ααΆααα½ααααα αΌαααΆαα½αααααΆαααα AWS
ααΆααα»αααααΆααΈααααααααααααα·ααααα·ααΆααα»αααααααααααΆααΊααΆ Amazon ααΆααααααΎαααααα·αααααΆα Bottlerocket ααΎααααΈααααΎαααΆαααΎ AWS αα·ααα½ααααα αΌαααΆαα½αααααΆαααα AWS ααααααααα
α’ααααααα
ααα»αααΊαααααααααα·αααααα»αααΊ Kubernetes ααΌα
αααα AWS ααΆαααααΆαααΆααα½ααααα
αΌαααΆαα½ααα ααααΆα Kubernetes Service (EKS) αααααααα½αα α§ααααα Orchestration ααΆααα
αααα»ααα»ααααααααααααΆα
ααααα‘αααα½αα
ααΆααΉααα½αα±ααα
αΆααα’αΆαααααααααα»αααΆαααΎαααΆααΎ Bottlerocket α
αΆααααααΎαα¬α’αα αααααΆαααΆααααΆααααααααα·ααααα½α
ααααΎαααααααααααΆαα½αα
ααα½αααΆαααΈα’ααΈαααΆαα α§ααΆα ααα PhotonOS ααΈ Vmware ααααααΆαα·αααΆαααΆαα’αα’αΆααα α αΎα RedHat ααΆααα·α CoreOS αα·α
ααΆααα½ααααα
αΌααααα Bottlerocket αα
αααα»αααααΆαααα AWS ααααΎα±αααααααααααααααΆααααααααα·αααααΆαααααααααααΆα ααααααα ααααΆα ααα»ααα
αααααααα’αααααααΎααααΆαααα½αα
ααα½αα’αΆα
α
αΌαα
α·ααα Bottlerocket ααΆαααΆαα
ααα
αΆαααααααααααΌα
ααΆ CoreOS α¬ Alpine α αααααααααααααααΌαααΆααα
ααΆα‘αΎαααααΌαααΎααααΈααααΎααΆαααΆαα½α EKS αα·α ECS ααα»ααααααΎααα·ααΆααααααααααΆααΆαα·αα
αΆαααΆα
αααα ααΈαα½α Bottlerocket α’αΆα
ααααΎααΆα
ααΌαααααα Bottlerocket ααααΌαααΆαααααα»ααααα
ααΎ GitHub αααααα’αΆααααΆααααα Apache 2.0 α α’αααα’αα·ααααααααΆααα½α
α αΎα
α’αααΈαα·αααα·ααααααααααΆα
ααΈααΈαααΈααΆ ααΆααααααααΌα
ααααα: www.habr.com