KVM ( 6 ) ~ Amazon Linux 2 をオンプレミス環境で使用する ~

July 21, 2019

今回やること

Amazon Linux 2 はオンプレミス仮想化環境にて仮想マシンとして起動が可能です。 本来はオンプレミス上にて開発及びテストを行うためのものではありますが、今回はどのようにオンプレミスで Amazon Linux 2 を起動するかについて記載します。 なお、以下の公式ドキュメントにも手順の記載があります。

(Amazon Linux 2 を仮想マシンとしてオンプレミスで実行する) https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html

環境

今回 Hypervisor 側の OS として、Ubuntu 18.04.2 を使用します。 なお、Hyperviosr は KVM です。

$ uname -r
4.18.0-25-generic
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.2 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.2 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

seed.iso 起動イメージの準備

1. 下準備

まずは seed.iso 起動イメージを準備します。genisoimage パッケージをインストールし、seed config 用のディレクトリを用意しておきましょう。

$ sudo apt-get install genisoimage
$ mkdir seedconfig
2. meta-data の作成

次に、seedconfig ディレクトリ配下に以下の meta-data ファイルを作成します。なお、今回は eth0 の設定はコメントアウトしてます。

$ cat meta-data
local-hostname: AmazonLinux2_Test
#network-interfaces: |
#iface eth0 inet static
#address 192.168.xx.xx
#network 192.168.xx.0
#netmask 255.255.255.0
#broadcast 192.168.xx.255
#gateway 192.168.xx.2
3. user-data の作成

次に seedconfig ディレクトリ配下で user-data ファイルを作成します。

$ cat user-data
#cloud-config
users:
  - default
chpasswd:
  list: |
    ec2-user:P@ssword
ssh_pwauth: True
locale: en_US.UTF-8

runcmd:
  - [ cp, /usr/share/zoneinfo/America/Pacific, /etc/localtime]

ssh_pwauth: True としておくことで、初回起動時に SSH 接続によるパスワード認証が可能となります。

4. seed.iso イメージファイルの作成

最後に genisoimage コマンドにより、ISO ファイルを作成します。

$ genisoimage -output seed_test.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)

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

今回は KVM なので、KVM 用のイメージをダウンロードします。

$ wget https://cdn.amazonlinux.com/os-images/2.0.20190612/kvm/amzn2-kvm-2.0.20190612-x86_64.xfs.gpt.qcow2
--2019-07-20 18:05:06--  https://cdn.amazonlinux.com/os-images/2.0.20190612/kvm/amzn2-kvm-2.0.20190612-x86_64.xfs.gpt.qcow2
Resolving cdn.amazonlinux.com (cdn.amazonlinux.com)13.224.2.35, 13.224.2.78, 13.224.2.39, …
Connecting to cdn.amazonlinux.com (cdn.amazonlinux.com)|13.224.2.35|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 1571094528 (1.5G) [binary/octet-stream]
Saving to: ‘amzn2-kvm-2.0.20190612-x86_64.xfs.gpt.qcow2’

amzn2-kvm-2.0.20190612-x86_64.xfs.gpt.qcow2           26%[==============================>                                                                                        ] 402.64M  46.6MB/s    eta 23s

仮想マシンの作成

さて、いよいよ仮想マシンの作成です。今回は virt-manager を使用します。 早速 **[Create a new virtual machine] **から仮想マシンを作成してみましょう。

Step 1 では **[Import existing disk image]** を選択します。

f:id:shiro_kochi:2018××××××××:plain:w100:left

Step 2 ではダウンロードした Amazon Linux 2 の qcow2 イメージを指定します。

f:id:shiro_kochi:2018××××××××:plain:w100:left

Step 3 ではメモリと CPU を指定します。

f:id:shiro_kochi:2018××××××××:plain:w100:left

Step 4 では名前を設定し、seed.iso イメージを読み込ませるため**、[Customize configuration before install]** にチェックを入れておきます。

f:id:shiro_kochi:2018××××××××:plain:w100:left

次に、[Add Hardware] を選択し、先に作成した seed_test.iso イメージファイルを CDROM device type として設定しておきます。

f:id:shiro_kochi:2018××××××××:plain:w100:left

で、[Begin Installation] からインストールを開始します。

f:id:shiro_kochi:2018××××××××:plain:w100:left

実際にアクセスしてみる

実際に SSH でアクセスしてみましょう。 なお、コンソール接続した際に ifconfig 等から IP アドレスを確認しておきます。

$ ssh ec2-user@192.168.100.16
ec2-user@192.168.100.16's password:
Last login: Sun Jul 21 01:20:18 2019 from 192.168.100.15
 __|  __|_ )
 _|  (    /   Amazon Linux 2 AMI
 ___|\___|___|
https://aws.amazon.com/amazon-linux-2/
No packages needed for security; 5 packages available
Run "sudo yum update" to apply all updates.

ログイン出来ました。 素敵な Amazon Linux 2 ライフを!


 © 2023, Dealing with Ambiguity