先日、AWSはmacOS上でのコンテナ開発を簡素化することを目的としたオープンソースツールであるFinchの一般提供を発表した。Finchによって、ユーザーはmacOS上でLinuxコンテナを構築、実行、公開し、Amazon ECRのようなコンテナ・レジストリとやり取りできる。
Finchはコマンドラインツールで、Limaやnerdctl
といった他のオープンソースプロジェクトと統合されている。FinchはAWS Cloud Development Kit(CDK)もサポートしており、Finchを使ってAWSスタック用のコンテナイメージを構築できる。AWSのプリンシパル・エンジニアであるPhil Estes氏は、ブログ投稿でこのリリースについて述べている。
Finch 1.0リリースは、機能の完全性、安定性、パフォーマンス、デバッグのしやすさに重点を置いている。コンテナイメージの署名、Seekable OCI(SOCI)のサポート、環境変数のパススルー、Amazon ECR 資格情報ヘルパーの統合、AppleのVirtualization Frameworkの実験的サポートなどの新機能がある。Finchは、ビルド、実行、プッシュ、プルといった重要なコマンドを nerdctl
に依存し、コンテナ管理には containerd
を、OCI(Open Container Initiative)イメージのビルドにはBuildKitを利用している。これらのコンポーネントは、Limaによって管理される仮想マシン内で動作する。
AWSがオープンソース技術として開発したSeekable OCIは、コンテナ・イメージの遅延ロードによってコンテナの起動時間を短縮する。これには、Seekable OCIインデックスとして知られるファイルインデックスをコンテナイメージ内に作成することが含まれる。Redditの投稿で、RedditユーザーのXtrearer氏は、AWS FargateとSeekable OCIを使用した場合、タスクの起動時間が50秒から14秒に短縮されたことを指摘し、その経験を共有している。
最新のリリースでは、AWS CDKによって、必要に応じてコンテナイメージを構築できる。AWS CDKとの統合により、Finchはイメージ資産を必要とするAWS CDKスタックの構築において、Dockerの代替として機能する。
Finchは、Finchのアップグレード中にユーザーが作業内容を失わないように、永続ディスクのサポートを組み込んでいる。さらに、ベンチマーク・ツールがコミットごとに実行され、既存のパフォーマンス・メトリクスの維持を検証する。
Estes氏は、最近のリリースではコミュニティからのフィードバックを考慮し、関連する問題に対処していると述べた。また、問題のデバッグに役立つFinch関連のログと設定のコンパイルを含む、トラブルシューティング用のサポートバンドルを生成する機能も備えている。
FinchはGitHubまたはHomebrewからインストールできる。GitHubには、リリースごとに署名されたインストール可能なバイナリが用意されている。Homebrewユーザーは、brew install Finch
を使ってFinchをインストールできる。
Finchに関するすべての開発と議論は、GitHubリポジトリ内で行われる。Estes氏は、Finchコミュニティはアイデア、バグレポート、プルリクエストの形での貢献を歓迎すると強調した。Finchコミュニティに参加するには、興味のある読者はCNCF Slackワークスペースの#finchチャンネルに参加し、フィードバックやアイデアについて議論できる。