フィードを購読する

適切なベースの選択

コンテナのベースイメージにはさまざまな選択肢がありますが、Red Hat Universal Base Image (UBI) を選ぶべき理由は何でしょうか。まず、Red Hat Universal Base Image のすべてのコードは Red Hat Enterprise Linux (RHEL) から派生したものです。UBI を選ぶべき理由を説明するには、RHEL のミッション (以下) に触れないわけにはいきません。

「Red Hat Enterprise Linux は、ワークロードをうまく実行させるための安全で信頼性の高い Linux イノベーションの源です。」

Red Hat Universal Base Image e ブック

コンテナは Linux であり、UBI は RHEL から派生したものなので、同じ価値が UBI にも適用されます。

  1. イノベーション:組織は常に、運用を効率化し、開発と管理を一元化することによって、摩擦の生じない迅速なイノベーションと、データセンターからエッジまでの一貫性を実現したいと考えています。
  2. 最適化:インフラストラクチャが複雑になると、すぐにコストが上昇し、効率も低下します。
  3. 保護:ワークロードの構築、スケーリング、管理などを含め、ハイブリッドクラウド全体でリスクを継続的に緩和することは、ほとんどの組織にとって課題です。
  4. 信頼:アプリケーションのライフサイクル、ワークロードの互換性、セキュリティパッチの適用、コンプライアンス報告に関連する複雑性を管理することは終わりのない課題です。

コンテナは、Linux オペレーティングシステムのユーザーランド (オペレーティングシステムに付属するすべてのプログラム、ライブラリ、依存関係) の軽量版を提供します。アプリケーションをコンテナに配置すると、このような依存関係は必要最低限まで取り除かれますが、それでもオペレーティングシステムであり、コンテナベースイメージの品質はホストのオペレーティングシステムと同じくらい重要です。組織に適したコンテナベースイメージを選択することは、 標準運用環境 (SOE) を構築するのと同様に、セキュリティとライフサイクルに影響を与える重要な選択です。

Red Hat は当初からベースイメージの重要性を認識しており、RHEL 7 のリリースと同時に Red Hat Enterprise Linux (RHEL) イメージを提供し始めました (その後すぐに RHEL 6 イメージもリリースしました)。これらのイメージにより、RHEL ユーザーの企業はより安全で、パフォーマンスに優れた、最新のエンタープライズグレードのコンテナを利用できるようになりました。RHEL  コンテナホストで RHEL  コンテナイメージ を実行することで、使い慣れた環境であることはもちろん、環境間の互換性と可搬性が得られます。しかし、課題が 1 つありました。RHEL サブスクリプションのエンタープライズ契約により、当社のお客様は、構築したコンテナイメージを組織外に簡単に共有することができませんでした (共有はコンテナの重要な価値の 1 つです)。

しかし、Red Hat Universal Base Image (UBI) のリリースに伴い、次の 2 点が大きく変化しました。

  1. UBI で構築したコンテナイメージは、組織内外の誰とでも共有できます
  2. Red Hat のお客様でなくても、Red Hat Universal Base Image でリリースされたすべてのコンテンツを利用できます

これにより、誰もが優れた信頼性、セキュリティ・フットプリント、パフォーマンスを備えた Red Hat の公式コンテナイメージを活用できるようになりました。つまり、UBI 上でコンテナ化アプリケーションを構築し、任意のコンテナ レジストリサーバーにプッシュし、これを世界中の人と共有できます。UBI を使用すると、場所と方法を問わず、コンテナ化されたアプリケーションを構築、共有、コラボレーションできます。

rhel-universal-base-image-1-ja

UBI でアプリケーションを構築すると、どこでも任意の場所で共有し、実行できます。また、RHEL や Red Hat OpenShift で実行するとさらに大きな価値が得られます。その違いは以下の通りです。

  1. どこでも実行:同じ優れた品質を活用できますが、利用できるのはコミュニティとセルフサポートのみです。
  2. RHEL または OpenShift で実行:同じ優れた品質を活用できますが、Red Hat によるフルサポートが提供されます。サポートが必要な場合は、サポートチケットを提出するだけです。

UBI を使用する理由

以下の要望やニーズの有無について検討すると、UBI の使用が組織に適しているかどうかを判断するのに役立つでしょう。

  •  開発者が、一般公開できる高品質のコンテナイメージを求めている
  •  運用チームが、エンタープライズ・ライフサイクルを備え、サポート可能なベースイメージを必要としている
  •  製品チームが、Red Hat と共同でサポートされる Red Hat 認定コンテナを提供したいと考えている
  •  顧客が、自社の Red Hat 環境でエンタープライズサポートを利用したいと考えている
  •  コミュニティが、コンテナ化されたアプリケーションをより自由に共有し、かつ高品質のコンテナイメージを利用したいと考えている

これらの一部または全部に該当する場合は、続きをご覧ください。

ベースイメージ以上のもの

UBI は完全なオペレーティングシステムではありませんが、次の 3 つに該当します。

  1. 4 つのベースイメージのセット (ubi-micro、 ubi-minimal、 ubi standard、 ubi-init)
  2. 言語ランタイムイメージのセット (Node.js、Ruby、Python、PHP、Perl など)
  3. 一般的なアプリケーション依存関係に対応する、Yum リポジトリ内の関連パッケージのセット
