AWSからAmazon Linux 2027のパブリックプレビューが公開されました。
名前は2027ですが、プレビューの公開日は2026年9月3日です。
Amazon Linux 2023はこのブログでもたびたび登場し、今でもかなりお世話になってます。
- [AWS EC2]Amazon Linux 2023にCrontabをインストールする
- Amazon Linux 2023にPHP Sodium拡張をインストールする方法
- [AWS EC2]Amazon Linux2023にcomposerをインストールする
- [AWS EC2] Amazon Linux2023にNginx+php-fpm(PHP8.2)+HTTP/2の環境を構築する
今回はAmazon Linux 2027が登場した背景と、Amazon Linux 2023から変わる点を調べました。最後に、公開されたコンテナイメージも動かしてみます。
Amazon Linux 2027とは
Amazon Linux 2027は、AWSが提供するLinuxの次期バージョンです。Amazon Linux 2023を土台に、セキュリティ、開発環境、対応するCPUなどが更新されています。
2026年9月時点では、まだパブリックプレビューです。
AWSも評価とテストだけに使うよう案内しており、本番環境での利用は推奨していません。
プレビュー用のAMIは、すべての商用AWSリージョンで公開されています。x86-64とArmの両方があり、Amazon ECR Publicではコンテナイメージも取得できます。
なぜ今、次のAmazon Linuxが出てきたのか
Amazon Linux 2023の標準サポートは、2027年6月30日に終了する予定です。その後も2029年6月30日まではメンテナンスが続きますが、新機能が追加される期間は終わります。
そこで、次の世代になるAmazon Linux 2027のプレビューが先に始まりました。
プレビューは完成版を早く使うためというより、いま動いているアプリケーションや構築手順が次のOSでも動くか確かめる期間のようです。
AWSのFAQには、次のような確認対象が挙げられています。
- Webアプリケーションやデータベース
- Dockerなどのコンテナ環境
- Python、Node.js、Java、Goなどで作られたアプリケーション
- Terraform、CloudFormation、CDKなどの構築手順
- CI/CDや独自AMIの作成処理
- パッケージをインストールするスクリプト
一般提供が始まると、プレビューAMIは更新されなくなります。プレビューで作ったサーバーを、そのまま本番へ持っていくものではないようです。
AL2023から変わるもの
AWSが公開しているAL2023とAL2027の比較から、目についた変更を並べました。
| 項目 | Amazon Linux 2023 | Amazon Linux 2027 |
|---|---|---|
| SELinux | Permissive | Enforcing |
| Linuxカーネル | 6.1が標準、6.12と6.18も提供 | 7.1 |
| GCC | 11.5 | 16.1 |
| glibc | 2.34 | 2.44 |
| LLVM/Clang | 15、18、19 | 22 |
| systemd | 252 | 260 |
| RPM | 4.16 | 6.0 |
| DNF | 4.14 | 5.4 |
| Python | 3.9 | 3.14 |
| zlib | 1.2.11 | zlib-ng 2.3 |
| 正規表現ライブラリ | PCREとPCRE2 | PCRE2のみ |
カーネルやパッケージがバージョンアップしています。
SELinuxが最初から制限をかける
一番大きく変更された点は、SELinuxの初期設定です。
SELinuxは、プログラムがアクセスできるファイルや通信先などを制限する仕組みです。OS関連のハマり記事やAIの回答にはSELinuxをdisableにせよ、とも書いてあります。
Amazon Linux 2023の初期設定はPermissiveでした。この状態では、ルールに違反した操作を記録しますが、実際の操作は止めません。
Amazon Linux 2027ではEnforcingへ変わります。こちらは、ルールに違反した操作を実際に止めます。
Permissive
- ルール違反をログへ記録する
- 操作は止めない
Enforcing
- ルール違反をログへ記録する
- 操作を止める
これまで動いていたWebサーバーやエージェントが、同じ設定では動かなくなる可能性があります。
セキュリティが強くなるのはうれしいですが、移行時には最初に確認したいところです。
古いCPUとの互換性より、新しいCPUを使う
Amazon Linux 2027のx86-64版は、x86-64-v3に対応したCPUを前提にビルドされています。
調べてみると、x86-64-v3ではAVXやAVX2など、比較的新しいCPUが持つ機能を利用できるようです。Amazon Linux 2023の基準はx86-64-v2でした。
対象を新しいCPUへ絞ることで、OSに含まれるプログラムもCPUの機能を使って処理しやすくなります。
一方で、古いEC2インスタンスタイプは対象外です。
AWSのドキュメントでは、c1、c3、i2、m1、m2、m3、r3、t1が非対応として挙げられています。Arm版もGraviton2以降が必要で、A1には対応しません。
かなり前のインスタンスが中心ですが、古い環境を長く使っている場合は確認が必要です。
Pythonが3.9から3.14になる
標準のpython3は、Python 3.9から3.14へ変わります。
4世代分を一気に飛び越えるため、Pythonを使っている環境では影響が出やすそうです。
OSへ直接インストールしたPythonパッケージだけでなく、構築スクリプトがpython3のバージョンを決め打ちしていないかも確認したほうがよさそうです。
CやC++のコンパイラーも、GCC 11.5から16.1へ変わります。
AWSによると、AL2023でコンパイルしたプログラムは基本的にAL2027でも動く一方、AL2027でコンパイルし直すと、GCC 16の厳しい初期設定によって新しい警告やエラーが出る可能性があります。
アプリケーションを動かす確認と、ソースコードから再ビルドする確認は分けたほうがよさそうです。
dnfとyumの中身がDNF5になる
パッケージ管理にはDNF5が使われます。
普段使う次のコマンドは、そのまま利用できるようです。
sudo dnf install パッケージ名
sudo dnf search パッケージ名
sudo dnf remove パッケージ名
sudo dnf upgradeyumコマンドもDNF5を呼び出します。いまだにyumと入力してしまいます。
そのため、手作業でパッケージを入れる範囲では、見た目はあまり変わりません。
影響が大きいのは、PythonからDNFを操作しているプログラムです。
AL2023にあったpython3-dnfは提供されません。import dnfを使っている場合は、python3-libdnf5への移行が必要です。
また、DNF4向けのプラグインも、そのままでは読み込まれません。独自のAMI作成処理やセットアップスクリプトを持っている場合は、DNF5への移行資料を確認したほうがよさそうです。
古い仕組みも整理される
systemdは252から260になります。
この変更に伴い、System V形式のサービススクリプトは利用できなくなりました。/etc/init.d/へスクリプトを置いて起動している古いアプリケーションは、systemdのUnitファイルへ移行する必要があります。
正規表現ライブラリのPCRE1も削除され、PCRE2だけになります。
また、従来のzlibは、互換性を持つzlib-ngへ置き換えられました。
普段は意識しない部分ですが、古いミドルウェアを持ち込むときに出てきそうな変更です。
AI向けにはAWS Neuronをサポート
Amazon Linux 2027は、AWS TrainiumとInferentiaで使うAWS Neuronのドライバーをサポートします。
TrainiumはAIモデルの学習、Inferentiaは推論を高速化するためにAWSが提供しているアクセラレーターです。
ただし、初期プレビューにはNVIDIAドライバーがありません。
AIや機械学習向けと書かれているからといって、現時点ですべてのGPU環境をすぐ試せるわけではない点には注意が必要です。
海外では性能面も注目されていた
Linux関連のニュースを扱うPhoronixでは、公開直後にAmazon Linux 2023と2027の性能比較が行われていました。
AMD EPYCを搭載したm8a.4xlargeで比較し、テスト全体の結果ではAL2027が上だったそうです。ただし、すべての処理が速くなったわけでもなさそうです。
Pythonや一部の暗号処理ではAL2027が速く、プログラムのコンパイルはAL2023が少し速い結果でした。llama.cppも大きな差はなく、一部ではAL2023が上回っています。
新しいOSだから何でも高速になる、という単純な話ではなさそうです。
また、海外のAWSコミュニティでは、AL2023からAL2027へその場でアップグレードできるのか、という疑問も出ていました。
AWSのドキュメントでは、AL2023からAL2027のようなメジャーバージョン移行について、新しい環境でアプリケーションをテストするよう案内しています。
クラウドでは新しいAMIからインスタンスを作り直せますが、実際には簡単に交換できないサーバーもあります。今のうちに移行方法を考えておく必要がありそうです。
コンテナイメージを動かしてみる
まずは、Amazon ECR Publicに公開されているコンテナイメージをMacで動かして確認します。
docker pull public.ecr.aws/amazonlinux/amazonlinux:2027取得したイメージでシェルを起動します。
docker run --rm -it public.ecr.aws/amazonlinux/amazonlinux:2027 bash
OSと主要なツールのバージョンを確認します。
cat /etc/os-release
MacのDockerコンテナは、Docker Desktopが動かすLinux仮想マシンのカーネルを共有します。そのため、Amazon Linux 2027のカーネル7.1やSELinuxの初期状態までは確認できません。
この2つを確認する場合は、プレビューAMIからEC2を起動する必要があります。
プレビューで試せないものもある
2026年9月時点では、次の制限が案内されています。
- 本番環境での利用は推奨されていない
- NVIDIAドライバーが提供されていない
- Hyper-V、KVM、VMware向けのオンプレミス用イメージがない
- SSM Patch Managerによるパッチ適用が動作しない
- FIPS検証済みのカーネルと暗号モジュールがない
- 未修正の脆弱性がプレビュー成果物に残る可能性がある
特にSSM Patch Managerを使っている環境は、現在の運用をそのまま持ち込めません。
プレビュー中の更新もあるため、試す直前に既知の問題と制限を確認したほうがよさそうです。
調べてみて
新しい機能を増やすだけでなく、古いCPUや仕組みとの互換性を整理する世代でもあるようです。
まだプレビューなので、いま本番環境を移行する必要はありません。むしろ、既存のアプリケーションや構築スクリプトがどこで止まるのかを確認し、AWSへフィードバックするための期間だと思います。
移行に備えましょう!
参考
- Amazon Linux 2027 is now available in public preview
- Amazon Linux 2027
- Comparing AL2023 and AL2027
- AL2027 system requirements
- Migrating to DNF5
- Known issues and preview limitations
- Amazon Linux 2027 Shows Off Nice Performance Gains On AMD EPYC In The AWS Cloud
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK