Amazon Linux 2027 がパブリックプレビューになったので EC2 で起動して確認してみた

Amazon Linux 2027 がパブリックプレビューになったので EC2 で起動して確認してみた

Amazon Linux 2023 の後継となる Amazon Linux 2027 が、2026年9月3日にパブリックプレビューとして公開されました。プレビュー AMI は全商用リージョンで提供されているので、東京リージョンで EC2 インスタンスとして起動し、Session Manager 経由で OS の中身を確認してみました。
2026.09.04

はじめに

2026年9月3日、Amazon Linux 2027(AL2027)のパブリックプレビューが始まりました。AL2027 は Amazon Linux 2023(AL2023)の後継で、ユーザーガイドによるとサポートは 2032年まで続きます。

https://aws.amazon.com/about-aws/whats-new/2026/09/announcing-amazon-linux-2027/

本記事では、東京リージョンで AL2027 プレビュー AMI から EC2 インスタンスを起動し、Session Manager と Run Command で OS の状態を確認しました。SELinux の動作モード、カーネル、パッケージ管理まわりが起動直後の実機でどう見えるかを追っていきます。

検証内容

本記事の実測値はすべて、パブリックプレビューとして公開された 2027.0.20260903.0 世代の AMI で確認したものです。

AMI の確認

まずマネジメントコンソールから探しました。EC2 コンソールの AMI 一覧でパブリックイメージを表示し、所有者と AMI 名で絞り込むと、AL2027 のプレビュー AMI が4件並びます。

EC2 コンソールの AMI 一覧に al2027 のパブリックイメージが4件表示されている

AWS CLI の describe-images でも、パブリックイメージを名前 al2027-preview-ami-* で絞り込むと同じ4件が返りました。標準版と minimal 版が、それぞれ arm64 と x86_64 で提供されています。

Name ImageId Arch BootMode
al2027-preview-ami-2027.0.20260903.0-kernel-7.1-arm64 ami-0905bb8a006ab0c19 arm64 uefi
al2027-preview-ami-2027.0.20260903.0-kernel-7.1-x86_64 ami-0f5feb3d6c72d5f47 x86_64 uefi-preferred
al2027-preview-ami-minimal-2027.0.20260903.0-kernel-7.1-arm64 ami-0d2f76b7d2121f993 arm64 uefi
al2027-preview-ami-minimal-2027.0.20260903.0-kernel-7.1-x86_64 ami-06aea6df44d334ce7 x86_64 uefi-preferred

4件の作成日時はいずれも 2026-09-02T22:42:20.000Z でした。コンソールに表示されていた AMI ID も、この CLI の結果と一致しています。

AMI ID は SSM のパブリックパラメータからも取得できます。

aws ssm get-parameters-by-path \
  --path /aws/service/ami-amazon-linux-latest \
  --query "Parameters[?contains(Name,'al2027')].[Name,Value]" --output text
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-kernel-7.1-arm64	ami-0905bb8a006ab0c19
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-kernel-7.1-x86_64	ami-0f5feb3d6c72d5f47
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-kernel-default-arm64	ami-0905bb8a006ab0c19
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-kernel-default-x86_64	ami-0f5feb3d6c72d5f47
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-minimal-kernel-7.1-arm64	ami-0d2f76b7d2121f993
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-minimal-kernel-7.1-x86_64	ami-06aea6df44d334ce7
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-minimal-kernel-default-arm64	ami-0d2f76b7d2121f993
/aws/service/ami-amazon-linux-latest/al2027-preview-ami-minimal-kernel-default-x86_64	ami-06aea6df44d334ce7

パラメータ名には、カーネルバージョンを含む系統と kernel-default の系統があります。現時点では、アーキテクチャと版(標準版/minimal 版)が同じであれば、どちらの系統も同じ AMI ID を返しました。

起動と SSM 接続

上記のパラメータで得た AMI ID を指定して、arm64 標準版を1台起動しました。インスタンスタイプは t4g.small、ネットワークはデフォルト VPC のパブリックサブネットです。セキュリティグループはインバウンドを開けていません。Session Manager で接続するため、IAM インスタンスプロファイルには AmazonSSMManagedInstanceCore を持つ既存ロールを指定しました。