rhel-universal-base-image-2-ja

すべての UBI コンテンツは RHEL のサブセットです。UBI のすべてのパッケージは、RHEL チャネルから提供され、RHEL または OpenShift で実行される場合は RHEL と同様にサポートされます。

rhel-universal-base-image-3-ja

コンテナイメージに対する高品質なサポートを提供するには、多くのエンジニアリング、セキュリティ分析、リソースが必要です。ベースイメージのテストだけでなく、任意のコンテナホストでの動作テストも行う必要があります。

アップグレードの課題を軽減するために、Red Hat はエンジニアリングとサポートに重点を置いており、UBI 8 を RHEL 9 ホストで、また UBI 9 を RHEL 8 ホストで実行できるようにするだけでなく、その他の組み合わせも可能にしています。これにより、コンテナイメージまたは基盤となるコンテナホストでアプリケーションのプラットフォームをアップグレードする際の柔軟性と信頼性が向上します。サポートされているものの詳細リストは、Red Hat ポータルの コンテナ互換性に関する表を参照してください。

4 つのベースイメージの比較

rhel-universal-base-image-4-ja

Micro - 独自の依存関係を含むアプリケーション (Python、Node.js、.NET など) 向け

  • ビルドの基盤にできる最小のイメージ
  • パッケージマネージャーがないのでサイズが小さい
  • Dockerfile ではなく Buildah を推奨

Minimal - 独自の依存関係を含むアプリケーション (Python、Node.js、.NET など) 向け

  • 最小限のプリインストールコンテンツのセット
  • SUID バイナリーなし
  • 最小限のパッケージマネージャー (インストール、更新、および削除)

Standard - RHEL で実行されるすべてのアプリケーション向け

  • 統合された OpenSSL 暗号化スタック
  • フル Yum スタック
  • 便利な基本 OS ツール (tar、gzip、vi など) を含む

Multi-service - 単一コンテナでの複数サービスの実行を単純化

  • 起動時に systemd を実行するように設定済み
  • ビルド時にサービスを有効化することが可能

事前ビルド済みの言語ランタイムコンテナイメージ

言語のインストールを可能にするベースイメージに加えて、UBI は、多数の言語ランタイムを使用するためのビルド済みイメージを開発者に提供します。多くの場合、イメージを使用するだけで、ビルド中のアプリケーションの作業を開始できます。

ビルド済みのランタイムコンテナイメージの詳細リストについては、Red Hat Ecosystem Catalog をご覧ください。

関連パッケージ

ビルド済みイメージを利用するのは素晴らしいことです。Red Hat は、RHEL の更新ポリシーに従い、RHEL の新しいバージョンをリリースするときと、重大レベルの共通脆弱性識別子 (CVE) にパッチが適用されたときに新しいイメージをリリースしています。イメージポリシーの詳細は、こちら ( Red Hat Container Image Updates) を参照してください。イメージは、いずれか 1 つをプルするだけでアプリケーションのビルドを開始できるように設計されています。

rhel-universal-base-image-5-ja

とはいえ、アプリケーションをビルドする際に、なんらかの追加パッケージが必要になることがあります。あるいは、アプリケーションを動作させるためにパッケージの更新が必要な場合もあります。そのため、UBI には Yum を介して利用可能な一連の RPM が付属しており、極めて可用性の高いコンテンツ配信ネットワークで配布されています。プロダクション環境へのリリースを行うその決定的なタイミングで、CI/CD パイプラインで Yum アップデートを実行すると、Red Hat のお客様が使用しているのと同じインフラストラクチャにアクセスできます。

基盤は RHEL

2014 年に導入されたとき、コンテナ化アプリケーションはエンタープライズ IT におけるイノベーションの波を象徴するものでした。そして現在でも、従来のモノリシックなアプリケーションの開発とメンテナンスを向上させるという点で、ゲームチェンジャーであり続けています。とはいえ、コンテナは万能ではありません。エンタープライズ環境では、オペレーティングシステムにはより優れた安定性、信頼性、セキュリティツール、ガイダンス、タイムリーな修正が必要です。RHEL はこれらのニーズを満たすように設計されています。以下は、ベースイメージに取り組む Red Hat チームの一部です。

  • パフォーマンス・エンジニアリング・チーム:堅牢なパフォーマンスを提供し、コンテナ化対象として選択したワークロードで確実に機能するように設計されている、glibc や OpenSSL などの基本ライブラリと、Python や Ruby などの言語ランタイムの更新とメンテナンスを担当します。
  • 製品セキュリティチーム:上記のライブラリと言語がタイムリーなセキュリティ修正を確実に受け取れるようにします。セキュリティリスクは関連付けられた Container Health Index グレードで測定されます。
  • 製品管理チームとエンジニアリングチーム:新機能を追加し、ユーザーが安心して UBI に投資し、さらに構築していけるような長期のライフサイクルを推進します。

