Amazon Linux 2023 移行について

GMO NIKKOのN.I.です。

今回は弊社サービスのwordpressサーバーをamazon linux2 (AL2) からamazon linux 2023 (AL2023) に移行したので、AL2との違い等、移行内容についてまとめて記載します。
移行では下記ページを参考にしました。
AL2 と AL2023 の比較 – Amazon Linux 2023

Amazon Linux 2 (AL2) と Amazon Linux 2023 (AL2023)

Amazon Linux 2 (AL2) と Amazon Linux 2023 (AL2023) の主な違いを以下の表にまとめました。
作成時にここが困ったという点を記載していきたいと思います。

項目Amazon Linux 2 (AL2)Amazon Linux 2023 (AL2023)
サポート期間2025年6月まで5年間
(現状2028年3月15日まで)
パッケージマネージャーYUMDNF
セキュリティ更新cloud-initでセキュリティ更新をデフォルトでインストールデフォルトではセキュリティ更新をインストールしない
ベースOSCentOS 7?Fedora 34、35、36
ジョブスケジューラcronsystemd
ログ管理rsyslogjournalctl
セキュリティSELinuxサポートなし
( disabled )
SELinuxサポートあり
( enabled / permissive )
sshd ホストキーの種類変更ssh-rsa有効ssh-rsa無効
TMP領域/dev/nvme0n1p1等 (EBS(ディスク))に作成/tmpfs (インメモリファイルシステム)に作成

パッケージマネージャー/セキュリティ更新 について

AL2023ではyumからdnfに変更されています。例えばnginxをインストールするときは、下記コマンドになります。

yum から dnfに変わっただけなのでこれは問題ないですが、デフォルトではセキュリティー更新をインストールしない為下記コマンドはupdateが起こらず何もインストールされないみたいです。
dnf upgrade –releasever=2023.6.20241121 等upgradeコマンドでリリースバージョンを指定すると更新されました。また、いまのところは1カ月に2~3回くらいの頻度で更新が入るようです。
また、常に最新にしたい場合は dnf upgrade –releasever=latest を実行できます。

 

ベースOSについて

AL2023のベースOSがFedoraに変更になっています。その為AL2で利用出来たEPELレポジトリが利用出来ません。PHP、MySQL等はamazonデフォルトのレポジトリからインストール出来るので困ることは無いですが、マイナーのパッケージをインストールする時に困ると思います。幸いfedoraのレポジトリをインストールすることは出来るので、fedora 36のレポジトリを追加しておくといいと思います。
弊社環境ではlsyncdをfedora 36のレポジトリからインストールしました。fedoraでも見つからない場合はmake installによるソースインストールが必要になるかもしれないです。

ジョブスケジューラについて

AL2023ではcronがインストールされていません。移行にあたりジョブ管理をcronをインストールしてそのまま移行するか、systemdでサービス化するか、Rundeckに変更してしまうか検討しましたが、一旦そのままcronをインストールして移行することにしました。下記コマンドでインストール出来ます。こちらは問題なく移行出来ました。

ログ管理について

AL2023ではrsyslogがインストールされていません。journalctlではなく今まで通り別ファイルでログを出力してログローテーションしたい場合はインストールした方がいいと思います。

セキュリティ(SELinux)について

SELinuxはdisabledからenabled(permissive) にデフォルト設定が変更されています。特にアクセス拒否とかは無いため設定は変更する必要無いと思いますが、デフォルトが変わったので注意が必要かもしれません。

sshd ホストキーの種類変更について

旧サーバーから新サーバーにユーザー情報、公開鍵情報をそのまま移設したところ一部ログインできない方が出ました。sshdホストキーでssh-rsaのキーが無効になっている為、対象者の方にrsa-sha2-256、rsa-sha2-512、ssh-ed25519のどれかで認証鍵を再作成して頂き公開鍵を再登録して解決しました。
SSH サーバーのデフォルト設定の変更 – Amazon Linux 2023

TMP領域について

AL2023ではTMP領域がディスクからインメモリーに変更になっており、正式に一時的な領域で再起動すると/tmpの中身が消去される形になりました。(/tmpの中身が消去されるのは他のLinuxOSと動作が一緒になっただけですが…)
また、ディスクサイズもt4g.nanoで210M、t4g.smallで924Mしか無く利用しにくくなりました。AL2から大きく変わっている為/tmpの運用に注意が必要です。
弊社ではサーバーからログファイルなどを作業PCに移動する場合に一時的にTMP領域 ( /tmp)にファイルをコピーしてからダウンロード等行っていましたが、/tmp から /mnt に一時フォルダを作り保存する形の運用に変更する予定です。

おわりに

AL2023の移行では上記に上げた点以外については旧サーバーはPHP7.4で運用していた為、wordpressのバージョンアップをしてphp8.3対応バージョンまでアップする必要が出ましたが、他に特に大きな問題もなく移設することが出来ました。これからAL2023に移設する方の参考になれば幸いです。