レッドハット
レッドハット株式会社は、米国ノース・カロライナ州ラーレーに本社を置く米国 Red Hat Inc. の日本法人です。オープンソース・ソリューションのプロバイダーとして世界をリードする Red Hat は、コミュニティとの協業により高い信頼性と性能を備える Linux、ハイブリッドクラウド、コンテナ、および Kubernetes テクノロジーを提供しています。Red Hat は、受賞歴のあるサポート、トレーニング、コンサルティング・サービスをお客様に提供し、複数の環境にわたる標準化、クラウドネイティブ・アプリケーションの開発、複雑な環境の統合、自動化、セキュリティ保護、運用管理を支援します。
Red Hat Enterprise Linux
エンタープライズ IT が向かう先には常に Red Hat® Enterprise Linux® があります。その進化は、パブリッククラウドからエッジまで、新たなフロンティアに柔軟性と信頼性をもたらしています。これは、無数のイノベーションを支える安定した基盤です。
Red Hat Enterprise Linux 9
Red Hat Enterprise Linux 9のソフトウェア上の違い
RHEL 8とRHEL 9間でのソフトウェアの変更について影響範囲が広そうなトピックをいくつか列挙します。
- システム全体の暗号化ポリシーのDEFAULTで、HMAC注1 以外でのSHA-1 によるハッシュが禁止されました。「SHA-1を利用するDNSSECレコードを検証できない」「SHA-1を利用したssh-rsa ホスト鍵しか持たない(RHEL 6 のデフォルト)ホストへSSH が接 続できない」「SHA-1 で署名されたrpm パッケージがインストールできない」などの影響が発生します。
注1) 正式名称はHash-based Message Authentication Code。ハッシュ関数を利用して送信者の認証と改ざん検知を行います。 - 2013年にBerkeley DB(libdb)のバージョン6 のライセンスがAGPL になったため、RHEL ではそれ以前のバージョン注2 をメンテナンスしています。RHEL 9 ではlibdb のバージョン5の提供を維持しつつ非推奨とされました。いくつかのソフトウェアからlibdbへの依存が削除され、GDBMやSQLiteへ変更する作業が行われました。
注2) ライセンスはBSD and LGPLv2 and Sleepycat。 - /etc/sysconfig/network-scripts/ 以下の設定ファイルはデフォルトで利用されなくなりました。ネットワークの設定は/etc/NetworkManager/以下のファイルに保存されます
- 次のパッケージや機能が廃止されています
- ABRT(Automatic Bug Reporting Tool)が削除されました。systemd-coredumpによるコアダンプ回収が代替となります
- NIS(Network Information Service)のサポートがなくなりました
- KVMのSPICE対応が削除されました
- Python 2.x はRHEL 9 では提供されなくなりました
- 無線LAN でのWEP サポートが廃止されました
- network-scripts が廃止されて、NetworkManagerの利用が必須になりました
ここに挙げた以外にもRHEL 9 での変更について、専用のドキュメント「RHEL 9 の採用における考慮事項」注3が用意されています。このドキュメントにとくに記載がないRHEL 8とRHEL 9 で継続して提供されているソフトウェアにもコミュニティの約3年分の変更が反 映されています。
注3) RHEL 9 の公式ドキュメントは次のページにて公開されています。
Product Documentation for Red Hat Enterprise Linux 9 (Red Hat社サイト)
Red Hat Enterprise Linuxに含まれるサービス
RHEL は単にソフトウェアを提供するだけのものではなく、企業で利用する際に必要となる多くのサービスを提供しています。簡単に例を挙げても、以下のように多くのサービスを提供しています。
- サポート窓口でトラブルシュートを支援、機能拡張リクエストの受け付け
- ナレッジベース、ドキュメント、脆弱性データベースなどを継続的にメンテナンス
- システムの自動診断、自動修正サービス
- 仮想マシンイメージの作成サービス
- 購入しているサブスクリプションの管理サービス
- Web上で動作する設定ファイル生成など
これらのサービスはRHEL 8 でも利用できるのでRHEL 8 とRHEL 9 の「違い」とは言い難いですが、RHEL を活用していくという視点では重要です。RHEL 9のリリースに前後してRHEL に含まれる各種サービスの変更や拡張が行われています。
Red Hat Enterprise Linuxの開発とメンテナンス
CentOS Streamとの関係
RHEL 9 は開発初期からCentOS Stream を開発の基盤とした初のメジャーバージョンです。RHEL にとってのアップストリームにあたるFedoraプロジェクトでの開発は、コミュニティで行われているため以前から公開されていましたが、Fedora から分岐してRHEL として出荷されるまでの間の開発作業や出荷後に行われるRHEL のマイナーリリース開発は、Beta として世に出るまでは非公開となっていました。CentOS Stream では、従来Red Hat 社内と限られたパートナーしかアクセスできなかった出荷前のRHEL ビルドやリポジトリを公開しています(図1)。
CentOS Stream はRHEL 開発に対して早い段階で社外からのフィードバックを得ることが目的の1つとなっていて、誰でもバグレポートやマージリクエストを行い、RHEL のメンテナと共同作業を行うことができます注4。RHEL9.0が出るまでの時点で、CentOS Stream 9で処理されたマージリクエストのうち2%ほどがRed Hat社外からのものでした。
注4) Contributing to CentOS Stream - Quickstart (Red Hat社サイト)
図1 CentOS Streamの位置付け
リリースタイミング
RHEL 7まではメジャーバージョン、マイナーリリースともに不定期にリリースされていました。RHEL 8出荷時にメジャーバージョンのリリースを3年おきに実施し、マイナーリリースのリリースを6ヵ月おきに実施するとポリシーを変更しました。1~2週間のずれはありますが、現在までのところ予定どおり出荷されています。RHEL 8は2019年5月に出荷されて、3年後にあたる2022年5月に予定どおりRHEL9が出荷されました。RHEL では、Extended Update Support(EUS)として一部のマイナーリリース出荷から2年間メンテナンスとサポートを維持するアドオン製品が販売されています。RHEL 9では9.10をのぞく偶数マイナーリリースがEUSの対象となる予定です。EUS対象マイナーリリースが1年おきに出荷されて2年間維持されますから、マイナーリリースの移行時に厳密な検証を必要とするミッションクリティカル用途でも1年間の作業ウィンドウを用意できます。
Application Streams Life Cycle
Git、Ruby、PHP、Python、Node.js などのソフトウェアは、RHEL に含まれないライブラリ、フレームワーク、各種SaaSなどのエコシステムが重要です。そのため、RHEL で古いバージョンをメンテナンスしていてもエコシステムでのサポートがなくなったためにあまり価値がなくなるケースがしばしば発生していました。過去にはRHEL 同梱のGit が古過ぎてGitHubと接続できないケースや、Ruby処理系が古過ぎてRuby on Railsが動作しないなどのケースがありました。 最新に近いバージョンのソフトウェアを提供するため、RHEL 8から一部のソフトウェアについては“Applicatoin Streams Life Cycle”注5としてRHEL の10年のライフサイクルとは独立したライフサイクルでメンテナンス/サポートを提供するようになりました。対象のソフトウェアはそれぞれ独立してライフサイクルが設定されたストリーム(バージョン)を並行して提供し、最低1 ストリームは維持します。ただし、RHEL 8のPython 2.7やmailmanのように、deprecated(非推奨)とされて後続のストリームは出荷されず、RHEL のライフサイクル途中でメンテナンスやサポートが終了するものもあります。
機能拡張や互換性の有無などのためにバージョンについて気になる方が多いであろうソフトウェアの多くが、Application Streams Life Cycleに含まれています。RHEL 8では、8.0出荷時点からPostgreSQL9.6と10を提供するなど、同じソフトウェアの複数ストリームを並行して提供していましたが、RHEL 9.0時点ではOpenJDK以外のソフトウェアはそれぞれ1 つのストリームしか提供されていません。RHEL 8.0 から導入されたyummodule注6も9.0時点では利用されていません注7。今後のリリースで新しいストリームが導入される場合には、パッケージによりyum module、sclスクリプトによる切り替え注8、同時にインストールできるrpm注9のような方法でストリームが追加されます。
RHEL 9登場以前には、RHELの通常ライフサイクルである10年間維持されないものだけをApplication Streams Life Cycle と定義していたので、たとえば10年間維持されるPython3.6は含まれていませんでした。
注5) Red Hat Enterprise Linux Application Streams Life Cycle (RedHat社サイト)
注6) yumリポジトリ内の一部パッケージを隠したり、どのパッケージを隠すかを切り替えたりする機能。競合するパッケージを提供しつつ、普段のyum update などでは今までと同様に利用できます。
注7) CentOS Stream 9.1のリポジトリを見ると、9.1ではNode.js、PHP、Rubyのyum moduleが出荷されるようです。
注8) 環境変数の切り替えによって、同一コマンドで別バージョンのバイナリを実行させるしくみ。おもにgcc やその関連ツールで利用されます。
注9) OpenJDKのように複数バージョンを同時にインストールできるパッケージ。
RHELとCentOS Streamの関係
Source: CentOS Stream is Continuous Delivery - Stef Watler - 11 Dec, 2020 | Image licensed CC-BY-SA 4.0
Red Hat Enterprise Linux のupstreamの位置付け
サブスクリプションの価値
► Linux で イノベーションと 運用効率を拡大 - Red Hat Enterprise Linux サブスクリプションの 価値を高める 7 つの方法 (Red Hat社サイト)
ライフサイクル
► Red Hat Enterprise Linux Life Cycle (Red Hat社サイト)
Red Hat Edge
► Red Hat Enterprise Linux によるエッジコンピューティング (Red Hat社サイト)
Red Hat® Enterprise Linux® は、一貫性と柔軟性を備えたエンタープライズ・ワークロードのためのセキュリティ重視のプラットフォームを提供します。より迅速なデータ提供を可能にし、エッジでの新たなイノベーションの促進に役立ちます。 この最適化されたプラットフォームにより、データとデバイスを発生元で接続する一元化されたインタフェースを通じて、エッジシステムを効率的に管理できるようになり、インテリジェントなビジネス上の意思決定をリアルタイムで行うために必要な知見を得ることができます。Red Hat Enterprise Linux は、お客様の要件をアップストリームで提唱し、エッジで安定した効率的な更新を提供することで、お客様がオープンソース・イノベーションを活用できるようサポートします。また、IT チームはハイブリッドクラウド・インフラストラクチャを拡張し、数十万のノードを制御できます。
Red Hat Embedded Program
オープンソースソフトウェアで有名なレッドハットですがIoTの進展により、組込み分野での採用も加速しています。従来、ネットワークへの接続はPCなどに限られていましたが家電やカーナビなどのデバイスからも接続されるようになりました。それに伴いユーザの関心は価格から機能・品質へと移り、信頼性を求める声がレッドハット採用を後押ししています。 Red Hat Embedded Programは、Red Hat製品を組込みで利用するための専用プログラムです。Red Hat Enterprise LinuxだけではなくJBossやストレージ製品、さらには管理ツールのAnsibleなど、レッドハット製品の多くをカバーしています。本プログラムの最大の特徴は、商用版ではライセンス上取り扱いのできない組込み機器に組み込んでのリセールができる点です。また、組込み利用のために最適な契約と価格で提供されます。 すでに30社近くが、契約パートナーとなっています。 アヴネットはレッドハットの組み込みプログラムの単独のディストリビューターとしてレッドハットと専属契約を結んでおります。ご興味がありましたらぜひ、お気軽にお問い合わせください。
Red Hat Embedded Program対象製品
基幹製品から管理ツールまで、幅広い製品が対象となっています。
・Red Hat Enterprise Virtualization for Servers Linux
KVMベースの統合仮想化管理製品。サーバとデスクトップ仮想化のためのソリューション
・Red Hat Enterprise Linux for Realtime
Red Hat Enterprise LinuxベースのリアルタイムOS製品。トランザクションとアプリケーションを低遅延で実行できるほか、サービス品質とシステムの利用率が向上
・JBoss Enterprise Application Platform
JavaEE7 に準拠し、豊富な実績を誇るNo.1オープンソース アプリケーションサーバ 標準で多くの機能を同梱(クラスタ機能、ロードバランシング機能、管理ツール etc.) ・Red Hat JBoss BRMS 業務ロジックを「ビジネスルール」として外部化し、管理/実行する仕組みをルールエンジンとして提供。ルールはExcelベースで記述できでエンドユーザも運用可能。ルール変更が頻発するシステムなどでメンテナンスコストの低減が見込める
・Red Hat JBoss Data Virtualization
複数のデータソースをまとめて仮想的に1つのソースとし、どのようなアプリケーションやユーザーに対しても、必要なデータを必要な形式で必要な時に提供するためのデータ統合、データ連携ソリューション
・Red Hat JBoss Data Grid
頻繁に使用するデータに高速かつ高い信頼性でアクセスできるようにすることで、アプリケーションを柔軟に拡張する、インテリジェントな分散データキャッシングソリューション
・Red Hat JBoss Fuse
ワールドワイドでデファクトとなっているApache CamelをベースとするESB基盤。IoTでも利用されるMQTTにも対応したメッセージング基盤のJBoss A-MQ を包含
Red Hat Embedded Program契約フロー
フローは、非常にシンプルです。 まず、アヴネットあるいはリセラー企業からサブスクリプションを購入いただき、製品やサービスにRed Hat製品を搭載して、販売します。その際Red Hatと直接、Embedded Partner契約を締結していただきます。従来通りエンドユーザへのサポートは継続して直接行いつつ、レッドハットから直接、製品サポートを受けたり、技術問い合わせをすることができます。
Red Hat Embedded Program適用例
実際の想定利用例を紹介します。
・スマートストアデジタルサイネージ
サイネージに表示するためのコンテンツ検索システムで採用 ・半導体露光装置 計測およびプロセス制御を含む半導体露光装置のプラットフォームとして採用
・POSシステム
エンタープライズレベルの信頼性とトランザクションに確実に対応できる拡張性を要求される、数千台に渡るPOSシステムで採用
・決済システム
銀行カード支払い処理の為の決済端末と、バックエンドの支払い処理システムで採用
・宅配便追跡システム
大容量の荷物を追跡する携帯端末と、追跡のためのバックエンドのオフィスシステムで採用
・スマートメーター
電力や水道のスマートメータと、スマートメータのデータをユーティリティデータセンターで処理するためのシステムで採用
・産業用コントロールシステム 監視制御システム(SCADA)、リモート端末ユニット(RTU)、マイクロコントロールユニット(MCU)で採用
・風力発電制御システム 風車群の制御と管理をするインテリジェントシステムで採用
・防衛システム 車両搭載プラットフォームならびにHUMVEE戦術コマンドシステムのための遠隔戦術サポートインフラストラクチャに採用
他にも、フリーゲート艦制御システム、フライトコントロールシステム、艦船指揮統制システム戦車兵器制御システムなど多くのシステムで採用
Subscriptionを正しく使われていますか?
レッドハットのサブスクリプションは、技術サポートやバグ修正、アップデートの入手やハードウェアのソフトウェア認定などを含むサポートサービスを受ける権利です。通常の商用版を利用して自社パッケージに組込み、再販を行った場合は、ライセンス違反となりますのでご注意ください。製品に組込んで販売する場合には、組込み向けの専用サブスクリプション契約が、別途必要となります。 組込み用途でご利用される場合は、組込み向けの正しいライセンスを利用し、コストメリットもあるRED HAT EMBEDDED PROGRAMをご活用ください。