Amazon Linux 2をオンプレミス(ローカルPCのVM)で動かしてみる。


1.前提環境

今回は以下の環境で作成します。
環境に応じて内容を読み替えてください。

・WSL(Ubuntu)を使用してWindows 10上のC:\VM\testvm01に直接VMイメージを作成します。

・ハイパーバイザーはHyper-Vを使用します。

・Hyper-Vのネットワークはブリッジを使用します。

作成する仮想マシンは何等かのDHCPでIPアドレス、デフォルトゲートウェイ、参照先DNSが払い出されること。
※今回はハイパーバイザーのネットワークがブリッジのため、ご家庭にあるブロードバンドルータのDHCP機能を使用します。
※ハイパーバイザーのネットワークがNATの場合はハイパーバイザー搭載のDHCP機能でも大丈夫だと思います。(検証はしてない)

とりあえず、動かすことが目的なのでセキュリティは緩め
※必要に応じて対処してください。

2.作業に必要なコマンドをインストールする。

$ sudo apt install genisoimage unzip

3.VMイメージを作成するディレクトリを作成して移動

$ mkdir -p /mnt/c/VM/testvm01
$ cd /mnt/c/VM/testvm01

4.seed.isoを作成

今回は以下の設定のseed.isoを作成

設定項目 設定値
ホスト名 testvm01
SSHのパスワード認証によるログイン 有効
初期ユーザー(ec2-user)ログインパスワード amazon

4.1.meta-dataとuser-dataを作成

$ cat << EOF > meta-data
local-hostname: testvm01
EOF

$ cat << EOF > user-data
#cloud-config
ssh_pwauth: True
chpasswd:
  list: |
    ec2-user:amazon
EOF

※user-dataの1行目のコメント[#cloud-config]の省略は不可

4.2.meta-dataとuser-dataからseed.isoを作成

$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data

4.3.不要になったmeta-dataとuser-dataを削除

$ rm -i meta-data user-data

5.仮想ディスクイメージを作成

$ curl -LO https://cdn.amazonlinux.com/os-images/2.0.20201111.0/hyperv/amzn2-hyperv-2.0.20201111.0-x86_64.xfs.gpt.vhdx.zip
$ unzip amzn2-hyperv-2.0.20201111.0-x86_64.xfs.gpt.vhdx.zip
$ rm -i amzn2-hyperv-2.0.20201111.0-x86_64.xfs.gpt.vhdx.zip

※上記のURLは2021/01/03時点のHyper-V用の仮想ディスクイメージの最新です。
Hyper-V以外や最新の仮想ディスクイメージは下に記載した「9.参考」のリンク先から探して下さい。

6.仮想マシンの作成

今回はHyper-Vマネージャで以下の設定で仮想マシンを新規作成します。
必要に応じて内容を読み替えてください。
※画像だけ張るので詳しい手順は省略
※他のハイパーバイザーを使用する場合は、そのハイパーバイザーで該当する設定を行ってください。

6.1.仮想マシン作成ウィザードの設定

6.2.seed.isoのアタッチとブート設定

仮想マシンを作成したらseed.isoのアタッチを行い、ブートデバイス(スタートアップ)の順序をHDD優先に設定します。

7.動作確認

・仮想マシンを起動してログイン

・IPアドレスの確認

・SSHでログイン

8.seed.isoのアタッチの恒久化

ハイパーバイザーにより仮想マシンの停止、再起動でseed.isoがデタッチされてしまう場合があります。
各ハイパーバイザーの手順に従い、seed.isoのアタッチを恒久化してください。
※Hyper-Vでは作業不要

9.参考

Amazon Linux 2 を仮想マシンとしてオンプレミスで実行する
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html