[AWS]Hyper-VでAmazonLinuxを動かそう

AWS

久々の投稿です。ネタは結構あるのですが、環境づくりとかが好きなので進んでませんでした。
(テスト前になると片づけしたくなる気持ちと同じ)

今回は後輩から「tak0さん家、とうとうクラウドにリプレースですか?」という言葉に心動かされて
逆にAWSからオンプレ化できないかなー?とネタ探し調査してたら、出来そうじゃないですか!!

参考元:Amazon Linux 2 を仮想マシンとしたオンプレミスでの実行 – Amazon Elastic Compute Cloud

事前準備(必要なものまとめ)

  • Hyper-Vが動作する環境(Hyper-Vじゃなくても動きそう)
  • seed.iso (meta-data と user-data が入ってるAmazonLinuxを起動するために必要なデータ)
  • AmazonLinuxのディスクイメージを持ってくる

seed.iso 作成

作成ネタは、参考元(AWS資料)です。

meta-deta の作成

# ホスト名を指定 (これで行くと vm_al2022 になる)
local-hostname: vm_al2022

# ipアドレスを指定
network-interfaces: |
  auto eth0
  iface eth0 inet static
  address 192.168.10.11
  network 192.168.10.0
  netmask 255.255.255.0
  broadcast 192.168.10.255
  gateway 192.168.10.1

アドレスとかは、読者さんの環境に合わせて適宜修正してください。
上記などの内容で「meta-data」(拡張子なし)で保存します。

user-data の作成

users:
# A user by the name `ec2-user` is created in the image by default.
  - default
chpasswd:
  list: |
    ec2-user:******

あえてコメント残してますが、ec2-user は使用するimageに入っているそうです。
皆さんは既にご存じかと思いますが、ec2-userにはパスワードが設定されてない(意識してない)ですが
ここでパスワードを変更することが出来るそうです。
*****には各々パスワードを入力してください。
マニュアルとちゃんと読むと、ユーザ作成とか出来るそうですが、まずはこれで進めます。
上記は「user-data」(拡張子なし)で保存します。

作成したファイルを元に seed.iso を作成

windows環境ではキツそうだったので、ちょっとしたズルをしました。
wslを使って作成してみました。
※ちなみに genisoimage は wslには入っていなかったので、インストールしました。

user-data と meta-data をコマンド実行場所に置き、下記を実行する。

genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
コマンドオプションについては、今度調べよう・・・

すると コマンドが正常終了すると、seed.iso が作成されます。

これで面倒な作業は、ほぼ終了です。

seed.iso についての考察

設定ファイルを書いてて思ったのですが、AWS上だと”よしなにやってくれている部分”が
当然オンプレ上では恩恵をあやかれない。そのため、IPアドレスを予め起動isoという形で一度
VMを起動してあげることで、[mete-data][user-data]に指定した値を使って起動できるのでは
ないか・・。
ということは、AWS上EC2マネコンでも同じようなことがしれっと動作している・・・?
まさか、そんなことはないでしょう。。。

AmazonLinuxのディスクイメージを持ってくる

上部記載の参考元には、 [Amazon Linux 2 virtual machine images]というようなリンクがついている。そこから自分の環境にあったものをもらってきます。

もらったディスクイメージは、適切な環境に配置します。

起動してみよう(Hyper-V編)

起動方法の詳細は、参考サイトに丁寧に書いてあるので、起動することの確認までを書いておく。

お、なんか起動した。
指定したユーザでログイン(今回は ec2-user)
なんかいい感じで設定できてそう

ここでまず感じた違和感。キーボードが日本語じゃない。
この辺って user-data に仕込めるのかな?

ちなみに seed.iso を起動時に使わないとどうなるか

これは今回の設定だと、ipアドレスが固定ではなくてDHCPで払い出されました!!
一部設定が読み込まれないということです。seed.isoなくても固定する方法あるのかな?要調査です。

まとめ

まさかの思い付きで調べてみたら、あってびっくりした。
ということは AmazonLinux自体の検証作業などは、ローカルで出来るってことですな。
AMI選択では表示されはじめた AmazonLinux2023との比較も少ないお金で出来そうですね。
ちなみにダウンロードには課金不要でした。

あと、読み直したら 設定ファイルではホスト名とIP出してるのに、画像では消してしまって、
画像転載みたくなってますが、確実に私の環境です。(大事だと思って消したw

おわり。

コメント

タイトルとURLをコピーしました