aws ec2 run-instances \
  --image-id ami-0905bb8a006ab0c19 \
  --instance-type t4g.small \
  --iam-instance-profile Name=ec2-ssm-core \
  --subnet-id subnet-xxxxxxxxxxxxxxxxx \
  --security-group-ids sg-xxxxxxxxxxxxxxxxx \
  --metadata-options 'HttpTokens=required' \
  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=al2027-preview-check}]'

起動後、SSM の管理対象として登録されるまでをポーリングしました。

2026-09-03T17:31:23Z	None
2026-09-03T17:31:38Z	None
2026-09-03T17:31:54Z	None
2026-09-03T17:32:09Z	Online	Amazon Linux	2027	3.3.5226.0

登録までは52秒でした。起点は起動時刻の 17:31:17Z、終点は PingStatus が Online になったのを最初に観測した 17:32:09Z です。直前のポーリングである 17:31:54Z では未登録だったため、Online に切り替わったのは 17:31:54Z より後・17:32:09Z 以前です。SSM が報告したプラットフォームは Amazon Linux の 2027、SSM Agent のバージョンは 3.3.5226.0 でした。

登録を確認したうえで、対話接続と非対話実行の両方を使いました。本記事に載せている OS 側の出力は、すべて Run Command 経由で取得したものです。

# 対話接続
aws ssm start-session --target i-xxxxxxxxxxxxxxxxx

# 非対話実行(本記事の出力はこの方法で取得)
aws ssm send-command --instance-ids i-xxxxxxxxxxxxxxxxx \
  --document-name AWS-RunShellScript \
  --parameters commands='["cat /etc/os-release"]'

OS 情報と SELinux

OS の名乗りは os-release に出ています。

NAME="Amazon Linux"
VERSION="2027"
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2027"
VARIANT="Public Preview"
VARIANT_ID="preview"
PLATFORM_ID="platform:al2027"
PRETTY_NAME="Amazon Linux 2027.0.20260903"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2027:2027.0.20260903"
HOME_URL="https://aws.amazon.com/linux/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2027"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2026-12-31"

VARIANT と VARIANT_ID が、起動したイメージがプレビュー版であることを示しています。

システムのリリース表記とカーネルは次のとおりです。

$ cat /etc/system-release
Amazon Linux release 2027.0.20260903 (Amazon Linux)

$ uname -r
7.1.0-88.111.amzn2027.aarch64

カーネルのパッケージ名は kernel ではなく kernel7.1 です。インストール済みパッケージを検索すると kernel7.1-7.1.0-88.111.amzn2027.aarch64 が返り、kernel7.1-tools も入っています。

SELinux は既定で enforcing で動いていました。

$ sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Memory protection checking:     actual (secure)
Max kernel policy version:      35

設定ファイル側も enforcing で、ロード済みのポリシーモジュールは426個ありました。監査ログから直近の AVC を検索しても該当はなく、後述する gcc の追加とコンパイルのあとに再確認しても同様でした。

パッケージ管理

AL2023 から変わっていそうなところから見ていきます。起動直後の主要コンポーネントのバージョンは次のとおりです。

コンポーネント 実測値
kernel kernel7.1-7.1.0-88.111.amzn2027.aarch64
glibc glibc-2.44-2.amzn2027.0.2(ldd の表示は GNU libc 2.44)
systemd systemd 260(260.1-11.amzn2027.0.6)
RPM RPM version 6.0.0
DNF dnf5 5.4.2.1(libdnf5 5.4.2.1)
Python Python 3.14.7(/usr/bin/python3 は python3.14 へのリンク)
OpenSSL OpenSSL 3.5.7 9 Jun 2026
AWS-LC aws-lc-libs-5.2.0-2.amzn2027
zlib zlib-ng-compat-2.3.3-1.amzn2027(zlib 本体は不在)
PCRE pcre2-10.47-1.amzn2027.0.1(PCRE1 は不在)
cloud-init cloud-init-26.1-250.amzn2027.0.5
SSM Agent amazon-ssm-agent-3.3.5226.0-1.amzn2027
AWS CLI awscli-2-2.36.2-1.amzn2027.0.1
bash bash-5.3.0-2.amzn2027
curl curl 8.18.0(OpenSSL 3.5.7 と zlib-ng にリンク)

