Artifact Registry は、コンテナやその他の形式をサポートするユニバーサル パッケージ管理サービスです。アーティファクトの柔軟性と制御を強化するために、Container Registry からの移行について説明します。

マネージド ベースイメージ

マネージド ベースイメージは、プロジェクトのアップストリーム(GitHub など)から入手可能な最新のパッチを使用して、セキュリティの脆弱性に対するパッチが自動的に適用されるベースコンテナ イメージです。これらのイメージは、GCP のすべてのお客様にご利用いただけます。

このドキュメントでは、マネージド コンテナ イメージとその管理方法について説明します。

マネージド ベースイメージに適用されるライセンスの詳細については、ライセンス ファイルをご覧ください。

コンテナ イメージとオペレーティング システム

コンテナをデプロイする際は、次の 2 つの別々のオペレーティング システムとイメージを選択します。

コンテナ イメージは、オペレーティング システムのベースイメージを基に、アプリケーションに必要なパッケージ、ライブラリ、バイナリを追加した上でビルドされます。

マネージド ベースイメージの管理方法

Google では、Google App Engine などの Google Cloud サービスを含め、独自のアプリケーションを構築するためのベースイメージを管理しています。

マネージド ベースイメージには次のセキュリティ特性があることから、用途によっては理想的な選択となります。

  • CVE データベースに基づき既知の脆弱性がないかどうか、イメージは定期的にスキャンされます

    このスキャンでは、Container Registry 脆弱性スキャンと同じ機能が使用されます。検出された脆弱性に対するパッチが利用可能になると、そのパッチが Google によって適用されます。

  • イメージは再現可能な方法でビルドされているため、ソースコードからバイナリへのパスを検証できます。

    イメージを GitHub のソースと比較して、ビルドの際に欠陥が取り込まれていないことを検証できます。

  • Google Cloud 上にイメージが保管されるため、ネットワークを走査せずに、ご使用の環境から直接 pull できます。

    これらのイメージを pull するには、プライベート Google アクセスを使用します。もちろん、Google Cloud 外部でイメージを使用することもできます。

使用可能なコンテナ イメージ

マネージド ベースイメージは、GCP Marketplace に用意されています。

マネージド ベースイメージは、次の OS ディストリビューションで利用できます。

OS ソース リポジトリのパス GCP Marketplace リスティング
CentOS GitHub marketplace.gcr.io/google/centos7 GCP Marketplace
Debian 9 "Stretch" GitHub marketplace.gcr.io/google/debian9 GCP Marketplace
Debian 10 「Buster」 GitHub marketplace.gcr.io/google/debian10 GCP Marketplace
Ubuntu 16.04 GitHub marketplace.gcr.io/google/ubuntu1604 GCP Marketplace
Ubuntu 18.04 GitHub marketplace.gcr.io/google/ubuntu1804 GCP Marketplace

オペレーティング システムのライフサイクルとサポート ポリシー

マネージド ベースイメージのサポートには、対応する OS ディストリビューションのライフサイクルが適用されます。特に断りのない限り、Google は更新済みイメージを少なくとも月に 1 回公開します。公開される更新には、オペレーティング システムのライフサイクルにおいて主流のサポート ステージにあるバージョンにインストールされるセキュリティの更新などが含まれています。

オペレーティング システムのバージョンが延長ライフサイクル ステージに入ると、Google ではイメージの更新を停止します。Google では一般に、延長ライフサイクル ステージにあるバージョンや延長ライフサイクルが終了したバージョンに新機能をバックポートすることはしません。

代替オプション

マネージド ベースイメージの使用が理想的ではない場合、それに代わる適切な手段があります。

  • distroless イメージは、言語を重視した必要最小限のイメージです。

    GitHub で、これらのイメージをご確認ください。

  • キャッシュされたイメージは、リクエストされる頻度が高い mirror.gcr.io に保存された Docker Hub イメージです。キャッシュされたイメージを使用するように Docker デーモンを構成すると、Docker Hub から直接 pull する前に、Docker Hub イメージのキャッシュ コピーが常にクライアントで確認されます。

    キャッシュに保存されたイメージを pull する方法について確認する。

ソフトウェア サプライ チェーンを保護する他の方法(イメージの検証など)については、Google Kubernetes Engine でのソフトウェア サプライ チェーンの保護をご覧ください。