AL2 と AL2023 の比較 - Amazon Linux 2023

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AL2 と AL2023 の比較

以下のトピックでは、AL2 と AL2023 の主な違いについて説明します。

追加、更新、削除されたパッケージ

AL2023 には、何千もの使用可能なソフトウェアパッケージが含まれています。AL2023 で追加、更新、または削除されたすべてのパッケージを以前の Amazon Linux バージョンと比較したリストについては、「AL2023 でのパッケージ変更」を参照してください。

AL2023 でパッケージを追加または変更するようリクエストするには、amazon-linux-2023 リポジトリに問題を報告してください。 GitHub

各リリースのサポート

AL2023 については、5 年間のサポートを提供しています。

詳細については、「リリース頻度」を参照してください。

命名およびバージョニングの変更

AL2023 は、AL2 がプラットフォーム識別用にサポートしているのと同じメカニズムをサポートしています。AL2023 では、プラットフォーム識別用の新しいファイルも導入されています。

詳細については、「命名およびバージョニング」を参照してください。

最適化

AL2023 は起動時間を最適化して、インスタンス起動からお客様のワークロードの実行までの時間を短縮します。これらの最適化は、Amazon EC2 インスタンスのカーネル設定、cloud-init 設定、および kmod または systemd などの OS のパッケージに組み込まれてた機能に及びます。

最適化の詳細については、「パフォーマンスと運用の最適化」を参照してください。

Python 2.7 は Python 3 に置き換えられました

AL2 は、AL2 コアパッケージの長期サポート (LTS) の一環として、2025 年 6 月まで Python 2.7 のサポートパッチとセキュリティパッチを提供しています。このサポートは、2020 年 1 月にアップストリームの Python コミュニティ宣言である Python 2.7 end-of-life にとどまりません。

AL2 は Python 2.7 yum に大きく依存しているパッケージマネージャーを使用しています。AL2023 では、dnf パッケージマネージャーは Python 3 に移行され、Python 2.7 を必要としなくなりました。AL2023 は Python 3 に完全に移行しました。

注記

AL2023 は Python 2.7 を削除したため、Python を必要とする OS コンポーネントはすべて Python 3 で動作するように記述されています。Amazon Linux によって提供されサポートされているバージョンの Python を引き続き使用するには、Python 2 コードを Python 3 に変換します。

Amazon Linux での Python の詳細については、「AL2023 での Python」を参照してください。

セキュリティ更新

SELinux

デフォルトでは、AL2023 の Security Enhanced Linux (SELinux) は、enabled および permissive モードに設定されています。permissive モードでは、アクセスの拒否は記録されますが、強制ではありません。

SELinux は AL2 では disabled であった Amazon Linux カーネルのセキュリティ機能です。SELinux は、カーネルの主要なサブシステムに必須のアクセスコントロール (MAC) アーキテクチャを提供するカーネル機能とユーティリティのコレクションです。

詳細については、「AL2023 の SELinux モードの設定」を参照してください。

SELinux リポジトリ、ツール、ポリシーについての詳細は、「SELinux ノートブック」、「SELinux ポリシーの種類」および「SELinux プロジェクト」を参照してください。

OpenSSL 3

AL2023 には Open Secure Sockets Layer version 3 (OpenSSL 3) 暗号化ツールキットが搭載されています。AL2023 はネットワークプロトコルをサポートします。TLS 1.3 TLS 1.2

デフォルトでは AL2 には OpenSSL 1.0.2 が含まれています。OpenSSL 1.1.1 に対してアプリケーションを構築できます。

OpenSSL の詳細については、「OpenSSL の移行ガイド」を参照してください。

セキュリティの詳細については、「セキュリティ更新および機能」を参照してください。

IMDSv2

デフォルトでは、AL2023 AMI で起動されるインスタンスは only IMDSv2 を必要とし、コンテナ化されたワークロードをサポートできるようにデフォルトのホップ制限は 2 に設定されます。imds-support パラメータを v2.0 に設定してこれを行います。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「AMI の設定」を参照してください。

注記

セッショントークンの有効期間は 1 秒から 6 時間の間です。IMDSv2 クエリの API リクエストを送信するアドレスは以下のとおりです。

  • IPv4: 169.254.169.254

  • IPv6: fd00:ec2::254

これらの設定を手動でオーバーライドし、IMDSv1インスタンスメタデータオプションの起動プロパティを使用して有効にすることができます。IAM IMDS コントロールを使用して異なる設定を適用することもできます。インスタンスメタデータサービスのセットアップと使用の詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「IMDSv2 の使用」、「新しいインスタンスのインスタンスメタデータオプションの設定」および「既存のインスタンスのインスタンスメタデータオプションの変更」を参照してください。

