Amazon Web Services(AWS)は米国時間3月10日、クラウドを構成する仮想マシン(VM)やベアメタルホスト上でのコンテナー稼働を念頭に置いて開発したLinuxベースの新OS「Bottlerocket」のパブリックプレビュー版をリリースしたと発表した。
この新OSは、コンテナーや、増加しつつあるコンテナー化されたアプリケーション向けに開発されており、「Amazon Elastic Container Service for Kubernetes(Amazon EKS)」のようなコンテナーオーケストレーションサービスを利用することで、パッケージのアップデートをより容易に自動化できるという。AWSの当初の目標は、BottlerocketをAmazon EKSのKubernetesクラスターのホストOSとして開発者に利用してもらうことだ。
AWSによると、Bottlerocketにはコンテナーを稼働させる上で必要なものだけが含まれているため、より効率的かつ安全性の高いものになっているという。
Bottlerocketは現時点でパブリックプレビューの段階にあり、2020年中に一般提供が開始される予定だ。
Bottlerocketは、コンテナーイメージ内のアプリケーションソフトウェアパッケージをアップデートする必要がある際に、そのアップデート自体がコンテナーやホストOSに対するアップデートを別途要求する場合があるという煩雑さを解消しようとしている。
AWSのチーフエバンジェリストであるJeff Barr氏は、「Bottlerocketはパッケージアップデートシステムを使うのではなく、イメージベースの単純なモデルを採用しているため、迅速かつ完全なロールバックを必要に応じて実施できる。これによりコンフリクトや破損といった問題を避けられるため、サーバー群全体に対するアップデートも、Amazon EKSのようなオーケストレーターを用いることで簡単に、そして自信を持って実行できるようになる」と説明している。
Bottlerocketは「Docker」イメージとともに、Linuxコンテナーの広範なサポートを保証する、「Open Container Initiative(OCI)」のイメージフォーマットに基づいたイメージをサポートしている。
その目標は、Red Hat傘下のCoreOSが保有する「Container Linux」とよく似ている。なお、Red Hatはコンテナー化されたワークロードの稼働を「Fedora CoreOS」上で実現していくため、Container Linuxに対するサポートを5月26日で終了する。
Barr氏は、Bottlerocketがセキュリティを追求するために制限している一部の機能についても説明している。ファイルシステムは「基本的に読み込みのみ」となっており、ブート時に整合性チェックが実行される。さらに、セキュアシェル(SSH)によるアクセスはデフォルトでは有効化されていない。同シェルは別途提供されている、昇格された権限で動作する管理者コンテナーの一部となっており、トラブルシューティングのために必要に応じて有効化できるという。
興味深いことにBottlerocketの大半は、メモリーにまつわるセキュリティ脆弱性に取り組む能力を有しているという理由から、プログラミング言語Rustによって記述されている。Microsoftも同様の理由でこの言語を探求しており、「Windows」の低水準コンポーネントでの使用と、セキュアなインフラの実現に向けたプログラミングイニシアティブである「Project Verona」を推進している。Googleも新OS「Fuchsia」でRustを検討している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。