皆さん、こんにちはこんばんは! サーバーワークスの新谷です。
AWS環境で Linux を使う場合、ライセンスが無料だったり、AWSサービスとの親和性が高かったりと便利な Amazon Linux ですが、
Amazon Linux 2 が2025年6月にサポート終了を迎えるため、これから構築するシステムでは 2023年3月15日にリリースされた Amazon Linux 2023 を選ぶことが増えると思われます。
バージョンアップによって使い勝手が色々変わった部分があるので、まとめておきたいと思います。
最初に全体まとめ
まずは、ざっくりとしたまとめです。 それぞれの詳細やエビデンスは、後述します。
# | 比較項目 | Amazon Linux 2 | Amazon Linux 2023 |
---|---|---|---|
1 | システムの最小要件 | vCPU :1 メモリ:512MB |
vCPU :1 メモリ:512MB |
2 | オンプレへの導入 | 可能 | 可能 |
3 | ライセンス費用 | 不要 | 不要 |
4 | サポート期限 | 2025年6月30日 | 2028年3月15日 |
5 | ベースOS | RedHat 7? | Fedora 34~36? |
6 | ログインユーザ名 | ec2-user | ec2-user |
7 | パッケージ管理 | yum(RPM) | dnf |
8 | タスクのスケジューリング | cronジョブ | systemd ※ cron はデフォルト無効 |
9 | ロギングシステム | Rsyslog ※ /var/log/messages 等 |
Journalctl |
10 | SSH サーバーのデフォルトキーペア設定 | ssh-rsa | rsa-sha2-256 rsa-sha2-512 |
11 | 最適化 | - | 最適化により、起動が早い |
12 | AWSサービスとの親和性 | cloudwatch-agent efs-utils ssm-agent amazon-corretto など、各種ソフトウェアが導入済 |
同左 ※ バージョンは更新 |
AWS公式ドキュメント
- Amazon Linux 2 と Amazon Linux 2023 の比較 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html
AL2 と AL2023 の違い
システム要件
OS | システム要件 | エビデンス |
---|---|---|
Amazon Linux 2 | 1 vCPU 512 MB メモリ |
よくある質問 - Amazon Linux 2 | AWS Q: Amazon Linux 2 を実行する最小システム要件はどのようなものですか? Amazon Linux 2 を実行するには、少なくとも 512 MB のメモリ、1 つの仮想 CPU、エミュレートされた BIOS を搭載した 64 ビット仮想マシンが必要です。 |
Amazon Linux 2023 | 1 vCPU 512 MB メモリ |
AL2023 システム要件 - Amazon Linux 2023 The Amazon EC2 .nano family of instance types (t2.nano, t3.nano, t3a.nano, and t4g.nano) have 512MB RAM, and this is the minimum requirement for AL2023. (vCPU数による記載はありませんが、インスタンスタイプとして t2.nano ファミリーが最小要件とされているため、1 vCPU でよいと判断します) |
オンプレへの導入
OS | オンプレへの導入 | エビデンス |
---|---|---|
Amazon Linux 2 | 可能 | Using Amazon Linux 2 outside of Amazon EC2 https://docs.aws.amazon.com/pdfs/linux/al2/ug/al2-ug.pdf#page=64 OSイメージのダウンロード https://cdn.amazonlinux.com/os-images/2.0.20240124.0/ |
Amazon Linux 2023 | 可能 | Using Amazon Linux 2023 outside of Amazon EC2 https://docs.aws.amazon.com/pdfs/linux/al2023/ug/al2023-ug.pdf#page=300 OSイメージのダウンロード https://cdn.amazonlinux.com/al2023/os-images/2023.3.20240122.0/ |
ライセンス費用
OS | ライセンス 費用 |
エビデンス |
---|---|---|
Amazon Linux 2 |
不要 | Amazon Linux 2 を実行しても、追加料金は発生しません。 よくある質問 - Amazon Linux 2 | AWS |
Amazon Linux 2023 |
不要 | Amazon Linux 2023 を実行しても、追加料金は発生しません。 Amazon Linux 2023 に関するよくある質問 |
サポート期限
OS | サポート期限 | エビデンス |
---|---|---|
Amazon Linux 2 | 2025 年6月30日 | よくある質問 - Amazon Linux 2 | AWS Amazon Linux 2 のサポート終了日 (EOL、End of Life) は、次のバージョンへの移行に十分な時間を提供するために、2023年6月30日から 2025年6月30日に 2 年間延長されました。 |
Amazon Linux 2023 | 2028年3月15日 | Amazon Linux 2023 に関するよくある質問 Q: Amazon Linux のリリーススケジュールはどのようになっていますか? A: 新しいメジャーバージョンは 2 年ごとにリリースされ、5 年間の長期サポートが付属しています。 Amazon Linux 2023 のご紹介 2023年3月15日にリリースされてからの5年間 = 2028年3月15日となります。 |
Amazon Linux 2023 – 長期サポート付きのクラウド最適化 Linux ディストリビューション | Amazon Web Services ブログ
ベースOS
Amazon Linux がどのOSをベースにして作成されているかは、正式には公開されていませんが、複数のドキュメントから推察することが出来ます。
OS | ベースOS | エビデンス |
---|---|---|
Amazon Linux 2 | RedHat 7 | Using Amazon Linux 2 outside of Amazon EC2 https://docs.aws.amazon.com/pdfs/linux/al2/ug/al2-ug.pdf#page=64 VMイメージとしてインストールする際は、Red Hat Enterprise Linux 7.0 を選択します。 以下、Amazon Linux 2 でのバージョン確認コマンドの出力結果です。 sh-4.2$ uname -a Linux ip-10-0-0-37.ap-northeast-1.compute.internal 5.10.205-195.807.amzn2.x86_64 #1 SMP Tue Jan 16 18:28:59 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux sh-4.2$ sh-4.2$ cat /etc/amazon-linux-release cat: /etc/amazon-linux-release: No such file or directory sh-4.2$ sh-4.2$ cat /etc/os-release NAME="Amazon Linux" VERSION="2" ID="amzn" ID_LIKE="centos rhel fedora" VERSION_ID="2" PRETTY_NAME="Amazon Linux 2" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2" HOME_URL="https://amazonlinux.com/" SUPPORT_END="2025-06-30" sh-4.2$ |
Amazon Linux 2023 | Fedora 34~36 |
Fedora との関係 - Amazon Linux 2023 AL2023 の一般提供 (GA) バージョンは、特定の Fedora リリースと直接比較することはできません。 AL2023 GA バージョンには、Fedora 34、35、および 36 のコンポーネントが含まれています。 以下、Amazon Linux 2023 でのバージョン確認コマンドの実際の出力結果です。 sh-5.2$ uname -a Linux ip-10-0-0-36.ap-northeast-1.compute.internal 6.1.72-96.166.amzn2023.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jan 17 00:42:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux sh-5.2$ sh-5.2$ cat /etc/amazon-linux-release Amazon Linux release 2023 (Amazon Linux) sh-5.2$ sh-5.2$ cat /etc/os-release NAME="Amazon Linux" VERSION="2023" ID="amzn" ID_LIKE="fedora" VERSION_ID="2023" PLATFORM_ID="platform:al2023" PRETTY_NAME="Amazon Linux 2023" ANSI_COLOR="0;33" CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023" HOME_URL="https://aws.amazon.com/linux/" BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023" SUPPORT_END="2028-03-15" sh-5.2$ |
ログインユーザ名
OS | ログインユーザ名 | エビデンス |
---|---|---|
Amazon Linux 2 |
ec2-user | Linux インスタンスのユーザーアカウントを管理する デフォルトのユーザー名は以下のとおりです。 ・Amazon Linux 2023、Amazon Linux 2 または Amazon Linux AMI の場合、ユーザー名は ec2-user です。 |
Amazon Linux 2023 |
ec2-user | 同上 |
パッケージ管理
OS | パッケージ管理 | エビデンス |
---|---|---|
Amazon Linux 2 |
YUM (RPM) |
Amazon Linux インスタンスでのソフトウェアパッケージの検索とインストール Amazon Linux 2 および Amazon Linux では、デフォルトのソフトウェアパッケージ管理ツールは YUM です。 |
Amazon Linux 2023 |
DNF | Amazon Linux インスタンスでのソフトウェアパッケージの検索とインストール Amazon Linux 2023 では、デフォルトのソフトウェアパッケージ管理ツールは DNF です。 |
タスクのスケジューリング
OS | スケジューリング | エビデンス |
---|---|---|
Amazon Linux 2 | cron | cronie パッケージは AL2 AMI にデフォルトでインストールされ、定期的なタスクをスケジューリングする従来の crontab 方法をサポートしています。 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html#cron |
Amazon Linux 2023 | systemd | AL2023 では、systemd タイマーユニットまたは cronie などを幅広く使用しています。cronie は AL2023 AMI にはデフォルトでは含まれていないため、crontab のサポートはデフォルトでは提供されなくなりました。 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html#cron オプションで cronie パッケージをインストールして元の cron ジョブを使用できます。systemd には機能が追加されているため、systemd タイマーに移行することをお勧めします。 |
ロギングシステム
OS | ロギングシステム | エビデンス |
---|---|---|
Amazon Linux 2 | rsyslog | AL2023 では、ロギングシステムパッケージが AL2 から変更されました。AL2023 はデフォルトでは rsyslog をインストールしないため、/var/log/messages のような AL2 にあったテキストベースのログファイルはデフォルトでは使用できません。 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html#journald |
Amazon Linux 2023 | journalctl | AL2023 のデフォルト設定は systemd-journal です。これについては journalctl を使用して確認できます。 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/compare-with-al2.html#journald |
SSH サーバーのデフォルト設定
OS | RSA キーペアを使用する場合 | エビデンス |
---|---|---|
Amazon Linux 2 | ssh-rsa | Amazon EC2 は、Linux インスタンス向けの、ED25519 および 2048-bit SSH-2 RSA キーをサポートしています。 https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-key-pairs.html |
Amazon Linux 2023 | クライアントは、rsa-sha2-256 および rsa-sha2-512 プロトコルをサポートするか、ed25519 キーを使用する ssh-ed25519 が必要です。 https://docs.aws.amazon.com/ja_jp/linux/al2023/ug/ssh-host-keys-disabled.html 公開キー認証に RSA キーペアを使用する場合、SSH クライアントは rsa-sha2-256 または rsa-sha2-512 署名をサポートしている必要があります。 互換性のないクライアントを使用していてアップグレードできない場合は、インスタンスの ssh-rsa サポートを再度有効にします。 そのためには、以下のコマンドで LEGACY システム暗号ポリシーを有効にします。 $ sudo dnf install crypto-policies-scripts $ sudo update-crypto-policies --set LEGACY |
最適化
OS | 最適化 | エビデンス |
---|---|---|
Amazon Linux 2 | - | - |
Amazon Linux 2023 | 起動の高速化 | AL2023 は起動時間を最適化して、インスタンス起動からお客様のワークロードの実行までの時間を短縮します。これらの最適化は、Amazon EC2 インスタンスのカーネル設定、cloud-init 設定、および kmod または systemd などの OS のパッケージに組み込まれてた機能に及びます。 |
AWSサービスとの親和性
OS | AWSサービスとの親和性 | エビデンス |
---|---|---|
Amazon Linux 2 |
・cloudwatch-agent ・efs-utils ・ssm-agent ・amazon-corretto など、各種ソフトウェアが導入済 |
Amazon Linux 2023 のパッケージ変更の概要 AL2 ⇒ AL2023 で削除されたパッケージ AL2 ⇒ AL2023 で更新されたパッケージ AL2 ⇒ AL2023 で追加されたパッケージ |
Amazon Linux 2023 |
同上 | 同上 |
終わりに
この資料は、正直 Amazon Linux 2023 の最小システム要件を備忘として残しておきたいためだけに記載しました笑
AL2023 では、ライセンスが無償である事やAWSサービスとの親和性の高さなど、AL2 と同じメリットは持ちつつも、最適化やセキュリティの向上が行われています。
一方で、レガシー部分を廃止した結果、細かい部分で Amazon Linux 2 とは違う使い勝手になっていますので、実際の開発・運用に際しては使い勝手やアプリケーションの互換性などに注意しておいた方が良さそうです。