AlmaLinux 9とAmazon Linux 2023の雑感~サーバー構築の観点で
はじめに
先日、AWS環境で、AlmaLinux 9と、Amazon Linux 2023を使用してみました。
ふだん Rocky Linux 8 や、Amazon Linux 2でWeb+DBサーバーを構築しているのと同じように、ひととおりのソフトウェアのインストール、設定を行ってみました。
- OS基本設定、セキュリティ設定(SSH, nftables, タイムゾーン, スワップなど)
- Apache
- PHP
- MySQL
- Postfix
- FTP (vsftpd)
- Let’s Encryptクライアント certbot
あくまでも、「サーバーを構築するうえでの」雑感をまとめます。
設定手順は記載しません。
AlmaLinux 9の雑感
AlmaLinux 9 は、RedHat Enterprise Linux 9 (RHEL9) の調査となります。
本当は、同じ RHEL 9系の Rocky Linux 9 を使いたかったのですが、AWSでは、Rocky Linux 8/9 の公式AMIは t2/t3 mircoインスタンスに非対応のため断念して、AlmaLinux 9 としました。
※Rocky Linux 8/9 が無料利用枠で使用できるインタンスタイプに非対応なのは、普及させるうえでは残念で、もったいないと思います。
AlmaLinux 9 については、
SELinuxがデフォルトで有効でなっている他は、RHEL 8系とは大きな違いは感じませんでした。
SELINUXの採用可否を除けば、CentOS 7 から CentOS 8 への変更よりも、影響が少ない印象です。
(AWS EC2向けのAMIで、カスタマイズされている可能性はあります。)
EPEL、Remiリポジトリが使用でき、ソフトウェア構成の自由度が高いです。
(2024.7.26追記)
実際にAlmaLinux 9サーバーを運用して気づいたのですが、
ログローテートの実行時刻が、RHEL 8系はランダム(cronie-anacronの場合)または4時02分(cronie-noanacronの場合)でしたが、RHEL 9系は0時00分となり、扱いやすくなりました。
これは、ログローテートが、cronではなくsystemdの timer unit で制御されるようになったためです。
(参考)
・RHEL9ではlogrotateがanacronではなくsystemdのtimer unitで制御されている話。- 協栄情報ブログ
https://cloud5.jp/logrotate-timer/
例えば、日次のバッチ処理等でログファイルの解析処理をするようなケースでは、以前のバッチ処理の修正など、少し注意が必要です。
(2024.7.26追記ここまで)
Amazon Linux 2023の雑感
Amazon Linux 2023 については、Amazon Linux 2 と比べて、以下の大きな違いがありました。
- rsyslog, crondがデフォルトでインストールされていない。(インストールすれば使用できる。)
- サードパーティのリポジトリが使用できない(ようだ)。
- EPEL、Remiリポジトリが使用できない。
- リポジトリにMySQLが存在せず、MySQL公式リポジトリが使用できない。(MariaDBはインストールできる。)
- PHPは、8.1, 8.2 のみインストールできる。
これら以外の大きな違いは感じませんでした。
サードパーティのリポジトリを使用できず、MySQLはMariaDBでもいいとして、EPEL、Remiリポジトリが使用できないのは痛いです。
amazon-linux-extras も用意されていないため、パッケージインストール可能なソフトウェアはある程度限られます。
個人的には、ディスク使用量確認ツール ncdu をインストールできないのも痛いです。
(2024.7.26追記)
Amazon Linux 2023のログローテートの実行時刻も、AlmaLinux 9同様に、0時00分となりました。
(2024.7.26追記ここまで)
AWSで、AlmaLinux 9とAmazon Linux 2023、どちらを選ぶ?
Amazon Linux 2023 は、ソフトウェア構成の自由度が低いと思います。
もちろん、ソースからビルド・インストールしたり、RPMパッケージを自分で作成すればよいのですが、そのような手間をかけてまで、得られるメリットがあるかどうか。
サポート期限を比べてみると、、
OS | サポート期限 | 参考 |
AlmaLinux 9 | 2032年 (リリースから10年) |
https://wiki.almalinux.org/FAQ.html |
AlmaLinux 8 | 2029年 (リリースから10年) |
https://wiki.almalinux.org/FAQ.html |
Amazon Linux 2023 | 2028年 (リリースから5年) |
https://docs.aws.amazon.com/linux/al2023/ug/release-cadence.html |
Amazon Linux 2023 のサポート期間は、AlmaLinux 9 どころか、AlmaLinux 8 よりも短いです。
「OSは5年ぐらいのスパンで更新したほうがいいよ」というメッセージともいえるでしょう。
以上を鑑みると、個人的には、自分で選べるなら、Amazon Linux 2023 ではなく、AlmaLinux 9 や Rocky Linux 9 を選択します。
※もちろん、お客様のご要望で、Amazon Linux 2023 を採用・構築することもあるでしょう。AWS向けに最適化されているのでパフォーマンスがよい(はず)という考え方もありますね。
※Amazon Linux 2023 のサポートは、延長される可能性があります。また、AlmaLinux 9 のサポートが短縮される可能性も、ゼロではありません。
※AlmaLinux 9 のソフトウェアについては、すべてが2032年までサポートされるわけではありません。ですが、ソフトウェアサポートが終了する前に、新しいバージョンがインストールできるようになるでしょう。AlmaLinux 9 のベースとなる RHEL 9 のソフトウェアパッケージのサポート期限はこちらを参照してください。
・Red Hat Enterprise Linux Application Streams Life Cycle
https://access.redhat.com/support/policy/updates/rhel-app-streams-life-cycle
(2024.7.26追記)
2024年7月時点では、脅威検出サービス「GuardDuty Runtime Monitoring for Amazon EC2」は、AlmaLinux 9は非対応となっています。
今後遅れて対応されるかもしれませんが、このようなAWSの一部機能は、最初にAmazon Linuxのみ対応する場合があるので、そういった面を気にされる方は、Amazon Linux 2023を採用するとよいでしょう。
(2024.7.26追記ここまで)
おわりに
AWS環境で、AlmaLinux 9 と、Amazon Linux 2023 を使用してみた雑感をまとめました。
個人的には、「Amazon Linux 2023 よりも AlmaLinux 9, Rocky Linux 9 を採用したい」と感じましたが、サーバーの使用用途、期間によって変わってくるでしょうし、Amazon Linux 2023 でも、いずれ、サードパーティリポジトリの使用が可能となるかもしれません。
(関連記事)
・CentOS 8のWebサーバー構築に関わる変更点
https://inaba-serverdesign.jp/blog/20191226/centos8.html