見逃されているかもしれないコンテナレジストリ

以下は、
Rancher Labs | Container registries you may have missed | Rancher Labs
http://rancher.com/container-registries-might-missed/
からの翻訳です。

Container Registries You Might Have Missed
見逃されているかもしれないコンテナレジストリ

on Nov 10, 2016

レジストリは、コンテナを扱う上で重要なコンポーネントの一つで、特にDockerでは多くの人から注目を浴びています。レジストリは、コンテナエンジンホストにダウンロード実行されるイメージを保管します。コンテナはその特定のイメージの単なるインスタンスです。イメージは、Microsoft WindowsのMSIやRed Hat Enterprise LinuxのRPMなど、すぐに使えるパッケージのようなものと考えることができます。レジストリは、どういう風に動作するか詳細には述べませんが、詳細を知りたい場合はこの記事素晴らしい記事を読むと良いでしょう。

この記事で説明したいことは私の注目しているレジストリのいくつかを取り上げてみたいと思います。Dockerを使う人にとっては有名なレジストリは既に知られていると思いますが、どこにイメージを置くかを決めるのに考慮する価値のある小規模なレジストリもあります。

あまり知られていないこれらのコンテナレジストリについても検討してみましょう。

よく知られているレジストリ

まず、大手に属するレジストリをリストアップします。その上で注目しているレジストリと比較しましょう。

現在、全てのDockerユーザーから最も人気のあるレジストリはDocker Hubです。Docker Hubはレジストリ界の中心です。全てのDockerがデフォルトでレジストリのホスト先として登録されています。
その他の世に広く知られているレジストリ:

あまり知られていないコンテナレジストリ

さて、注目のパートです。ここからはあまり知られていないレジストリを概説します。

Amazon EC2 コンテナレジストリ (ECR)

AmazonがAmazon EC2コンテナーサービス(ECS)と呼ばれるコンテナサービスを提供していることはすでにご存じかと思います。しかし、ECSの環境を完全に整えるレジストリについてはあまり知られていません。

Amazon EC2 コンテナレジストリ(ECR)と呼ばれるこのレジストリは、Dockerのコンテナレジストリとして提供されています。ECSと統合されています。2015年12月に導入されたそれは、その他のよく知られているレジストリに比べてあまりしられていませんが、その理由を説明しましょう。

ECSは、ECRとのみ互換性があるコンテナレジストリではありません。ECSは外部のレジストリとしても使うことができます。しかし、ECRの重要な点は完全にサービスとして管理されたレジストリで、展開と管理をシンプルにしています。ECRは、ECSのインフラと同じように拡張性があり、スケーラブルであるということです。

ベストなユースケース:AWSのヘビーユーザーでプライベートなイメージを保管する場所を検討しているのならば、ECRを使うのは非常に合理的です。大規模にレジストリを展開する場合や、将来的にレジストリが拡大することが想定される場合にも適しています。これらの場合、ECRの事実上無制限の拡張性のメリットを享受できるでしょう。

FlawCheck プライベートレジストリ

FlawCheckプライベートレジストリ (最近、セキュリティベンダーTenable社によって、FlawCheckのビジネスの残りの部分と一緒に、買収されました)セキュリティ重視のレジストリです。コンテナのイメージに対する脆弱性スキャンとマルウェア検出が組み込まれていて、サービスとして提供されています。無料のコンテナイメージに対する悪意のあるコードの埋め込みや悪意のあるイメージを入れられてしまう事を防ぐための特効薬はありませんが、FlawCheckでは、スキャン機能によりそのリスクを軽減することができます。

ベストなユースケース: セキュリティ意識の高い企業にとっては、これはとても良い機能だと思います。厳しく規制された業界では利用が増えるでしょう。

GitLab Container レジストリ

Gitlab コンテナレジストリは、オンプレミスやレンタルサーバーでレジストリとして実行することができるコンテナイメージを取り扱うことができるGitLab社のソリューションです。GitLabに組み込まれているので、GitLabのデプロイのパイプラインに直接統合することができ、GitLabの他の部分とシームレスに統合することができます。あなたのチームでGitLabを使っておりツールを増やしたくなく、DevOpsでシームレスに統合してワークフローを利用することができることがメリットです。

