【小ネタ】 Amazon Linux 2023 の EC2 インスタンスの初回起動時、自動的にアップデートが実行されるよう cloud-init を設定してみた
はじめに
テクニカルサポートの 片方 です。
以前のブログでもご紹介した通り、デフォルトの Amazon Linux 2023 の AMi より初回起動した EC2 インスタンスでは、
Amazon Linux 2 と異なり cloud-init より自動的にアップデートは実行されません。
本ブログでは、小ネタとして初回起動時に自動的にアップデートが実行されるよう cloud-init 設定する方法をご紹介します。
やってみた
今回は、以下の検証環境で設定しました。
- OS:Amazon Linux 2023
- AMI:ami-09cd9fdbf26acc6b4 (al2023-ami-2023.9.20251208.0-kernel-6.1-x86_64)
- インスタンスタイプ:m5.large
- ユーザーデータ:なし
対象パッケージを意図的にダウングレードします。本検証では jq を使いました。
なお、Amazon Linux 2023 デフォルトの挙動も確認していますので、ご参考ください。
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.9.20251208"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
sh-5.2$ sudo dnf list --showduplicates jq
Last metadata expiration check: 0:03:44 ago on Sun Dec 28 04:14:03 2025.
Installed Packages
jq.x86_64 1.7.1-51.amzn2023 @System
Available Packages
jq.x86_64 1.6-10.amzn2023.0.2 amazonlinux
jq.x86_64 1.7.1-48.amzn2023.0.1 amazonlinux
jq.x86_64 1.7.1-49.amzn2023.0.2 amazonlinux
jq.x86_64 1.7.1-50.amzn2023 amazonlinux
jq.x86_64 1.7.1-51.amzn2023 amazonlinux
sh-5.2$
バージョンを明示してダウングレードします。
sh-5.2$ sudo dnf downgrade -y jq-1.6-10.amzn2023.0.2
Last metadata expiration check: 0:05:25 ago on Sun Dec 28 04:14:03 2025.
Dependencies resolved.
===================================================================================================================================================================================================================
Package Architecture Version Repository Size
===================================================================================================================================================================================================================
Downgrading:
jq x86_64 1.6-10.amzn2023.0.2 amazonlinux 189 k
Transaction Summary
===================================================================================================================================================================================================================
Downgrade 1 Package
Total download size: 189 k
Downloading Packages:
jq-1.6-10.amzn2023.0.2.x86_64.rpm 2.0 MB/s | 189 kB 00:00
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 1.4 MB/s | 189 kB 00:00
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Downgrading : jq-1.6-10.amzn2023.0.2.x86_64 1/2
Cleanup : jq-1.7.1-51.amzn2023.x86_64 2/2
Running scriptlet: jq-1.7.1-51.amzn2023.x86_64 2/2
Verifying : jq-1.6-10.amzn2023.0.2.x86_64 1/2
Verifying : jq-1.7.1-51.amzn2023.x86_64 2/2
Downgraded:
jq-1.6-10.amzn2023.0.2.x86_64
Complete!
sh-5.2$ rpm -q jq
jq-1.6-10.amzn2023.0.2.x86_64
jq のダウングレードが成功したので、この状態で カスタム AMI を作成します。


カスタム AMI が作成されたのでこちらを起動します。


jq の Ver を確認します。
sh-5.2$ rpm -q jq
jq-1.6-10.amzn2023.0.2.x86_64

想定通り、デフォルトの設定状況ではアップデートされていないことを確認できました。
それでは、cloud-init ファイルを利用して、初回起動時に自動的にアップデートするように修正します。
・ package_update: (boolean) Set true to update packages. Happens before upgrade or install. Default: false.
・ package_upgrade: (boolean) Set true to upgrade packages. Happens before install. Default: false.
・ package_reboot_if_required: (boolean) Set true to reboot the system if required by presence of /var/run/reboot-required. Default: false.
/etc/cloud/cloud.cfg ファイルを vi や nano コマンドなどで末尾に以下を記載します。
- package_update: true
- package_upgrade: true

これで準備ができたので、再度カスタム AMI を作成します。
作成された カスタム AMI より起動して jq がアップデートされるかを確認します。


jq の Ver を確認します。以下のように 1.6-10 からアップデートされていれば成功です!
sh-5.2$ rpm -q jq
jq-1.7.1-51.amzn2023.x86_64
sh-5.2$
お疲れさまでした!
まとめ
本ブログが誰かの参考になれば幸いです。
参考資料
Module reference - cloud-init 25.3 documentation
クラスメソッドオペレーションズ株式会社について
クラスメソッドグループのオペレーション企業です。
運用・保守開発・サポート・情シス・バックオフィスの専門チームが、IT・AIをフル活用した「しくみ」を通じて、お客様の業務代行から課題解決や高付加価値サービスまでを提供するエキスパート集団です。
当社は様々な職種でメンバーを募集しています。
「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、クラスメソッドオペレーションズ株式会社 コーポレートサイト をぜひご覧ください。※2026年1月 アノテーション㈱から社名変更しました







