【OCI クラウド移行ガイド】CentOS linux7の後継OSをOracleCloudで稼働させる場合の選択肢を考えてみた～OS検討編～

# OCIクラウド移行ガイドとは
オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア（@araidon,@kazunishi,@yama6）による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。
まとめ記事は以下になります。

https://qiita.com/yama6/items/b197c0fe3ec75eb02637


# 移行したいサンプルワークロード
日々の業務でよく目にするサービスを中心に、サンプルワークロードとしてまとめてみました。このシリーズでは、主にAWSからの移行を取り上げます。
このワークロードは、ユーザがログインして、Web上で写真を共有するWebサービスをイメージしています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/5d657078-030c-a277-544e-eebe031c74cf.png)

# 移行するサービス：EC2 (CentOS Linux7)
CentOS Linux 7 を使用している場合、セキュリティの更新、パッチ、新機能の提供を受け続けるためには、2024 年 6 月 30 日までに新しいオペレーティングシステムに移行する必要があります。 
EOL 後は重大な脆弱性が発見されても修正パッチ等は提供されないため、OS移行を検討せず、そのままの環境を使い続けることは大変危険な状況となります。
（今回はAWSの移行というよりは）CentOS Linux7の移行先のOSとしてどういったものがあるのか自分なりに調べてみました。

# CentOSの提供バージョンとサポート期限
まず最初に今回のトピック元であるCentOSの各種バージョンとサポート期限をまとめてみました。

|OS種|サポート期限|
|---|---|
|CentOS Linux 7|2023/6/30|利用可能|
|CentOS Linux 8|2021/12/31|
|CentOS Linux 9|リリースされない|
|CentOS Stream 8|2024/5/31|
|CentOS Stream 9|2027/5/31|

# CentOS Linux7サポート切れの対応方法
CentOS Linux7サポート切れの対応方法としてどのような手段が考えられるかまとめてみました。
今回は以下4パターンを検討/調査してみました。
　①CentOS Streamへの移行
　②RHEL（有償）への移行
　③CentOS代替OS（無償）への移行
　④延長サポート

## ①CentOS Streamへの移行
第一候補としてあがるのがCentOS Streamバージョンへの移行ではないでしょうか。
CentOSはこれまで、RHELがテストを行い、安定版としてリリースした機能を無償利用できるというメリットを持っていました。
つまり「CentOS=RHELの安定版クローン」であったわけです。これがCentOSの最大のメリットなのではと個人的に思っています。
しかし、CentOS Streamは従来のCentOSと異なりREHLの安定板のクローンという位置づけではありません。
CentOS Streamは、RHELがリリースされる前にマイナーアップデートに更新されるパッチなどを検証するために利用されるOSであり、従来のREHLの安定板クローンとは呼べなくなります。
その分、脆弱性対応や機能追加はRHELよりも先に行われるメリットなどはありますが、あくまでもREHLの完全代替えにはなり得ないので従来のOS運用とは異なる可能性は大きいです。

もちろんOracle Cloudで利用は可能ですが、他のパターンも調査してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/75d22773-2a47-78a4-4435-450af974b687.png)

## ②RHEL（有償）への移行
CentOS Streamへの移行が難しいと判断した場合、REHLへの移行も視野に入ります。
CentOSはあくまでも「CentOS=RHELの安定版クローン」という図式な訳でREHLを使えば何も問題ありません。
REHLからは["Convert2RHEL"](https://www.redhat.com/ja/technologies/linux-platforms/enterprise-linux/migration-process/convert2rhel-how-to-convert-from-centos-linux-to-red-hat-enterprise-linux)というCentOS or Oracle Linuxからの移行ツール等も提供されております。
もちろんこれまで無償利用していたOSが有償になるのは痛手になりますが、その分システムの安定運用も可能かと推測できます。

Oracle CloudでもRed HatのサイトからRed Hat Enterprise Linux (RHEL)イメージをダウンロードし、カスタム・イメージとしてOCIにインポートすることで利用が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/e556961f-dab9-fd2a-5607-8cbff2b2e081.png)

