ちょっと話題の記事

Amazon Linux 2022 (プレビュー)の RC 版がリリースされました

Amazon Linux 2022 のプレビュー版に関する小ネタです。
2022.07.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

本記事の執筆時点 (2022年7月) では Amazon Linux 2022 はプレビュー版です。

(2022年12月13日追記)
Amazon Linux 2 のサポート期限が延長されました。

(2023年3月16日追記)
ついに、Amazon Linux 2023 が GA されました!

はじめに

Amazon Linux 2 が 2024 2025 年 6 月 30 日にサポート期限を迎えるということで、OS 移行の検討や準備をされている方も多いかと思います。筆者自身の Amazon Linux 2 との関わりは、ふだん意識する機会はないものの、チームのツールで使っているので移行は他人事ではない、といったところです。今回は心の準備がてら、移行先候補の 1 つであろう Amazon Linux 2022 について調べたことを書いていきたいと思います。

GA はいつ?

AWS 公式に以下の記載があります。

Q: Amazon Linux 2022 (AL2022) の一般提供 (GA) はいつになりますか?
テスト用の AL2022 のリリース候補は、2022 年 7 月末に利用できる予定です。AL2022 GA バージョンは、その数か月後に提供されます。

予定通りにいけば下図のイメージでしょうか。
(2022年12月13日追記) 大事なことなので 2 度書きますが、Amazon Linux 2 のサポート期限が 2025 年 6 月 30 日まで延長されました。
そして本日、リリース候補となる最新のプレビュー版が公開されていました。

This release represents the initial Release Candidate (RC0) for Amazon Linux 2022 (AL2022). A release candidate is a GA-like distribution (the feature set is frozen, and no major changes are expected between the Release Candidate and the Generally Available version) that will only receive patches and bug fixes leading to the AL2022 Generally Available release, with very few other changes. The Release Candidate is not recommended for production workloads and is intended only for testing purposes and to help you prepare for migration to Amazon Linux 2022.

(機械翻訳)
このリリースは、Amazon Linux 2022(AL2022)の最初のリリース候補(RC0)を表しています。リリース候補はGAのようなディストリビューションであり(機能セットは凍結されており、リリース候補と一般提供バージョンの間で大きな変更は予想されません)、AL2022一般提供リリースにつながるパッチとバグ修正のみを受け取ります。他のいくつかの変更。リリース候補は、本番ワークロードには推奨されておらず、テスト目的およびAmazonLinux2022への移行の準備を支援することのみを目的としています。

ロードマップやリリースノートを見れば、GA までの変更予定を伺い知ることができます。定期的にウォッチするなら AWS 公式ドキュメント(英語) か Github がよいでしょう。

参考

Fedora、CentOS、RHELとの関係は?

AWS 公式に以下の記載があります。

The Generally Available (GA) version of Amazon Linux 2022 isn't directly comparable to any specific Fedora release. The Amazon Linux 2022 GA version includes components from Fedora 34, 35, and 36. Some of the components are the same as the components in Fedora and some are modified. Other components more closely resemble the components in CentOS 9 Streams or were developed independently. The Amazon Linux kernel is sourced from the long-term support options that are on kernel.org, chosen independently from Fedora.

(機械翻訳)
Amazon Linux 2022の一般提供(GA)バージョンは、特定のFedoraリリースと直接比較することはできません。Amazon Linux 2022 GAバージョンには、Fedora 34、35、および36のコンポーネントが含まれています。一部のコンポーネントはFedoraのコンポーネントと同じであり、一部は変更されています。他のコンポーネントは、CentOS 9 Streamsのコンポーネントにより類似しているか、独自に開発されました。Amazon Linuxカーネルは、Fedoraとは独立して選択されたkernel.orgにある長期サポートオプションから供給されます。

実際はこんな単純ではないかもしれませんが、ご参考程度に仲間分けしてみました。

Fedora 12,13 CentOS 6 RHEL 6 Amazon Linux
Fedora 19,20 CentOS 7 RHEL 7 Amazon Linux 2
Fedora 28 CentOS 8 RHEL 8 -
Fedora 34 CentOS Stream RHEL 9 -
Fedora 34,35,36 - - Amazon Linux 2022 (Preview/GA)

Fedora はコミュニティベースで革新性を重視しているプロジェクトであるため、今回 Amazon Linux 2022 が RHEL ベースから Fedora ベースになったことで安定性に関する議論もあるようです。サーバーの用途などにもよると思いますが、商用実績を拠り所にしたい場合は大きなポイントになるかもしれません(現時点では)。

参考

Amazon Linux 2 からどう変わる?

AWS 公式の以下の比較記事が参考になります。

EC2 を起動して中身を覗いてみました。下図 20220728 のものが RC0 版 AMI です。

気づいた点を小ネタとして挙げます。

小ネタ1

Amazon Linux 2 にはなかった dnf が採用されています。dnf は yum の後継コマンドであり、yum よりパフォーマンスやメモリ効率がよいとかで Fedora 18 あたりから実装されているようです。dnf コマンドのパラメータは yum と互換性があります。yum コマンドは互換性のためにガワだけ残して裏では dnf が動いてる感じです。

小ネタ2

AWS CLI v2 は最初からインストールされていました。

$ aws --version
aws-cli/2.7.8 Python/3.9.13 Linux/5.15.54-25.126.amzn2022.x86_64 source/x86_64.amzn.2022 prompt/off

SSM エージェントは直近 (2022.07.19) でリリースされたためか分かりませんが、パッケージは存在するもののインストールはされていませんでした。

$ dnf list installed amazon-ssm-agent
Error: No matching Packages to list

$ dnf info amazon-ssm-agent
Last metadata expiration check: 0:12:30 ago on Fri 29 Jul 2022 04:28:30 AM UTC.
Available Packages
Name : amazon-ssm-agent
Version : 3.1.1575.0
Release : 1.amzn2022
Architecture : x86_64
Size : 24 M
Source : amazon-ssm-agent-3.1.1575.0-1.amzn2022.src.rpm
Repository : amazonlinux
Summary : Manage EC2 Instances using SSM APIs
URL : http://docs.aws.amazon.com/ssm/latest/APIReference/Welcome.html
License : ASL 2.0
Description : This package provides Amazon SSM Agent for managing EC2 Instances using SSM APIs

(2023年3月16日追記)
SSM エージェントは Amazon Linux 2023 の default 版 AMI ではインストールされていました。

小ネタ3

言語のバージョンをいくつか調べてみました。Java に関しては リリースノート で謳われている通り、Corretto がデフォルトになっています。

ruby 3.1.2
php 8.1.7
python 3.9.13
golang 1.18.3
Corretto 1.8.0

小ネタ4

AWS CLI v1 と古い CloudWatch Logs エージェント(awslogs)は退役済みでした。

おわりに

Amazon Linux 2022 の RC 版が出たということで、まだ先だと思っていた移行も少し現実味が増してきました。 今後も不定期にウォッチなり試すなりして、何か移行に役立ちそうな情報があれば記事にしたいと思います。