【小ネタ】 Amazon Linux 2023 の EC2 インスタンスの初回起動時、自動的にアップデートが実行されるよう cloud-init を設定してみた

【小ネタ】 Amazon Linux 2023 の EC2 インスタンスの初回起動時、自動的にアップデートが実行されるよう cloud-init を設定してみた

2026.01.05

はじめに

テクニカルサポートの 片方 です。
以前のブログでもご紹介した通り、デフォルトの 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 を作成します。
01
02

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

04

jq の Ver を確認します。

sh-5.2$ rpm -q jq
jq-1.6-10.amzn2023.0.2.x86_64

05

想定通り、デフォルトの設定状況ではアップデートされていないことを確認できました。
それでは、cloud-init ファイルを利用して、初回起動時に自動的にアップデートするように修正します。

https://cloudinit.readthedocs.io/en/latest/reference/modules.html#package-update-upgrade-install

・ 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

スクリーンショット 2025-12-28 145652

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

07
08

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月 アノテーション㈱から社名変更しました

この記事をシェアする

FacebookHatena blogX

関連記事