ベストなユースケース: 開発者は、Dockerイメージとソースコードが同じところから参照できると便利だと考えるでしょう。GitLabでソースコードが見られるようにGitLabコンテナレジストリで見られると便利だと思います。一方で、その他のレジストリソフトと比べてこれと言った特徴を備えているわけではありません。

Portus (SUSE提供)

Portusは、技術的にはレジストリソフトではありません。しかし、Dockerレジストリの社内展開用のUIを置き換えられるフロントエンドを備えています。Portusは、アクセス制限のオプションがあり、それによりDockerレジストリに値を追加することができるよう設計されています。
これによりチームを構成したり、レジストリのユーザーだったり、個々のチーム別のアクセス権限を設定することができます(様々な面で、この機能はUnixのようなシステムのユーザー・グループの仕組みに似ています)。Portusでは、個々のユーザーレベルまたは、チームのユーザーでのコンテナイメージの更新権限を与えることができるネームスペースをレジストリに与えることをサポートし、こまかな粒度でレポジトリに対して変更することができます。また、Portusで特徴的な点は、レジストリ設定とアクセス権限を設定するためのユーザーフレンドリーなWebインターフェイスが提供されることです。(CLI構成ツール、portusctlが同様に利用可能です。)

ベストなユースケース:Dockerレジストリが好みだが、もっとセキュリティコントロールが必要とされる場合、または、よりよいアクセス制限が使いたいという理由がある場合は、Portusは強力なソリューションです。

Sonatype Nexus

Sonatype Nexusは、サービスとオンプレミスでの設置をサポートする、ソースコード管理の汎用的なレジストリです。Dockerレジストリの機能以外にも、多くの機能をサポートしていますが、Dockerレジストリも使うことができます。Dockerのレジストリよりも古い歴史があるものなのでコンテナレジストリの機能ない以前よりベテランの管理者にはおなじみかもしれません。Core Nexus プラットフォームは、オープンソースですが、商用のオプションも利用できます。

ベストなユースケース:多くの企業でNexusがMavenのレポジトリとして長年利用されてきました。単純に現代的なプラットフォームのリリースに更新するだけで、組織内で新たな製品や運用スタッフの新しい技術の習得なしに独自のDockerレジストリを作成する事ができて、Dockerイメージ以外の成果物も一緒にDockerイメージを保存するサービスと同様に利用することができるようになります。

 VMWare Harbar レジストリ

VMwareは、Dockerのエコシステム内ではメジャープレーヤーととらえられていないかもしれませんが、同社は確実にそのエコシステムの一員になりつつあります。Harbarレジストリは、VMwareが出したDockerイメージレジストリの答えです。このレジストリは、Dockerの基盤上にコンテナで構築されていますが、セキュリティとID管理機能が追加されています。また、単一ホストで複数のレジストリをサポートしています。

ベストなユースケース: Harbarが重視しているのは、セキュリティとユーザー管理で、その他のレジストリではこのような機能は提供されていない為、企業が求める価値の高いレジストリの機能となっています。企業での利用に最適です。HarbarがDockerの基盤上で動くことも、どのDocker環境にもインストールが簡単であることも注目に値します。開発者がセキュリティ上やインターネットに繋げることができないオフラインのシステムでも気軽に展開することができることも、ポイントです。

結論

一番最初の検討課題は、サービスでつかうか、オンプレミスか、両方かという環境の展開方法の種類などを含んだどういうタイプのレジストリを利用するかということ;そして、それらのアクセス制限はどうなっているのかということ;そして、その他のセキュリティオプションがどういうものがあるかということ。

もちろん、必要な要件に合った正しいレジストリを選ぶことは、どういう要件を優先するかにより決まってきます。しかし、沢山の選択肢の中から、その組織にマッチしたバランスの良いレジストリを見つけるのは難しくないでしょう。

著者について:ヴィンス・パワーはMedavieブルークロスのエンタープライズアーキテクトです。彼の焦点は、コア・コンピューティング(IaaSの)、IDおよびアクセス管理、アプリケーションプラットフォーム(PaaSの)、および連続配信などの主要分野におけるクラウド導入と技術計画です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です