log4j ホットパッチ (log4j-cve-2021-44228-hotpatch) の削除

注記

AL2023 は log4j-cve-2021-44228-hotpatch パッケージに含まれていません。

CVE-2021-44228 に対応して、Amazon Linux は AL1 と AL2 向けの Apache Log4j 用ホットパッチの RPM パッケージバージョンをリリースしました。Amazon Linux へのホットパッチの追加に関する発表の中で、「ホットパッチのインストールは、CVE-2021-44228 または CVE-2021-45046 を軽減する log4j バージョンへの更新に代わるものではない」ことが示されています。

ホットパッチは、log4j へのパッチ適用までの時間を確保するための緩和策でした。AL2023 の最初の一般提供 (GA) リリースは CVE-2021-44228 の 15 か月後だったため、AL2023 にはホットパッチ (有効化されているかどうかにかかわらず) が含まれていません。

Amazon Linux log4j で独自のバージョンを実行しているユーザーは、CVE-2021-44228 または CVE-2021-45046 の影響を受けないバージョンに更新していることを確認する必要があります。

AL2023 では、AL2023 の更新 でセキュリティパッチを最新の状態に保つためのガイダンスを提供しています。セキュリティアドバイザリは Amazon Linux セキュリティセンターで公開されています。

安定性向上のための確定的な更新

バージョニングされたリポジトリ機能による確定的なアップグレードにより、すべての AL2023 AMI はデフォルトで特定のリポジトリバージョンにロックされます。確定的な更新を使用すると、パッケージのバージョンと更新の一貫性を高めることができます。メジャーかマイナーかにかかわらず、各リリースには特定のリポジトリバージョンが含まれます。

AL2023 の新機能では、確定的な更新がデフォルトで有効になっています。これは、AL2 や他の以前のバージョンで使用されていた手動の段階的なロック方法を改良したものです。

詳細については、「AL2023のバージョン管理されたリポジトリによる確定的アップグレードの使用」を参照してください。

複数のアップストリームから供給されています。

AL2023 は RPM ベースで、Fedora の複数のバージョンや CentOS 9 Stream などの他の配布から供給されたコンポーネントが含まれています。Amazon Linux カーネルは、他の配布とは別に選んだ kernel.org から直接提供される長期サポート (LTS) リリースから供給されています。

詳細については、「Fedora との関係」を参照してください。

AMI ルートファイルシステムとデフォルトの Amazon EBS ボリュームタイプ

AL2023 AMI と AL2 はどちらもルートファイルシステム上の XFS ファイルシステムを使用します。AL2023 では、ルートデバイスファイルシステムの mkfs オプションが Amazon EC2 向けにさらに最適化されています。AL2023 は他にも多数のファイルシステムをサポートしており、特定の要件に合わせて他のボリュームでも使用できます。

AL2023 AMI はデフォルトで Amazon EBS gp3 ボリュームを使用しますが、AL2 AMI はデフォルトで Amazon EBS gp2 ボリュームを使用します。インスタンスの起動時にボリュームタイプを変更できます。

Amazon EBS ボリュームタイプの詳細については、「Amazon EBS 汎用ボリューム」を参照してください。

Amazon EC2 インスタンスの起動の詳細については、「Linux インスタンス用の Amazon EC2 ユーザーガイド」の「インスタンスを起動する」を参照してください。

ネットワークシステムサービス

systemd-networkd システムサービスは AL2023 のネットワークインターフェースを管理します。これは、ISC dhclient または dhclient を使用する AL2 からの変更です。

詳細については、「ネットワークサービス」を参照してください。

統合コントロールグループ階層 (cgroup v2)

コントロールグループ (cgroup) は、プロセスを階層的に整理し、システムリソースをプロセス間で分散するための Linux カーネルの機能です。コントロールグループは、コンテナランタイムの実装や、さまざまな用途に systemd によって使用されています。

AL2 はサポートし、AL2023 もサポートします。cgroupv1 cgroupv2これは AL2023 ベースの Amazon ECS AMI を使用してコンテナ化されたワークロードをホストする の場合などの、コンテナ化されたワークロードの実行時に特に顕著です。

AL2023 にはまだ AL2023 を使用してシステムを実行させるコードが含まれていますがcgroupv1、これは推奨またはサポートされている構成ではなく、Amazon Linux のfuture メジャーリリースで完全に削除される予定です。

systemd cgroup 委任ドキュメント」など、低レベルの Linux カーネルインターフェースに関するドキュメントは豊富です。

