お金をかけずにサーバーの勉強をしよう

オンプレで Amazon Linux 2を導入

2023年7月6日

メニューへ戻る

散々 Dockerコンテナでやってたけど、よく見りゃオンプレ用のイメージファイルが配布されていた…。
な・・・なにを言っているのかわからねーと思うが(以下略)


自宅で Amazon Linux 2のテストをするには Dockerのコンテナでしかできないと信じ込んでいましたが、インターネット検索してみれば、各種仮想化ソフト用のインストールイメージが配布されていることがサックリと分かったのでした。

これまでの苦労は何だったのか…。

早速 VMware Workstation Playerで入れてみましょう。

手順はこちら。
Amazon Linux 2 を仮想マシンとしたオンプレミスでの実行

やや難解ですが、やるしかありません。


1.仮想OSに設定する値を入れる CD-ROMのイメージファイルを作る

「ステップ 1: seed.iso 起動イメージを準備する」の段落の作業です。

Amazon Linux 2に IPアドレス周りとデフォルトで作られる [ec2-user]ユーザーのパスワードを設定します。

この作業は Linuxでやる前提になっていますので、私は Lubuntu 22.04.2でやっています。

まずどこでも良いのでワーキングディレクトリを作ります。
ホームディレクトリの下に [work/seedconfig]ディレクトリを作り、そこに移動しています。

subro@Lubuntu2204:~$ mkdir -p ~/work/seedconfig

subro@Lubuntu2204:~$ cd ~/work/seedconfig

subro@Lubuntu2204:~/work/seedconfig$

以下のサイトからファイルをダウンロードします。
※リンク先はどんどんアップデートされて名前が変わっていきます。
Index of /os-images/2.0.20230628.0

[seed.iso] をクリックします。
seed.iso ダウンロード

ダウンロードが完了すると [seed.iso]ファイルができますので、上で作ったディレクトリに持っていきます。

上で作ったディレクトリに以下の内容で [meta-data]ファイルを新規に作ります。
ピンク色がホスト名となり、IPアドレス周りは我が家の LAN環境に合わせています。

[meta-data]

local-hostname: amazonlinux2
# 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.113
  network 192.168.1.0
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1


上で作ったディレクトリに以下の内容で [user-data]ファイルを新規に作ります。
ピンク色が Amazon Linux 2のデフォルトで作られる [ec2-user]ユーザーのパスワードになります。

[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:'.

# NOTE: Cloud-init applies network settings on every boot by default. To retain network settings
# from first boot, add the following ‘write_files’ section:
write_files:
  - path: /etc/cloud/cloud.cfg.d/80_disable_network_after_firstboot.cfg
    content: |
      # Disable network configuration after first boot
      network:
        config: disabled

その結果、上で作ったディレクトリの中身はこのようになりました。

subro@Lubuntu2204:~/work/seedconfig$ ls -l
total 384
-rw-rw-r--  1 subro subro    345  7月  6 19:34 meta-data
-rw-rw-r--  1 subro subro 374785  7月  6 18:52 seed.iso
-rw-rw-r--  1 subro subro    581  7月  6 19:38 user-data

[meta-data]ファイルと [user-data]ファイルを [seed.iso]ファイルに取り込みます。

subro@Lubuntu2204:~/work/seedconfig$ genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
I: -input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 331
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
183 extents written (0 MB)

これで設定内容を取り込んだ [seed.iso]ファイルができました。


2.Amazon Linux 2の仮想OSイメージファイルをダウンロード

「ステップ 2: Amazon Linux 2 VM イメージのダウンロード」の段落の作業です。

私は VMware Workstation Playerを Windows 10で動かしていますので、これは Windows 10で作業しました。

以下のサイトにアクセスします。
Index of /os-images/2.0.20230628.0

私の環境は VMware Workstation Playerですので [vmware] をクリックします。
Amazon Linux 2 ダウンロード 1

[amzn2-vmware_esx-2.0.20230628.0-x86_64.xfs.gpt.ova] をクリックします。
Amazon Linux 2 ダウンロード 2

ダウンロードが完了すると [amzn2-vmware_esx-2.0.20230628.0-x86_64.xfs.gpt.ova]ファイルができました。

[D:¥work]フォルダを作って、今ダウンロードしたファイルと、上で作った [seed.iso]ファイルを置きました。
ファイル配置


3.Amazon Linux 2の仮想OSを立ち上げる

「ステップ 3: 新しい VM を起動して接続する」の段落の作業です。

VMware Workstation Playerを起動して下さい。

[仮想マシンを開く] をクリックします。
インポート 1

[D:¥work]フォルダにある
[amzn2-vmware_esx-2.0.20230628.0-x86_64.xfs.gpt.ova]ファイルを選択し、
開くを押します。
インポート 2

[新規仮想マシンの名前] は VMware Workstation Playerのメニュー上に出す名前です。
マシン名ではないので任意に分かりやすい名前にしましょう。
[新しい仮想マシンのストレージパス] がこの仮想マシンの本体が入るフォルダです。
私は SSD上のフォルダにしています。
インポートを押します。
インポート 3

待ちます。
インポート 4

[仮想マシン設定の編集] をクリックします。
インポート 5

追加を押します。
インポート 6

[CD/DVD ドライブ] を選択し、完了を押します。
インポート 7

[新規 CD/DVD(IDE)] を選択、[ISO イメージ ファイルを使用する] を選択し、
参照を押します。
インポート 8

[D:¥work]フォルダに持ってきた [seed.iso]ファイルを選択し、
開くを押します。
インポート 9

OKを押します。
インポート 10

[仮想マシンの再生] をクリックして、仮想マシンを立ち上げます。
インポート 11

しばらく待っていると、ログインプロンプトになります。
Amazon Linux 2 ログイン 1

ユーザー名は [ec2-user]、パスワードは [password] でログインしました。 Amazon Linux 2 ログイン 2

[ec2-user]ユーザーは sudoを利用可能ですので、シャットダウン時は以下のようにしましょう。

[ec2-user@amazonlinux2 ~]$ sudo poweroff


これで Amazon Linux 2が自宅のPC上でも動くようになりました。


設定のために Linuxで ISOイメージファイルを作るとか結構面倒臭かったですが、どうにかやり遂げられました。

初期設定について「オンプレ Amazon Linux 2の設定」に書いています。

コイツを使って、Amazon Linux 2のお勉強に供したいと思います。

最新の Amazon Linux 2023についても同じような手順で、「オンプレで Amazon Linux 2023を導入」に書いています。