11月末、.NET Chiselled Ubuntuコンテナ・イメージが一般利用可能になった。Microsoftは、.NET 6、7、8の各バージョンの実稼働に適したイメージになったと発表し、ChiselledイメージはCanonicalとMicrosoftの長期的なパートナーシップと設計協力の成果であることを強調した。
.NETのUbuntu向けChiselledイメージは、distrolessコンテナの一種である。.NETに必要不可欠なパッケージだけが含まれており、他のものはすべて取り除かれている。Ubuntuのベースイメージに基づく大型のフルUbuntuイメージと比べると、Chiselledイメージは展開サイズがはるかに小さく、攻撃対象領域も小さい。前述の通り、これは.NETフレームワークに必要なものだけに絞ることで実現されている。
8.0-jammy-chiseled
というタグで識別されるこれらのイメージは、現在コンテナ・リポジトリーからアクセスできる。.NETの6と7はバージョン番号だけが異なり、タグ名の Jammy で示されているように、これらのイメージはUbuntu 22.04 (Jammy Jellyfish)に依存していることに注意することが重要だ。
.NET Chiselledコンテナは、コンテナ・イメージを簡素化することでクラウド・アプリケーションのデプロイを最適化することを目的としており、サイズとセキュリティの両方を強化するために必要不可欠なコンポーネントに焦点を当てている。報告されているように、Chiselledイメージは標準的なUbuntuイメージに比べて100MB以上(非圧縮)削減され、コンパクトなサイズで好まれているAlpineのサイズに匹敵する。
これらのイメージは、glibc互換性を持つ最小の出版物であり、最小限のコンポーネント構成により、 共通脆弱性識別子(CVE)への暴露を減らすことができると述べられている。開発環境として人気の高いUbuntuとの互換性により、開発環境と本番環境のセットアップを整合させるための選択肢となる。さらに、Chiselledイメージは様々なイメージの中でもっとも強固なサポートを誇っている。
セキュリティの観点からは、Chiselledイメージは、シェルとパッケージマネージャーがないため、潜在的な攻撃者の行動を制限し、高い回復力を示している。curl
や wget
のようなコンポーネントを省略することで、制御されたサーバーからスクリプトをダウンロードして実行するという一般的な手口を防ぎ、セキュリティをさらに強化している。Native Ahead-of-Time Compilation(AOT)は、イメージサイズを10MB以下に大幅に削減し、これはコンソールアプリやサービスにとって特に有益である。
既報の通り、デプロイオプションの選択にはトレードオフが伴う。フレームワーク依存のデプロイはレイヤーの共有を最大化し、レジストリ内や複数の.NETアプリをホストする単一マシン上で.NETの共有コピーを容易にする。一方、自己完結型アプリは、サイズとレジストリのプル効率に優れているが、共有機能はより限定的で、ランタイム依存関係のみを共有する。
Chiselledイメージの導入は、コンテナ・イメージのポートフォリオにおける重要な進化であり、数年前に追加されたAlpineのサポートに匹敵する。ユーザーは、この変革的な変化を注意深く検証することが推奨される。注目すべきは、リリースされたChiselledイメージには、追加のイメージを選択しない限り、Alpine と同様にICUやtzdata
が含まれていないことである。
.NET 8を採用するユーザーは、Chiselledコンテナを検討することが推奨される。Chiselledコンテナは、別のイメージタグを使用する比較的簡単な移行で、大きな利点を提供するからである。開発者は、追加イメージに関する興味深いGitHubのディスカッションでこれについて読むことができる。
Richard Lander氏は、発表されたブログ投稿の中で、Canonicalとの緊密な協力関係、.NETユーザーへのChiselledイメージの最初の提供、より広範な採用への意欲を強調し、Java、Python、Node.jsなどの開発者エコシステムにも同様のChiselledイメージの提供を検討するよう促している。そして次のようにも述べられている。
.NET Confのプレゼンテーションの後、私たちは最近Chiselledイメージに関する情報を求めるリクエストがあった。おそらく1年後には、彫りの深い画像は多くの開発者にとって一般的な選択肢になっているでしょう。時間の経過とともに、主に CVE の負担に関連して、我々は、コンテナの運用管理に関する顧客の課題が増加していることを目の当たりにしてきました。我々は、Chiselledイメージがチームのコスト削減と、より信頼性の高いアプリのデプロイを支援する素晴らしいソリューションであると信じています。
これについてさらに詳しく知り、読むには、CanonicalとMicrosoft が発表した公式ブログ投稿も参照することをお勧めする。