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日まで) |
パッケージマネージャー | YUM | DNF |
セキュリティ更新 | cloud-initでセキュリティ更新をデフォルトでインストール | デフォルトではセキュリティ更新をインストールしない |
ベースOS | CentOS 7? | Fedora 34、35、36 |
ジョブスケジューラ | cron | systemd |
ログ管理 | rsyslog | journalctl |
セキュリティ | SELinuxサポートなし ( disabled ) | SELinuxサポートあり ( enabled / permissive ) |
sshd ホストキーの種類変更 | ssh-rsa有効 | ssh-rsa無効 |
TMP領域 | /dev/nvme0n1p1等 (EBS(ディスク))に作成 | /tmpfs (インメモリファイルシステム)に作成 |
パッケージマネージャー/セキュリティ更新 について
AL2023ではyumからdnfに変更されています。例えばnginxをインストールするときは、下記コマンドになります。
1 |
sudo dnf install nginx |
yum から dnfに変わっただけなのでこれは問題ないですが、デフォルトではセキュリティー更新をインストールしない為下記コマンドはupdateが起こらず何もインストールされないみたいです。
dnf upgrade –releasever=2023.6.20241121 等upgradeコマンドでリリースバージョンを指定すると更新されました。また、いまのところは1カ月に2~3回くらいの頻度で更新が入るようです。
また、常に最新にしたい場合は dnf upgrade –releasever=latest を実行できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
sudo dnf update メタデータの期限切れの最終確認: 0:01:17 時間前の 2024年12月02日 15時10分16秒 に実施しました。 ================================================================================================WARNING: A newer release of "Amazon Linux" is available. Available Versions: Version 2023.6.20241111: Run the following command to upgrade to 2023.6.20241111: dnf upgrade --releasever=2023.6.20241111 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241111.html Version 2023.6.20241121: Run the following command to upgrade to 2023.6.20241121: dnf upgrade --releasever=2023.6.20241121 Release notes: https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241121.html ================================================================================================ |
ベースOSについて
AL2023のベースOSがFedoraに変更になっています。その為AL2で利用出来たEPELレポジトリが利用出来ません。PHP、MySQL等はamazonデフォルトのレポジトリからインストール出来るので困ることは無いですが、マイナーのパッケージをインストールする時に困ると思います。幸いfedoraのレポジトリをインストールすることは出来るので、fedora 36のレポジトリを追加しておくといいと思います。
弊社環境ではlsyncdをfedora 36のレポジトリからインストールしました。fedoraでも見つからない場合はmake installによるソースインストールが必要になるかもしれないです。
ジョブスケジューラについて
AL2023ではcronがインストールされていません。移行にあたりジョブ管理をcronをインストールしてそのまま移行するか、systemdでサービス化するか、Rundeckに変更してしまうか検討しましたが、一旦そのままcronをインストールして移行することにしました。下記コマンドでインストール出来ます。こちらは問題なく移行出来ました。
1 |
sudo dnf install cronie-noanacron |
ログ管理について
AL2023ではrsyslogがインストールされていません。journalctlではなく今まで通り別ファイルでログを出力してログローテーションしたい場合はインストールした方がいいと思います。
1 |
sudo dnf install rsyslog |
セキュリティ(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に移設する方の参考になれば幸いです。