こんにちは、SCSKの内ヶ島です。
EC2の課金を気にせずにAmazon Linux 2023(以下、AL2023)を使うため、手元のオンプレミス環境で稼働したいと思ったことはありませんか?
本記事ではオンプレミスのVirtualBox環境でAL2023を起動する方法をまとめました。
はじめに
AL2023はオンプレミスの仮想マシン向けにVMイメージが用意されており、公式にはKVM、VMware、Hyper-Vをサポートしています。
サポート外となりますがVirtualBox環境で起動してみます。
※Amazon Linux 2ではVirtualBoxもサポートしていたのですが、AL2023では外されたようです。
注意事項
PC上の閉じた環境で検証用途で利用するためセキュリティを考慮していません。
とりあえずOSが起動することを確認したのみです。ハイパバイザーの違いによる動作はご自身でご確認ください。
事前に下記のツールを準備してください。
- ova形式ファイルを展開するツールやコマンド:7-Zipやtarコマンドなど
- CDイメージを作成できるツールやコマンド:mkisofsやgenisoimageなど
参考リンク
事前準備
公式のVMイメージを使って仮想マシンをセットアップします。VMイメージ内にec2-userユーザーが作成されているので、こちらをパスワードでログインできるように設定していきます。
VMイメージの準備
下記リンクよりVMwareのイメージをダウンロードします。
7-Zipなどのツールで中身のvmdkファイルを取り出します。
初期設定ブートイメージの作成
新しい仮想マシンの起動に必要な初期設定情報(ホスト名やユーザーデータなど)をseed.isoブートイメージとして作成します。
今回の環境ではホスト名とユーザー情報を設定し、ネットワーク情報はDHCPで取得することにします。
お手持ちのLinux環境(VirtualBox上に別途用意したLinux環境やWSL2)で作業します。
あらかじめmkisofsをインストールしてください。
meta-data ファイルを作成
仮想マシンのホスト名<vm-hostname>の設定をmeta-dataファイルに書き込みます。
echo "local-hostname: <vm-hostname>" > meta-data
user-data ファイルを作成
VMイメージにec2-userユーザーが作成されているので、こちらをパスワード認証で接続する設定とします。
パスワードでのSSH接続を許可する設定、ec2-userのパスワード<password>の情報をuser-dataファイルに書き込みます。
cat > user-data <<_EOF_ #cloud-config ssh_pwauth: True chpasswd: list: | ec2-user: <password> expire: False _EOF_
seed.isoブートイメージを作成
meta-dataとuser-dataを使用してseed.isoディスクイメージを作成します。
mkisofs -output seed.iso -volid cidata -joliet -rock user-data meta-data
作成したseed.isoをローカル上にコピーしておきます。
これで仮想マシンを起動する準備ができました。
VirtualBoxの仮想マシン起動設定
作成したseed.isoファイルを仮想化CD-ROMドライブとして、取り出したvmdkファイルをHDDとして起動します。
新規に仮想マシンを作成します。
[仮想マシン] – [新規]
【名前とオペレーティングシステム】
[名前] に任意の名前をつけます。(ここではal2023を指定)
[ISOイメージ] に先ほど作成したseed.isoを指定します。
[タイプ] に [Linux] を選択、[バージョン] は [Other Linux (64-bit)] を選択します。
【ハードウェア】
メインメモリーを設定します。
ここでは 2048 MB にしておきます。(ご希望のスペックに変更してください)
【ハードディスク】
[すでにある仮想ハードディスクファイルを使用する] を選択し、取り出したvmdkファイルを指定してください。
[完了] を押します。
これで仮想マシンが設定できました。
PCと同じネットワークから接続したい場合は、[設定] からネットワークアダプターの割り当てを [NAT] から [ブリッジアダプター] に変更します。
AL2023を起動
さっそく起動してみましょう。
Amazon Linuxとしてブートしていることが確認できます。
ログインできるか確認します。
user-dataファイルに記載したパスワードを使用して、ec2-userユーザーでログインできました。
Teraterm等からSSH接続もでき、鳥がお出迎えしてくれます。
さあ、使い放題のAL2023ライフを堪能しましょう。
おわりに
EC2で動作するAL2023をオンプレミス環境で起動できました。
初期設定(seed.isoの作成)を手動で行ったことで、AWSでは自動で行われる設定がいかに楽であるか、改めてありがたさを感じた次第です。