インストール済みパッケージは335個でした。標準版 AMI にはビルド環境が入っておらず、言語ランタイムも Python 以外は入っていませんでした。gcc、binutils、git、perl、ruby、node、java、go、rustc、php、dotnet はいずれも未インストールでした。

パッケージ管理は DNF5 に移りました。dnf と yum は dnf5 へのシンボリックリンクです。

$ ls -l /usr/bin/dnf /usr/bin/yum /usr/bin/dnf5
lrwxrwxrwx. 1 root root       4 Aug 31 00:00 /usr/bin/dnf -> dnf5
-rwxr-xr-x. 1 root root 1541400 Aug 31 00:00 /usr/bin/dnf5
lrwxrwxrwx. 1 root root       4 Aug 31 00:00 /usr/bin/yum -> dnf5

$ python3 -c "import dnf"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
    import dnf
ModuleNotFoundError: No module named 'dnf'

DNF4 の Python API である python3-dnf は入っていないため、Python から dnf をインポートすると失敗します。DNF5 側の python3-libdnf5 も既定では未インストールでした。

プレビュー期間中のサポート範囲は、dnf のサブコマンドから確認できます。

$ dnf supportinfo --pkg glibc
Name                         : glibc
Version                      : 2.44-2.amzn2027.0.2
State                        : installed
Current Status               : Supported
Patch Priority               : Full Support
Support Level Description    : Full security and bug fix support for all severities
Covered Severities           : Low, Medium, Important, Critical
Origin                       : Amazon Linux 2027 Core
Support Timeline             : from 2026-09-03     : supported (Low, Medium, Important, Critical)
                             : from 2027-03-31     : unsupported
Package Note                 : Amazon Linux will support this package until the end of the AL2027 public preview period

表示は 2027-03-31 以降 unsupported で、パッケージの注記にもパブリックプレビュー期間の終わりまでという条件が書かれています。カーネルも同じ日付で unsupported になり、インストール済みパッケージの一覧でも全行が同じ日付と注記でした。

有効なリポジトリは1つだけで、自動更新のタイマーはすべて無効でした。

リポジトリ定義と自動更新の状態
[amazonlinux]
name=Amazon Linux 2027 repository
mirrorlist=https://al2027-repos-$awsregion-7f9a3b4e.s3$dualstack.$awsregion.$awsdomain/core/mirrors/$releasever/$basearch/$mirrorlist
priority=10
enabled=1
repo_gpgcheck=0
type=rpm
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-linux-2027
report_instanceid=1

ソースと debuginfo のリポジトリは無効になっています。バージョンのロックは amazon-linux-repo-s3-2027.0.20260903-0.amzn2027 パッケージが担っており、releasever の変数ファイルは置かれていません。

起動直後に更新を確認したところ、候補は1件も返りませんでした。AMI とリポジトリの版が一致している状態です。自動更新に関わる dnf-makecache.timer、systemd-sysupdate.timer、update-motd.timer は、いずれも disabled でした。

ビルド環境が入っていないので、コンパイラも自分で入れることになります。追加インストールした gcc は 16.1.1 で、既定の C 標準は C23 でした。

gcc の追加インストールと GCC 16 の既定

未インストールの時点でパッケージ情報を見ると、gcc は 16.1.1-1.amzn2027.0.1、binutils は 2.46-3.amzn2027.0.1 でした。インストールでは10パッケージ・62.1 MiB をダウンロードし、今回の実行では 10.126秒で終わりました。

$ gcc --version
gcc (GCC) 16.1.1 20260501 (Red Hat 16.1.1-1)

$ echo | gcc -dM -E -x c - | grep -E "__STDC_VERSION__|__GNUC__ "
#define __GNUC__ 16
#define __STDC_VERSION__ 202311L

arm64 環境でのターゲット既定値は -mabi=lp64 と -march=armv8.2-a+crypto でした。hello world のコンパイルと実行も通り、出力は hello AL2027 16.1.1 20260501 (Red Hat 16.1.1-1) でした。

systemd と SSH

