Amazon EC2でAmazon Linux 2023を起動すると、当然お金がかかる。
ちょっと試したいならAWS CloudShell(2024/10/03現在はAmazon Linux 2023.5.20240708)という手もあるけど、どうせならオンプレで好き勝手したい。
公式手順↓を参考に、手元のMacbookで試してみた。
Using Amazon Linux 2023 outside of Amazon EC2 - Amazon Linux 2023
手元のMacbookはApple SiliconなのでARMアーキテクチャ、つまりx86_64ではなくaarch64(arm64)。
仮想化にはUTMを使った。
試した環境
- Apple Macbook Air
- CPU: Apple M2
- Mem: 16 GB
- OS: Sequoia 15.0
- UTM Version 4.5.4
手順
VMイメージダウンロード
公式手順にあるとおり、cdn.amazonlinux.com からダウンロードする。
kvm-arm64/の下にあるqcow2、今回は al2023-kvm-2023.5.20240916.0-kernel-6.1-arm64.xfs.gpt.qcow2 をダウンロードした。
seed.iso 作成
デフォルトでは初期ユーザーのec2-userは作られているけどパスワードもSSH鍵も未設定、起動してもログインできない…
cloud-init に初期ユーザーを作らせるための seed.iso を作る。
macでターミナルを開く
ディレクトリ作成
% mkdir ~/seedconfig
ファイル作成
- ~/seedconfig/meta-data
ホスト名を書くだけvm-hostname
は会社の命名規則とか自分の好みに従って書き換えるlocal-hostname: vm-hostname
- ~/seedconfig/user-data
#cloud-config #vim:syntax=yaml users: - default - name: USER-HOGE lock_passwd: false groups: wheel passwd: HOGEFUGA ssh_authorized_keys: - ssh-ed25519 FUGAFUGA fuga.pem
VMイメージにはec2-userというデフォルトのユーザーが作られているけど、~/.ssh/authorized_keys は空だしパスワードも設定されていない。
オンプレで使うなら、ec2-userにパスワードや公開鍵を設定するより、個人のユーザーを作れば良いと思う。
passwd: にはパスワードを直接書くのではなく、mkpasswdコマンドで生成したソルト付きのハッシュ値を書く。
macOSには標準ではmkpasswdは入っていないけど、Google CloudのCloud Shellならインストール済み。
AWSのCloudShellには入っていないけどsudo dnf install mkpasswd -y
でインストール可能。
どちらかで以下のコマンドを実行し、出力されたものを貼り付ければいい。$ mkpasswd --method=SHA-512 --rounds=4096
user-dataの書き方は以下を参考にした。
Module Reference — cloud-init 22.2 documentation
Cloud config examples — cloud-init 22.2 documentation
- ~/seedconfig/meta-data
seed.iso作成
% hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
UTM でVM作成
- UTM起動
- 「新規仮想マシンを作成」
- 「仮想化」を選択
- 「オペレーティングシステム」は「Linux」を選択
- 起動ISOイメージは前項で作成したseed.isoを選択
- メモリ要件は512MB以上だけど、制約があるっぽいから1GB以上にしておけば間違いなさそう
CPUコア数は空白のまま、ハードウェアOpenGLアクセラレーションはチェック付けず - 「ストレージ」は後で削除するのでいくつでもいい
- 「共有ディレクトリ」は設定しない
- 最後の「概要」は、Amazon Linux 2023とか分かりやすい名前を付ければいい
ドライブ差し替え
- 作成したVMを右クリックし「編集」
- ドライブのVirtIOドライブを右クリックして「削除」
- ドライブの「新規」をクリックし「読み込む」をクリック
- ダウンロードしたqcow2ファイルを「開く」
- 「保存」をクリックしてVMの編集を閉じる
あとは起動するだけ