RHEL はサブスクリプションベースです。つまり、新しいリリースが出るごとに新しいライセンスを購入したり、サポートを受けるのに追加料金を支払ったりする必要はありません。RHEL サブスクリプションに登録すると、現在提供されているすべてのバージョンの RHEL を実行できます。Red Hat サポートに加え、より安全でセキュリティ強化された信頼できる Linux オペレーティングシステムを利用できます。RHEL はコンテナの優れたホストおよびイメージとして機能しますが、多くの開発者はより広範なユースケースをサポートする必要があり、その一部はサポートされるシナリオ外である可能性があります。そこで役に立つのが UBI です。

現在も未来も

単純なコンテナ化アプリケーションを作り始めるためのベースとなるイメージを探しているだけの方もいれば、コンテナエンジン上で実行されるスタンドアローンのコンテナから、OpenShift で実行するように設計された Operator を構築し認定する、クラウドネイティブの世界へと移行しようとしている方もいるでしょう。Red Hat は、そのどちらの場合でも、UBI は優れた基盤になると考えています。

rhel-universal-base-image-6-ja

コンテナは軽量オペレーティングシステムのユーザー空間を新しいパッケージ形式でカプセル化します。さらに、Red Hat はエンタープライズグレードの Linux オペレーティングシステムのリーダーです。UBI は、独立系ソフトウェアベンダー (ISV)、お客様、オープンソース・コミュニティがエンタープライズグレードのコンテナを利用できるようにすることで、コンテナ開発の新たな業界標準を確立するよう設計されています。

とくに ISV は、Kubernetes Operator などのコンテナ化されたアプリケーションについて信頼できる単一の基盤で標準化できます。UBI を使用する ISV は、 Red Hat コンテナ認定を利用して、OpenShift などの Red Hat プラットフォームにデプロイされたソフトウェアを継続的に検証できます。

 

サードパーティの OCI 準拠プラットフォーム上の UBI

+ Red Hat プラットフォーム

+ 認定

信頼できるロードマップ

実績ある基盤

最小イメージ

パッケージの更新

UBI コンテンツのみ

すべての RHEL コンテンツ

すべての RHEL コンテンツ

クラウドネイティブの言語ランタイム

配布/再配布

Red Hat プラットフォームテスト

 

Red Hat カスタマーサポート

 

Red Hat のコンポーネント

すべてのコンポーネントを共同サポート

セキュリティスキャニング

 

Red Hat との共同プロモーション

  

コンテナビルドサービス

  

使い始める

使い始めるのは簡単です。これらのイメージは任意のコンテナエンジンで取得できますが、Red Hat では Podman Desktop (コマンドラインを利用するのであれば) Podman を推奨しています。これらのリポジトリのいずれかからイメージをプルするだけで使い始められます。

UBI 9 の場合:

podman pull registry.access.redhat.com/ubi9/ubi
podman pull registry.access.redhat.com/ubi9/ubi-minimal
podman pull registry.access.redhat.com/ubi9/ubi-init

UBI 8 の場合:

podman pull registry.access.redhat.com/ubi8/ubi
podman pull registry.access.redhat.com/ubi8/ubi-minimal
podman pull registry.access.redhat.com/ubi8/ubi-init

UBI 7 の場合:

podman pull registry.access.redhat.com/ubi7/ubi
podman pull registry.access.redhat.com/ubi7/ubi-minimal
podman pull registry.access.redhat.com/ubi7/ubi-init

さらに詳しい情報をお求めの場合は、 Red Hat Universal Base Image に関する e ブックや Red Hat Universal Base Image に関する FAQ をご覧ください。


執筆者紹介

At Red Hat, Scott McCarty is Senior Principal Product Manager for RHEL Server, arguably the largest open source software business in the world. Focus areas include cloud, containers, workload expansion, and automation. Working closely with customers, partners, engineering teams, sales, marketing, other product teams, and even in the community, he combines personal experience with customer and partner feedback to enhance and tailor strategic capabilities in Red Hat Enterprise Linux.

McCarty is a social media start-up veteran, an e-commerce old timer, and a weathered government research technologist, with experience across a variety of companies and organizations, from seven person startups to 20,000 employee technology companies. This has culminated in a unique perspective on open source software development, delivery, and maintenance.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

チャンネル別に見る

automation icon

自動化

テクノロジー、チームおよび環境に関する IT 自動化の最新情報

AI icon

AI (人工知能)

お客様が AI ワークロードをどこでも自由に実行することを可能にするプラットフォームについてのアップデート

open hybrid cloud icon

オープン・ハイブリッドクラウド

ハイブリッドクラウドで柔軟に未来を築く方法をご確認ください。

security icon

セキュリティ

環境やテクノロジー全体に及ぶリスクを軽減する方法に関する最新情報

edge icon

エッジコンピューティング

エッジでの運用を単純化するプラットフォームのアップデート

Infrastructure icon

インフラストラクチャ

世界有数のエンタープライズ向け Linux プラットフォームの最新情報

application development icon

アプリケーション

アプリケーションの最も困難な課題に対する Red Hat ソリューションの詳細

Original series icon

オリジナル番組

エンタープライズ向けテクノロジーのメーカーやリーダーによるストーリー