[オンプレでも Amazon Linux 2] 正式リリースした Amazon Linux 2 を Hyper-V 上で起動する

先週、5年間の長期サポートに対応した、Amazon Linux 2 が正式にリリースされました。Amazon Linux 2 ではオンプレミス環境の各種ハイパーバイザー向けに仮想マシンイメージが提供されています。Hyper-V上でAmazon Linux 2を実行してみました。
2018.07.06

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、菊池です。

先週、5年間の長期サポートに対応した、Amazon Linux 2 が正式にリリースされました。

[速報]5年長期サポートのAmazon Linux 2が一般公開されました

この、Amazon Linux 2の特徴の1つとして、オンプレミス環境の各種ハイパーバイザー向けに、仮想マシンイメージが提供されることがあります。

仮想プラットフォームとして、以下の環境に対応しています。

  • VMWate
  • KVM
  • VirtualBox (Oracle VM)
  • Microsoft Hyper-V

というわけで、今回は手元のWindows10にあるHyper-V上でAmazon Linux 2を実行してみます。

Hyper-VでのAmazon Linux 2

仮想マシンイメージのダウンロード

各プラットフォーム向けのOSイメージは、以下からダウンロードすることができます。

こちらから、Hyper-V向けのイメージをダウンロードし、解凍しておきます。

seed.isoの作成

仮想マシン起動時に、ホスト名やネットワーク設定、ユーザー設定をcloud-initで実行するため、seed.iso起動イメージを作成します。以下、mac環境での作成手順を紹介します。

ホスト名やネットワーク設定は、meta-dataというファイルに、ユーザー設定はuser-dataというファイルに記述し、seedconfigディレクトリに保存します。

meta-data

local-hostname: amazonlinux.onprem
# eth0 is the default network interface enabled in the image. You can configure static network settings with an entry like the following.
network-interfaces: |
 iface eth0 inet static
 address 192.168.1.80
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.1

user-data

#cloud-config
#vim:syntax=yaml
users:
# A user by the name `ec2-user` is created in the image by default.
  - default
chpasswd:
  list: |
    ec2-user:password
# In the above line, do not add any spaces after 'ec2-user:'.

ファイルの記述内容について詳しくは、ドキュメントを参照ください。seedconfigの1つ上のディレクトリで、hdiutilを使い、seed.isoを作成します。

$ ls seedconfig/
meta-data	user-data
$ hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/
Creating hybrid image..........................................................................................................................

仮想マシンの作成

続いて、仮想マシンの作成です。新規仮想マシンの作成に進みます。仮想マシンの世代は、第1世代を選択しましょう。

仮想ハードディスクの接続で、ダウンロードしておいたVHDファイルを選択します。

仮想マシンが作成できたら、起動の前に、仮想マシンの設定を開きます。IDEコントローラに、先ほど作成したseed.isoをマウントします。

仮想マシンの起動

それでは仮想マシンを起動します。

問題なければ、seed.isoによってネットワーク環境/ユーザーが設定されますので、あらかじめ指定しておいたユーザー名、パスワードでログインできるはずです。

リリースバージョンを確認しています。Kernelのバージョンは4.14.47で、当然、EC2に起動する場合と同じです。

まとめ

ついに正式リリースした、Amazon Linux 2。その特徴の1つである、オンプレミス環境での仮想マシンとしての起動を試してみました。

オンプレミスでも、AWS環境と同じOSを利用できるというのは、大きな魅力と言えるでしょう。