ログイン / 登録 アカウント

クラウドネイティブ・アプリケーション

コンテナレジストリとは

コンテナレジストリは、KubernetesDevOps、およびコンテナベースのアプリケーション開発用のコンテナイメージを格納するために使用されるリポジトリ、またはリポジトリのコレクションです。 

コンテナイメージ

コンテナイメージは、コンテナのコピー (アプリケーションを構成するコンテナ内のファイルとコンポーネント) であり、これを拡大して迅速にスケールアウトしたり、必要に応じて他のシステムに移行したりすることができます。コンテナイメージが作成されると、一種のテンプレートを形成します。これを使用して、新しいアプリケーションの作成や、既存のアプリケーションの拡張とスケーリングを行うことができます。 

コンテナイメージを使用する場合、作成したコンテナイメージを保存してアクセスできる場所が必要ですが、この場所にあたるものがコンテナレジストリです。レジストリは基本的に、コンテナイメージを格納し、アップロード (プッシュ) やダウンロード (プル) のプロセスを介してそれらを共有する場所として機能します。イメージを別のシステム上にコピーすると、そのイメージに含まれている元のアプリケーションはそのシステムでも実行できます。 

レジストリには、コンテナイメージに加えて、アプリケーション・プログラミング・インタフェース (API) のパスとアクセス制御パラメーターも格納されます。 

コンテナレジストリの種類:パブリックとプライベート

コンテナレジストリには、パブリックとプライベートの 2 種類があります。 

パブリックレジストリは、可能な限り速やかにレジストリを立ち上げて稼働させたいと考える個人ユーザーや小規模チームに適しています。基本的な機能を有しており、簡単に使用できます。 

新しい組織や小規模の組織であれば、まず標準のオープンソースイメージを利用し、そこから拡大して行くこともできます。しかし、拡大するにつれて、パッチ適用、プライバシー、アクセス制御といったセキュリティ上の問題が生じる可能性があります。 

プライベートレジストリでは、リモートあるいはオンプレミスでホストされるエンタープライズ向けのコンテナイメージのストレージにセキュリティとプライバシーを組み込むことができます。レジストリをデプロイする際の選択肢には、独自のコンテナレジストリを作成してデプロイするか、商用サポートされているプライベート・レジストリ・サービスを利用するかの 2 つがあります。このようなプライベートレジストリの多くには、高度なセキュリティ機能とテクニカルサポートが付属しています。その代表的な例が Red Hat® Quay です。

プライベート・コンテナ・レジストリで注目すべき点

プライベート・コンテナ・レジストリの主な利点は、誰が何にアクセスできるかを制御し、脆弱性をスキャンして必要に応じてパッチを適用し、ユーザーだけでなくイメージの認証も要求できることです。 

エンタープライズ向けのプライベート・コンテナ・レジストリ・サービスを選択する際に注目すべき重要な点は次の通りです。

  • 複数の認証システムをサポートしているか
  • ロールベースのアクセス制御管理 (RBAC) を使用できるか
  • 脆弱性スキャン機能を備えているか
  • 監査可能なログに使用状況を記録して、アクティビティを単一のユーザーまで追跡できるようにする機能があるか
  • 自動化のための最適化がされているか

ロールベースのアクセス制御機能があれば、ユーザーのロールに基づいて、レジストリ内で機能を割り当てることができます。たとえば、開発者はレジストリへのアップロードだけでなく、レジストリからのダウンロードにもアクセスが必要ですが、チームメンバーやテスターに必要なのはダウンロードへのアクセスのみです。 

AD や LDAP などのユーザー管理システムを使用している組織では、そのシステムをコンテナレジストリに直接リンクして、RBAC に使用できます。 

プライベートレジストリは、脆弱性のあるイメージや、無許可のユーザーのイメージが企業のシステムに侵入するのを防ぎます。定期的なスキャンを実行してセキュリティ上の問題を見つけ、必要に応じてパッチを適用できます。  

プライベートレジストリを使用すると、格納されているコンテナイメージを検証するための認証手段を導入することもできます。このような措置が講じられている場合、イメージをアップロードしようとする人は、そのイメージをレジストリにアップロードする前にデジタル「署名」をする必要があります。これにより、そのユーザーに許可されていないアップロードを防止できるだけでなく、そのアクティビティを追跡することができます。また、イメージにはさまざまな段階でタグを付けることができるため、必要に応じて元に戻すことができます。

Red Hat のコンテナレジストリ

Red Hat Quay は、迅速にスケーリングを行う必要があるストレージを備えたコンテナのビルド、分散、デプロイを可能にするプライベート・コンテナ・イメージ・レジストリです。Clair を使用してイメージのセキュリティの脆弱性を分析し、潜在的な問題を特定して、それがセキュリティ上のリスクになる前に対処します。 

Red Hat Quay は、ユーザーが制御できる強力なアクセス設定と認証設定、および以下の機能と利点により、アプリケーションが確実にプライベートに格納されるようにします。

  • 複数のストレージバックエンドおよび ID プロバイダーとの互換性
  • ロギングと監査
  • 柔軟で拡張可能な API
  • 直感的なユーザーインタフェース (UI)
  • リポジトリ内のすべてのタグを最大 2 週間表示し、タグを以前の状態に戻すことができるタイムマシン
  • ロボットアカウントを使用した、ソフトウェアの自動デプロイ
  • 待機時間を短縮するための BitTorrent ダウンロード
  • 冗長性およびダウンロードのスピードアップのための、Geo レプリケーション
  • ダウンタイムや読み取り専用モードを必要とせずに、アクティブなオブジェクトのリソースを効率的に使用する、自動的および継続的なイメージのガベージコレクション

また、Red Hat Quay は、Red Hat のテクニカルエキスパートとサポートサービスのチームに支えられています。このチームが、数十年に及ぶエンタープライズ・カスタマーサービスの経験を活かして、お客様をサポートします。 

コンテナレジストリの選択についてさらに詳しく知る