2024年6月末をもって CentOS7のサポートが切れます。
何を今更‥ギリギリになって言わなくても、というのは正直私も思いますが。
今更対応を検討しているところも正直多くて、この段階になってお問合せが増えてきているのでこちらにまとめてみることにします。
CentOSってそもそも何?
本題に切り出す前に、「CentOS7」って何?と思われる方もいらっしゃると思いますのでそこからお話します。
CentOSというのはOS(Operation System)の一種で、「セントオーエス」と呼びます。
OSというのはWindowsやMacOSのようなもので、コンピューターに最初に入れないと動かすことが出来ない、そのために必要なソフトウェアです。のなので基本ソフトとも呼ばれます。
パソコンではあまりなじみがありませんが、「サーバー」というものでよく使われています。
例えばウェブサイトを提供するウェブサーバーやデータベースサーバーなど、インターネット上でサービスを提供しているコンピューター上でよく使われています。
CentOSはLinuxディストリビューションの一つ
もうちょっとだけ説明します。
CentOSはLinuxディストリビューションの一つです。
Linux(リナックス)と呼ばれるOSがあり、そこに必要な周辺ソフトウェア(ミドルウェアと呼びます)や「管理ツール」などを集めてパッケージにしたものを、Linuxディストリビューションと呼びます。
ディストリビューションというと、一般的には「配布物」という意味があります。先のパッケージ、これをCDやCVD、インターネット上で1つの大きなファイルにして配布できるかたちにし、それを使ってコンピューターにインストール(導入)することが出来るようにしたものです。
このディストリビューションには多くの種類があります。
各団体(企業やコミュニティなど)がそれぞれのポリシーに従い作られています。
CentOSも同じくCentOSという団体が出したもので、それ以外にも Red Hat Enterprise Linux(RHEL)、Ubuntuといったディストリビューションが世の中に多数存在します。
CentOSの特徴
CentOSは、RHELという 商用用途の有償かつ有名なディストリビューションに似せた形をとっているため安定性が高く、しかも無償で提供されているのが特徴です。
そのためサーバー用途(商用利用)で特に重宝されています。
CentOS7のサポートが切れるってどういう事?
「CentOS」という団体が、今回取り上げられているCentOS7‥正確には「CentOS Linux バージョン7」というプロダクトを世の中に提供しているのですが、そこで方針変更がありました。
それは、「CentOS Linux」という、既に世に出ていて動作の安定しているRHELに似たOSを提供するのを止めて、RHELの「先行開発版」を作るように方針転換した、というものです。
要は、今後はRHELのテスト版だけを作ると言っているわけです。
テスト版だと私たちの様に商売で使う側が困りますよね。だってテスト版=安定していない、と言っているようなものですから。
CentOS Linux 7を使い続けられるのか?
提供をしなくなるのは分かりました。じゃあ最後に提供されたものを使い続ければよいのでは?
という考え方もありますが、それはそれで問題があります。
サポートを受けられなくなる、という事です。
もっと具体的に言うと、「バグ対応がされなくなる」、という話です。
「CentOS Linux」はこれまで安定版を提供するために、バグ対応したものを都度修正してくれました。
Windowsアップデートみたいなものです。
それを 2024年6月30日以降はやりません、と昨年から言い始めたのです。
WindowsやMacOSであっても、今まで何度もそういう機会はありました。
その代わり、新しいバージョンのWindowsやMacOSを使ってください、という案内をしてきたわけですから、大きな問題になる事はありませんでした。
でも今回は新しいバージョンも出さない、と言ってきたわけですから、CentOSを使ってきた人からすると問題は大きいです。
もちろんLinuxそのものは今も更新されていて、別ディストリビューションであっても同じLinuxの系統ですから、動かなくなることはありません。ただ移行の手間がかかるし、方言が違うようなものなので、手間はかかります。
これがCentOS7のサポートが切れる、と言っている実態です。
さて、改めてサポートが切れてバグ対応がされなくなると、どうなるのか?
一番の影響は、セキュリティホール(脆弱性)が見つかった時に何もできない、という問題でしょう。セキュリティホールは要はバグ(プログラム上の問題)をついて、本来起き得ない事を起こせるようにしたものです。もし悪意のある人からセキュリティホールを使って、我々CentOS7を使っている側が予期しない事を仕掛けられたら、守る術がありません。
ですから、ウェブサービスを運営している人は特に注意してください。
登録者のメールアドレスなどウェブサービス上に登録されている個人情報が盗まれたり、ウェブサービスを止められてしまう、といった事がある日突然起きうるわけです。
他に考えられる問題は、例えばある日からウェブサイトに接続できなくなった、と言われる可能性。通信が出来なくなる、という事です。
通信手順、特に暗号化した通信手順は日々バージョンアップされています。
サポートが切れるとバージョンがあげられません。一方、通信ですから相手がいます。
その相手の通信手順が上がって古い手順を使えなくすることがあります。古い通信手順にはセキュリティ上の問題(例えば暗号を解読できてしまう)というものがあります。
通信相手の都合でバージョンアップが起き得ますから、そのタイミングで通信が出来なくなる可能性があるという事です。これは問題です。
CentOS7を使っている場合はどうすればよいの?
基本的には、今お使いのシステムを構築したシステムベンダーに問い合わせてどうするのか対応を検討してください。
というのも、ケースバイケースだからです。
とはいえ、それだとシステムベンダーさんの言いなり、というかたちになるでしょうから、簡単にどうすれるか、という切り分け方法をご案内します。
お使いのシステムは「共用サーバー」で動いていますか?
答えがYes、であれば何もしなくて大丈夫です。
なぜなら、共用サーバー(Shared Server)は1台のコンピューター(OS)を複数の利用者に提供しているサービスで、その提供者が責任をもってサーバーの管理をしているからです。
お使いのシステムは「専用サーバー、VPS、クラウド」で動いています?
先の質問で「共用サーバー」以外のであればもれなくこちらに該当しますから、その場合はシステムベンダーさんへの問い合わせが必要です。
CentOS7に対しどんな対応が考えられるか?
お金で解決するなら、CentOSに代わりセキュリティ対応(バグ修正版)を提供してくれるサービスに加入する方法があります。「CentOS7 延長サポート」でググると対応企業がみつかると思います。各社どこまで対応してくれるのか、期限とか、条件が異なりますのでよく比較検討のうえご加入下さい。
そうではなく、別のLinuxディストリビューションに切り替える、という手もあります。例えばRHEL を使うとかです。
ただ、切り替えといっても、現実には新たにサーバーを構築してそこに別のLinuxディストリビューションを入れて、システムが稼働するよう各種セットアップやデータ移行をし、サービス切り替えタイミングで新しいサーバーに切り替える、という方法が必要となりますので、簡単ではありません。
CentOSを別のものにすればOK、というわけではない
実はCentOSを違うものにする事自体は大した話ではありません。
大変なのは、OS上で動いているプログラムへの対応なのです。
OSバージョンアップに伴い、たいていはプログラムの修正も必要となります。
我々だと、Laravel(PHP言語で動くアプリケーションフレームワーク)を使った開発をしています。
Laravelはバージョンによって動作保証されているPHPバージョンも異なります。
例えばCentOS7は 2014年7月からリリースされていて、その当時最新のLaravel5.0を使って開発したとします。Laravel5.0は2016年2月でサポートは切れますが、CentOS7はそのまま使い続けていたとします。
そのLaravelもPHP5.6が使えてるからと、そのまま使い続けていました。
PHP5.6は2018年12月がサポート期限。でも一応CentOS7上で当時入れたPHP5.6が提供され続けますので、使えていました。
次のCentOS7サポート期限切れの2024年6月になる前に、今回の話があり別のディストリビューションに切り替える事にしたとします。
その時に、PHP5.6はもうパッケージとして提供されておりません。PHP8.1以上が提供されている事でしょう。
PHP8.1に対応しているLaravelは8か9以上、かつ現時点でサポートしているバージョンとなると10以上になるわけですが、5から10以上に上げるのは1つづつバージョンを上げるとか、公式が提示した内容にしたがい作業を行う必要があります。
もしこれを1つづつきちんと行うと、それに紐づくOSのバージョンアップもチマチマ行わないといけないので‥はい、とっても面倒な作業になります。
面倒ってことはお金も時間もかかるという事です。
先の延長サポートも、結局はいつかは期限が切れる事でしょうから、だったら早い段階でバージョンアップに対応したプログラムの書き換えなどした方が良い事でしょう。
オススメは正直しませんが、対応せず使い続ける、という選択肢もあります。
他システムとセキュアな通信をしない、他システムや利用者がすべてクローズド(オープンなシステムではなく第三者が使える状態になっていない)、というものであればそういう選択肢もアリです。
但し今度はそれがレガシーシステムと呼ばれるようになり、そのうち対応できるエンジニアがいなくなる、という事にもなりかねません。PHP4とPHP5でも結構な違いがあり、今更PHP4で開発、修正してほしい、と言われても大抵のエンジニアはNo!といいそうですよね(笑)
もう1つ、パッケージありきの話をしていましたが、ソースコードからビルド(コンパイル)するという方法もあります。
最近はめっきり行われなくなりましたが、実際可能な方法ではあります。そうすればディストリビューション関係なく、自前でミドルウェアなどのパッケージも入れられますし、何ならLinuxカーネルもビルドできてしまいますから、ディストリビューションに縛られる、という事もなくなります。
ただ、ここまで出来るエンジニアはこのご時世、そうそういないでしょうね。
いたとしてもビルド作業はかなり面倒ですから、私も正直やりたくありません。
システムのアップデートはこまめが一番‥なんだけど
最後、CentOS7の話から外れてしまいますが、一応きれいごとでまとめと、言える事はこうです。
「こういう問題が起きる前からこまめにアップデートできる体制にしましょう」
もっともこれはエンジニアの立場で言う正論であり、また今回お伝えした事を重々承知のうえで事業計画立てている方であれば、あえて言う内容ではありません。
サービス立ち上げ時にそういう問題を知らずに始めちゃった、という事業者さんが今こういう問題に直面しているわけですから、そういう人たちにこのような正論を言っても始まりません。
本当にケースバイケースなので、正論以外の方法で解決できる方法があるのかどうかは分かりませんが、そう言ったご相談に乗る事はしたいと思っています。
IT相談役始めました
当社では、システム開発やサイト制作以外にも、システムにまつわる様々な相談をお受けしております。
・システム導入を検討しているが、ITに詳しい人間が社内にいないから判断がつかない。
・システム業者、ウェブサイト制作業者の言っている事が正しいかどうかわからない。
システムにまつわる様々な相談を毎月のサブスクリプション契約でお受けするサービスです。
最初は単発で相談をいただいていましたが、問題になる前に解決出来た方がよく。
そのためには継続した関りが必要なので、毎月のサブスクリプション契約としました。
気軽に相談できる環境が良いと思い、月1万円で行っております。
初回のご相談は無料ですので、お気軽にお問合せ下さい。