来年EOLするAmazon Linux 2 を Hyper-V でお家にお迎えした

AWS

2022.4.15

Topics

こんにちは、Mr.oldtypeです。
恥ずかしながら最近、オンプレミスでも Amazon Linux を実行出来ることを知りました。
ついに来年、サポート終了してしまう Amazon Linux 2 さんですが、引退後も元気に活躍してもらえるように自宅でお世話してあげることにしました。

ちなみに、 Amazon Linux 2 の後継である Amazon Linux 2022 はプレビュー版が出ています。
こちらはまだオンプレミスでの利用は出来なさそうですが、いずれ正式リリース後に利用可能となると思います。
Amazon Linux 2022 のプレビューの発表

お家に連れてくる準備をします

今回は下記の環境(お家)に入れてあげることにしました。気に入ってくれると嬉しいです。
・ ホストOS:Windows 10 Pro 21H2
・ ハイパーバイザ:Hyper-V

なおこれから Hyper-V 使うぞって方は、BIOSの設定で仮想化が有効になっていることを確認してください。

isoファイルを作成

まずはisoイメージファイルを作成します。
meta-data ファイルと user-data ファイルを作成して合体させます。

meta-dataファイル

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

【解説】
local-hostname :起動予定VMのホスト名
network-interfaces :ネットワークについての設定を入れていきます。
address :起動予定VMのローカルIPアドレスを指定
network :ネットワークアドレス
netmask :サブネットマスク
broadcast :ブロードキャストアドレス
gateway :ゲートウェイアドレス

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:plain_text_password
# In the above line, do not add any spaces after 'ec2-user:'.

【解説】
ec2-user:plain_text_password : デフォルトユーザー「ec2-user」の初期パスワードを指定します。

余談ですが、 user-data ファイルで利用している「cloud-init」 は非常に奥が深く、色々なパラメータの設定が出来ます。
Chef や Puppet といった構成管理ツールと組み合わせて使うことにより、 EC2の展開から管理まで柔軟に行えます。
詳しくはこちらをご覧ください。

2つのファイルをがっちゃんこしてisoファイルを作る

そして作られたmeta-dataファイルuser-dataファイルを結合してisoファイルを作成します。
Linuxの場合はgenisoimage などで作成が出来ます。しかしWindowsでこのツールは使えません。
残念ですがWSLでLinux環境を立てて実行するか、CDRTFEを使ってください…
genisoimage の場合は下記コマンドとなります。

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

こうすることで seed.isoというAmazon Linux 2さんの源が生まれました。

Amazon Linux 2 イメージのダウンロード

上記isoファイルだけだとAmazon Linux 2さん要素がないので、AWS公式からイメージ(.vhdx)をダウンロードします。
https://cdn.amazonlinux.com/os-images/2.0.20220316.0/hyperv/

お家に入れてあげます

Hyper-Vで仮想マシンを作成する

いよいよ赤ちゃんをお家に入れてあげます。
Hyper-Vマネージャーを起動し、右操作メニューから[新規]→[仮想マシン]を選択してください。

まずお名前を決めてあげます。今回はかわいく「マンチカン」という名前にしました。

世代は「第一世代」を選択します。

割り当てるメモリ量を選択します。4GiBくらいあると十分です。

予め作成が必要ですが、仮想スイッチを割り当てます。

[仮想ハードディスクの接続]で、先ほどダウンロードしてきた.vhdxファイルを指定し、完了を押します。すると「マンチカン」が作成されます。

したらばその「マンチカン」を右クリックし、設定画面を開きます。
下図のように[IDEコントローラー1]→[DVDドライブ]にて先ほど作成した源(.iso)を指定し、OKを押します。

以上で、Hyper-V上にAmazon Linux 2さんを住まわせることができました。
あとは接続し、user-dataファイルで指定したユーザ名をパスワードでログインが出来るはずです。

おわりに

今では3か月ほどになり、300GiBくらいにすくすく成長しています。(ログの肥大化)

Mr.oldtype

クラウドを楽しくする、をテーマに活動しています。 2021/2022 APN Top Engineer。 でしょうね、ミスター・オールドタイプ。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら