minimal AMIとarm64で安くEC2を使う
先にまとめ
- minimal AMI(最小 AMI)、arm64、EBSを2GBとすれば、EC2を安く稼働させられる
- EBS: 約 0.2USD/月
- 稼働: 0.0054USD/時間
背景
-
Bastion用の EC2 で、低機能でもよく、用途が限られていることを想定しています。
-
EC2 を起動しなくても EBS は課金されており、EC2稼働していないのにストレージで課金される、ということがしばしばあります。
-
一般的なAMI(選択画面で出てくるもの)から作った EC2には 8GB の EBS がついており、料金:
汎用 SSD (gp3) - ストレージ USD 0.096/GB 月だと約 0.8USD 月 になります。 -
もう少し安くならないか、と思ってEBS をシュリンクさせる方法などを見ていたのですが、そもそも minimal AMI を使って 2GB で作成すれば使用容量を下げられると思いました。これだけでストレージ分が0.2USD 月になります。
minimal AL2023 について
(※minimal 自体は昔からあります。こちらは 2015 年の比較記事)
AL2023 は Amazon Linux 2 (AL2)の後継という位置づけです。その中で、AMI の標準と最小構成(minimal)があり、比較はこちらにあります。
AMI から起動する
AL2023 minimal から EC2 インスタンスを作ります。
arm64 にする
arm64 のほうが、お安いタイプが使えます。 g が入っているものがarm64対応のもの(=graviton)です。

AWS Console で AMI を探す
EC2 -> Image AMIs からフィルターして
- Owner alias = amazon,
- Source : al2023-ami-minimal
などで探します。
CLI で AMI を探す
aws ec2 describe-images \
--owners "amazon" \
--filters "Name=name,Values=*al2023-ami-minimal*" "Name=architecture,Values=arm64" \
--query 'Images[*].{Name:Name, ImageId:ImageId, CreationDate:CreationDate}' \
--output table
選択した AMI
arm64 ということでこちらを選びました。特に深い理由はありません(あとから見ると最新でなかった)
| CreationDate | ImageId | Name |
|---|---|---|
| 2025-04-30T19:42:27.000Z | ami-04f33a390c4e91a1b | al2023-ami-minimal-2023.7.20250428.1-kernel-6.12-arm64 |
この下の画面から Launch します。
- インスタンスのキーペア pem は自分のものを選択します

instance type は t4g.nano を選択

SSH してみる
起動したインスタンスを選択して、Connect 画面に進むとコマンド例が書いてあるので参考に
ssh -i "my-key.pem" ec2-user@ec.xx.xx.ap-northeast-1.compute.amazonaws.com
SSH したあと確認すると、/dev/nvme0n1p1の容量から、700MB ほど空きがあることがわかります。
[ec2-user@ip-xxx ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs 207M 0 207M 0% /dev/shm
tmpfs 83M 452K 83M 1% /run
efivarfs 128K 2.6K 126K 3% /sys/firmware/efi/efivars
/dev/nvme0n1p1 2.0G 1.3G 692M 65% /
tmpfs 207M 0 207M 0% /tmp
/dev/nvme0n1p128 10M 1.4M 8.7M 14% /boot/efi
tmpfs 42M 0 42M 0% /run/user/1000
mysql Client を入れてみる
sudo dnf -y localinstall https://dev.mysql.com/get/mysql84-community-release-el9-1.noarch.rpm
sudo dnf -y install mysql-community-client
(ここから使っていないが問題なさそう)
まとめ
- EC2 を AMI minimal を使って安く稼働させることができるようになったが、以前が気にできていなかっただけという説
- 懸念:arm64で動かないものがあったらどうしよう、等
Discussion