コンテナ以外の一般的な使用例は、systemd使用できるシステムリソースに制限を設けたユニットを作成する場合です。詳細については、systemd.resource-control を参照してください。

タスクのスケジューリング

cronie パッケージは AL2 AMI にデフォルトでインストールされ、定期的なタスクをスケジューリングする従来の crontab 方法をサポートしています。AL2023 には、はデフォルトでは含まれていません。cronieそのため、crontabデフォルトではサポートされなくなりました。

オプションで cronie パッケージをインストールして元の cron ジョブを使用できます。systemd には機能が追加されているため、systemd タイマーに移行することをお勧めします。

glibc、gcc、および binutils のパッケージ

AL2023 には AL2 と同じコアパッケージが多数含まれています。

AL2023 用に以下の 3 つのコアツールチェーンパッケージが更新されました。

パッケージ名 AL2 AL2023
glibc

2.26

2.34

gcc

7.3

11.3

binutils

2.29

2.39

詳細については、「コアツールチェーンパッケージglibc、gcc、binutils」を参照してください。

パッケージマネージャー

AL2023 のデフォルトのソフトウェアパッケージ管理ツールは DNF です。DNF は YUM の後継で、AL2 のパッケージ管理ツールです。

詳細については、「パッケージ管理ツール」を参照してください。

ロギングシステム

AL2023 では、ロギングシステムパッケージが AL2 から変更されました。AL2023 はデフォルトでは rsyslog をインストールしないため、/var/log/messages のような AL2 にあったテキストベースのログファイルはデフォルトでは使用できません。AL2023 のデフォルト設定は systemd-journal です。これについては journalctl を使用して確認できます。rsyslog は AL2023 のオプションパッケージですが、新しい systemd ベースの journalctl インターフェースおよび関連パッケージをお勧めします。詳細については、「journalctl 手動ページ」を参照してください。

curl および libcurl のパッケージ変更

AL2023 では、curl および libcurl パッケージの一般的なプロトコルと機能が curl-minimallibcurl-minimal に分離されています。これにより、ほとんどのユーザーのディスク、メモリ、依存関係のフットプリントが削減され、AL2023 AMI とコンテナのデフォルトパッケージとなっています。

gopher:// のサポートなどのために curl の全機能が必要な場合は、以下のコマンドを実行して curl-full および libcurl-full パッケージをインストールします。

$ dnf swap libcurl-minimal libcurl-full
$ dnf swap curl-minimal curl-full

GNU プライバシーガード (GNUPG)

AL2023 は、gnupg2 パッケージの最低限の機能や完全な機能を gnupg2-minimalgnupg2-full パッケージに分離しています。デフォルトで gnupg2-minimal パッケージのみがインストールされています。これにより、rpm パッケージのデジタル署名を検証するのに必要な最小限の機能が提供されます。

キーサーバからキーをダウンロードする機能など、gnupg2 のより多くの機能を利用するには、gnupg2-full パッケージがインストールされていることを確認してください。gnupg2-fullgnupg2-minimal をスワップするには、以下のコマンドを実行します。

$ dnf swap gnupg2-minimal gnupg2-full

デフォルト JVM としての Amazon Corretto

AL2023 には、デフォルトで (かつ唯一の) Java 開発キット (JDK) として Amazon Corretto が含まれています。AL2023 Java のすべてのベースパッケージはでビルドされています。Amazon Corretto 17

AL2 から移行する場合は、AL2 OpenJDK の同等のバージョンからにスムーズに移行できます。Amazon Corretto

AWS CLI v2

AL2023 AWS CLI にはバージョン 2 が付属していますが、AL2 にはバージョン 1 が付属しています。 AWS CLI

UEFI Preferred

デフォルトでは、UEFI ファームウェアをサポートするインスタンスタイプで AL2023 AMI で起動されたインスタンスはすべて UEFI モードで起動します。これは、ブートモード AMI パラメータを uefi-preferred に設定することで行われます。詳細については、「Linux インスタンス用 Amazon EC2 ユーザーガイド」の「ブートモード」を参照してください。

SSH サーバーのデフォルト設定の変更

AL2023 AMI では、リリース時に生成する sshd ホストキーの種類が変更されました。また、起動時に生成されないように、一部のレガシーキータイプが削除されました。クライアントは、rsa-sha2-256 および rsa-sha2-512 プロトコルをサポートするか、ed25519 キーを使用する ssh-ed25519 が必要です。デフォルトでは、ssh-rsa 署名は無効になっています。