SysV 互換の仕組みは、痕跡ごと残っていませんでした。systemd のジェネレータ一覧に systemd-sysv-generator はなく、置かれていたのは cloud-init のジェネレータ、SELinux の自動リラベル、systemd 標準のジェネレータ各種、zram のジェネレータだけです。ランレベル用の /etc/rc.d ディレクトリ、chkconfig、service のいずれも見つかりませんでした。ネットワーク管理は systemd-networkd が有効で、NetworkManager は not-found でした。

SSH の既定設定は drop-in で構成されます。/etc/ssh/sshd_config.d/ には4つのファイルが置かれていました。10-amazon-hardening.conf は Amazon によるハードニング、40-redhat-crypto-policies.conf は Red Hat 由来の暗号ポリシー連携です。50-cloud-init.conf は cloud-init 用、50-redhat.conf は Red Hat 既定の設定です。

# /etc/ssh/sshd_config.d/10-amazon-hardening.conf(コメント行を除く)
PermitRootLogin no
X11Forwarding no
GSSAPIAuthentication no
KerberosAuthentication no
IgnoreRhosts yes
HostbasedAuthentication no
RekeyLimit 512M 1h

10-amazon-hardening.conf のコメントには、参照名として AL-PDR「AL2027: Harden SSH and login security defaults」が書かれています。sshd が最初に得た値を採用する性質を利用し、後続の drop-in より優先させる設計だという説明も添えられています。

実効値では、有効な認証方式は公開鍵認証だけでした。root ログイン・パスワード認証・キーボードインタラクティブ認証はいずれも無効でした。逆引きは行わず、ログイン猶予時間は120秒でした。鍵交換アルゴリズムの先頭3つは耐量子計算機暗号とのハイブリッド方式で、mlkem768x25519-sha256、mlkem768nistp256-sha256、mlkem1024nistp384-sha384 です。

なお、暗号ポリシーを切り替える update-crypto-policies コマンド自体は入っていません。ただし 40-redhat-crypto-policies.conf は /etc/crypto-policies/back-ends/opensshserver.config を Include しています。

既定ターゲットも確認しました。

$ systemctl get-default
graphical.target

graphical.target でした。AL2027 のドキュメントにある AL2023 との差分表に既定ターゲットの記載はなく、AL2023 側は本記事では実測していません。

起動時間は合計 43.442秒で、内訳は firmware 1.578秒、loader 2.990秒、kernel 247ミリ秒、initrd 6.840秒、userspace 31.787秒でした。ユニット単位で最も時間がかかったのは EBS ボリュームの device ユニットで、20.170秒でした。起動時のエラーはなく、エラー優先度のジャーナルのエントリと失敗ユニットはいずれも0件でした。

cloud-init は done になりましたが、状態は degraded でした。

$ cloud-init status --long
status: done
extended_status: degraded done
boot_status_code: enabled-by-generator
last_update: Thu, 01 Jan 1970 00:00:33 +0000
detail: DataSourceEc2
errors: []
recoverable_errors:
WARNING:
	- Failed loading yaml blob. Invalid format at line 7 column 2: "while scanning for the next token found character '%' that cannot start any token   in "<unicode string>", line 7, column 2:     {% set meta_data = (ds | default( ...       ^"

致命的なエラーはなく、回復可能な警告として同じ内容の WARNING が4件記録されていました(上の出力は4件中1件の抜粋です)。最終更新時刻は 1970年1月1日と表示されます。cloud-init の処理時間を集計すると、1回分の起動記録で合計 2.438秒でした。

確認が終わったので、インスタンスを削除しました。

aws ec2 terminate-instances --instance-ids i-xxxxxxxxxxxxxxxxx

running から shutting-down を経て、約80秒後に terminated を確認しました。ルートの EBS ボリュームは削除オプションが有効だったため消えており、インスタンスに紐づくボリュームの検索は0件でした。IAM ロール、VPC、セキュリティグループは既存のものを使ったので残しています。

まとめ

4年ぶりのメジャーバージョンとなる AL2027 が、パブリックプレビューとして公開されました。東京リージョンでも EC2インスタンスとして起動でき、SysV 互換機能の不在やGCC、カーネルといった主要パッケージの更新を開発環境などで確認できました。

現時点ではパブリックプレビューのため、本番環境での利用には適しませんが、AL2023 の後継となる AL2027の今後の展開にも注目していきたいと思います。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事