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

マネージド ベースイメージは、プロジェクトのアップストリーム(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
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 でのソフトウェア サプライ チェーンの保護をご覧ください。