さらに、デフォルトの sshd_config ファイルの AL2023 構成設定には UseDNS=no が含まれます。この新しい設定により、DNS 障害によってインスタンスとの ssh セッションを確立できなくなる可能性が低下します。その対価として、authorized_keys ファイル内の from=hostname.domain,hostname.domain ラインのエントリが解決されなくなります。sshd が DNS 名を解決しようとしなくなるため、カンマで区切られた hostname.domain のそれぞれの値を IP address に対応する値に変換する必要があります。

詳細については、「デフォルトの SSH サーバー設定」を参照してください。

Extra Packages for Enterprise Linux (EPEL)

Extra Packages for Enterprise Linux (EPEL) は、エンタープライズレベルの Linux オペレーティングシステム用の多数のパッケージを作成することを目的とした Fedora コミュニティ内のプロジェクトです。このプロジェクトは主に、RHEL および CentOS パッケージを作成してきました。AL2 は CentOS 7 との互換性が高いのが特徴です。そのため、多くの EPEL7 パッケージが AL2 で動作します。しかし、AL2023 は EPEL または EPEL のようなリポジトリをサポートしていません。

cloud-init の使用

AL2023 では、cloud-init はパッケージリポジトリを管理します。Amazon Linux の以前のバージョンでは、cloud-init はデフォルトでセキュリティ更新がインストールされていました。これは AL2023 ではデフォルトではありません。AL2023 が起動時に releasever を更新できるようにする新しい確定的アップグレード機能には、起動時にパッケージ更新を有効にする方法が説明されています。詳細については、「AL2023 のパッケージとオペレーティングシステムの更新を管理」および「安定性向上のための確定的な更新」を参照してください。

AL2023 では、cloud-init および SELinux を使用できます。詳細については、「cloud-init を使用して enforcing モードを有効にする」を参照してください。

Cloud-init は cloud-init で HTTP(S) を使用してリモートロケーションから設定コンテンツをロードします。以前のバージョンでは、Amazon Linux はリモートリソースが使用できなくなっても警告しません。AL2023 では、リモートリソースが使用できないと致命的なエラーが発生し、cloud-init の実行に失敗します。AL2 からのこの動作変更により、「フェールクローズ」のデフォルト動作がより安全になりました。

詳細については、「カスタマイズされた cloud-init」、および「cloud-init ドキュメント」を参照してください。

グラフィカルデスクトップサポート

AL2023 はクラウド中心で、Amazon EC2 での使用に最適化されており、現時点ではグラフィカル環境やデスクトップ環境は含まれていません。に関するフィードバックを提供するには GitHub、https://github.com/ を参照してください。

コンパイラトリプレット

AL2023 は、GCC および LLVMamazon がベンダーであることを示すコンパイラトリプレットを設定します。

したがって、AL2 aarch64-redhat-linux-gcc は AL2023 上の aarch64-amazon-linux-gcc になります。

これはほとんどのユーザーには完全に理解されているはずで、AL2023 でコンパイラーをビルドしているユーザーにのみ影響する可能性があります。

32 ビット x86 (i686) パッケージ

AL1 の 2014.09 リリースの一環として、32 ビット AMI を作成する最後のリリースになることが発表されました。そのため、AL1 の 2015.03 リリース以降、Amazon Linux は 32 ビットモードでのシステム実行をサポートしなくなりました。AL2 は x86-64 ホスト上の 32 ビットバイナリのランタイムサポートを限定的に提供しており、新しい 32 ビットバイナリの構築を可能にする開発パッケージも提供していませんでした。AL2023 には 32 ビットユーザースペースパッケージは含まれなくなりました。64 ビットコードへの移行を完了することをお勧めします。

AL2023 で 32 ビットバイナリを実行する必要がある場合は、AL2023 上で動作する AL2 コンテナ内の AL2 の 32 ビットユーザースペースを使用できます。

lsb_release および system-lsb-core パッケージ

これまで、一部のソフトウェアは (system-lsb-core パッケージによって AL2 で提供されている) lsb_release コマンドを呼び出して、実行されている Linux 配布に関する情報を取得していました。Linux 標準ベース (LSB) ではこのコマンドが導入され、Linux 配布でも採用されました。Linux 配布は、この情報を /etc/os-release およびその他の関連ファイルに保持するという、より単純な標準を使用するように進化しました。

os-release 標準は systemd から生まれました。詳細については、「systemd os-release ドキュメント」を参照してください。

AL2023 には lsb_release コマンドおよび system-lsb-core パッケージは含まれません。Amazon Linux やその他の主要な Linux 配布との互換性を維持するために、ソフトウェアは os-release 標準への移行を完了する必要があります。