## ③CentOS代替OS（無償）への移行
結論、多くのCentOSユーザが検討するのが無償版のCentOS代替OSでしょう。
調べてみるとCentOSの移行先OSとして様々なものが出てきます。
今回はそれらの特徴とサポート期限などを簡単にまとめてみます。

### [Oracle Linux](https://www.oracle.com/jp/linux/)
その名の通り、Oracle社が提供しているRed Hat Enterprise Linux(RHEL)をベースとしたLinuxディストリビューションです。
無償のRHELクローン、RHELと同等の期間アップデートを利用可能、CentOS Linux環境からOracle Linuxに切り替えるツールを提供されています。
筆者も実際に[Oracle Linuxへの切り替えツールを使ってみました](https://qiita.com/kazunishi/items/b5f44c4926bcfc018a83)が非常に簡単でした。
なお、有償のPremier Supportもありますが、Oracle Cloud上で構築した場合は無償でPremier Supportがついてくるのが非常に大きなメリットです。
CentOSのOS移行を機にクラウドリフトも検討する場合は、OracleCloud & Oracle Linuxの組み合わせは非常に有効な可能性があります。

|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|Oracle Linux 7|2024/7/31|利用可能|
|Oracle Linux 8|2029/7/31|利用可能|
|Oracle Linux 9|2032/7/31|利用可能|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/15399b6d-e02f-cc6e-c7e7-96d86561e2e1.png)

### [AlmaLinux](https://www.designet.co.jp/system/oss.php?category=server&id=17&oss=AlmaLinux)
AlmaLinuxとは、CloudLinux社が主導して開発している無償利用可能なRHELクローンです。
無償のRHELクローン、CentOSと同等以上の提供速度、Almaプロジェクトの円滑な運営などが特徴です。
リリース速度やクラウドでの稼働実績などから第一候補にあがるOSです。
もちろんOracleCloudでもサポートされているOSです。

|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|AlmaLinux 8|2029/5/31|利用可能|
|AlmaLinux 9|2032/5/31|利用可能|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/51613ec3-68b3-9b61-3063-adeb868be2e1.png)


(参考)AlmaLinuxのクラウドプロバイダー向けに公式イメージを提供状況
　Amazon AWS
　Generic Cloud
　Google Cloud
　Microsoft Azure
　OpenNebula
　Oracle Cloud Infrastructure

### [Rocky Linux](https://rockylinux.org/ja/)
Rocky Linuxとは、CentOSプロジェクトの創設者であるGregory Kurtzer氏が中心となって開発されたLinuxディストリビューションです。
無償のRHELクローン、RHELと100%の互換性、CentOS同様のコミュニティ主導による完全無料のOS、CentOS 8からの移行ツール（migrate2rocky）の提供などが特徴です。
特に公式で「バグをも含めて100%の互換性」と謳うほど、RHELとの完全な互換性を強調しているポイントはCentOSからの移行という観点ではすごく有効な謳い文句だと思います。
こちらもOracleCloudでもサポートされているOSです。

|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|Rocky Linux8|2029/5/31|利用可能|
|Rocky Linux9|2032/5/31|利用可能|

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2471135/2f1d1a61-6d69-f0c7-89e8-b271060e8ae3.png)

### [MIRACLE LINUX](https://www.miraclelinux.com/)
MIRACLE LINUXはサイバートラスト株式会社が提供するRHEL互換でライセンスフリーのOSです。
純粋なRHELクローンのため、パッケージの種類やバージョンは基本的にAlmaLinuxやRockyLinuxなどのRHELクローンと同じという特徴を持っています。
他にもサポート期間については、無償利用時は10年、有償サポートを受ける場合は12年と延長することが可能なことも特徴の1つです。
また日本企業であるサイバートラスト社が開発しているためサポートも日本語で受けることができます。
クラウドサポート状況は2023年10月時点ではAWSとAzure上でマーケットプレイスで提供されているようです。
残念ながらOracle Cloudでは現時点では利用不可ですが、近い将来提供され、選択肢が増えればいいなと思います。

