Amazon Linux2 を Hyper-V で起動させる


追記予定

Amazon Linux 2 について
https://aws.amazon.com/jp/amazon-linux-2/

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

イメージのダウンロード

Amazon Linux 2 仮想マシンイメージ(Hyper-V)
https://cdn.amazonlinux.com/os-images/2.0.20180622.1/hyperv/

  • ファイル(amzn2-hyperv-2.0.20180622.1-x86_64.xfs.gpt.vhdx.zip)をダウンロードし解凍します。

  • ファイルサイズが 22GB と大きいので小さく(22GB ⇒ 1.5GB程度)します。
    PowerShell で実行します。(やらなくてもOK)

$vhd = "ファイルのパス\amzn2-hyperv-2.0.20180622.1-x86_64.xfs.gpt.vhdx"
Mount-VHD $vhd -Readonly
Optimize-VHD $vhd -Mode Full
Dismount-VHD $vhd

seed.iso の作成

イメージだけではパスワードも何も設定されておらずログインすることができません。設定ファイルをISOにまとめ、マウントさせて起動させる必要があります。必要最小限の設定のみにしています。

  • 2つの設定ファイルを作成します
    • meta-data - ホスト名、ネットワーク設定
    • user-data - ユーザアカウント、パスワード
meta-data
local-hostname: ami.domain

ec2-user のパスワードは個別に変更してください

user-data
#cloud-config
users:
  - default
chpasswd:
  list: |
    ec2-user:password
  • ISOを作成します。

Windowsの場合にISOを何で作成するか迷いますが、本家のガイドに合わせて genisoimage を利用します。WSL(Windows Subsystem for Linux)を入れ、Ubuntuなどを入れておくと便利です。(別途記載予定)

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

Hyper-Vで起動

  • イメージとして amzn2-hyperv-2.0.20180622.1-x86_64.xfs.gpt.vhdx を指定します
  • 既定のネットワークを選択します
  • seed.iso をマウントします
  • 起動します

起動したら ec2-user のユーザでログインできます。
既定のネットワークを選択した場合、現 Windows10 のバージョンではIPが自動的に割り振られます。/28 で振られますが、アドレスは特定できません。