|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|MIRACLE LINUX 8|2030/5/31|利用不可|
|MIRACLE LINUX 9|2032/11/30|利用不可|

余談ですが、Cent OS8からMiracle Linuxの[移行ツール](https://www.cybertrust.co.jp/miraclelinux-license-free/docs/ml84-migrationtool-manual.pdf)を提供されております。

### [Amazon Linux](https://aws.amazon.com/jp/amazon-linux-2/?amazon-linux-whats-new.sort-by=item.additionalFields.postDateTime&amazon-linux-whats-new.sort-order=desc)
Amazon Linuxはその名の通り、AWSが提供する Linux OSです。
AWSを使うなら必須のAWS製品（AWS CLIやSSM Agent）がデフォルトでインストールされているなど、AWS向けにカスタマイズされたOSです。
Amazon Linux2はKVM、Microsoft Hyper-V、Oracle VM VirtualBox、VMware ESXi の各仮想化プラットフォームで利用可能となっており、AWS外でも稼働は可能です。
残念ながらOracleCloud上では稼働できないOSとなっており、基盤を選んでしまうのがデメリットのと言えるかもしれません。
CentOSからの移行という観点では、AWSにシステムをクラウドリフト＋Amazon Linuxへの移行するケースであれば十分に考え得る選択肢かと思います。

|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|Amazon Linux1|2023/12/31|利用不可|
|Amazon Linux2|2025/6/30|利用不可|
|Amazon Linux2023|2028/3/15|利用不可|

## ④延長サポート
OSに限らず、ソフトウェアやハードウェア含め、延長サポートによる延命措置というのは往々にして取られる手段かと思います。
CentOS Linux7の場合でもいくつか延長サポートをする企業があるようなのでまとめてみました。
OS移行するまで時間がない場合の延命措置として検討してみるのはいかがでしょうか。
簡単に調べただけでいくつか出てきたので、利用している基盤提供会社に連絡すれば何かしたの提案を受けられるかもしれませんね。

[サイバートラスト社によるCentOS 7 延長サポート](https://www.cybertrust.co.jp/centos/centos-support-lite.html)

[ベアケアによるCentOS 7 延長サポート](https://barecare.jp/lp/centos7_support.html)

[日本RA株式会社によるCentOS 7 延長サポート](https://www.nrapki.jp/service/centos/)

# まとめ
今回はCentOS Linux7のEOL後の後継OSについて調べてみました。
有償のREHLや無償であれば複数のOSを選択することが可能でした。
筆者的にはアプリケーションの稼働が問題ないのであればどのOSでも問題ないのではと感じました。
Oracle Cloud上で利用するとなると推奨自体はOracle Linuxがいいのではないかと思いますが、
オンプレミスや他クラウド含めてOS統一する場合はAlmaLinux or Rocky Linuxから後継OSを選択するのがいいかもしれませんね。
この記事がCentOS Linux7の後継OS選択の一助になれば幸いです。

# 各OSのサポート期限まとめ
|OS種|サポート期限|OracleCloud上での利用可否|
|---|---|---|
|Oracle Linux 7|2024/7/31|利用可能|
|Oracle Linux 8|2029/7/31|利用可能|
|Oracle Linux 9|2032/7/31|利用可能|
|AlmaLinux 8|2029/5/31|利用可能|
|AlmaLinux 9|2032/5/31|利用可能|
|Rocky Linux8|2029/5/31|利用可能|
|Rocky Linux9|2032/5/31|利用可能|
|MIRACLE LINUX 8|2030/5/31|利用不可|
|MIRACLE LINUX 9|2032/11/30|利用不可|
|Amazon Linux1|2023/12/31|利用不可|
|Amazon Linux2|2025/6/30|利用不可|
|Amazon Linux2023|2028/3/15|利用不可|