目次
目的
仕事で Amazon Linux をさわりそう。
オンプレ版があるとの情報を得たので、自習のために自宅環境に設定してみる。
一般的な Linux とのインストール方法の違い
- 一般的な Linux のインストール
- ディストリビューションからインストール用 iso をダウンロード
- 仮想環境上で iso をマウントしてインストールを実施
- Amazon Linux のインストール
準備した環境
- 仮想環境:Windows の Hyper-V を使用
- Miracle Linux 8.6
事前準備
Amazon Linux vhd のダウンロード
Amazon Linux の vhd (Hyper-V 用) は以下からダウンロード。
ダウンロードしたら Hyper-V 実行環境に移動して展開しておく。
展開したファイルの保存場所は任意。
meta-data、user-data を取り込んだ iso の作成
以下の手順で作成
・Miracle Linux 8.6 にログイン
・iso 作成ツールである genisoimage をインストール
yum install -y genisoimage
・vi コマンドで meta-data ファイルを作成(内容は下記)
local-hostname: test245 # 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.3.245 network 192.168.3.0 netmask 255.255.255.0 broadcast 192.168.3.255 gateway 192.168.3.254
・ここではホスト名を test245、IP アドレスを 192.168.3.245 の固定設定で作成
・vi コマンドで 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:'.
※ 上記 password
と記載されている箇所にパスワードで使用する文字列を設定する
・iso を seed.iso という名前で作成
genisoimage -output seed.iso -volid cidata -joliet -rock user-data meta-data
・seed.iso をscp 等を用いて仮想マシンを実行する環境に移動する
注意事項:meta-data のパラメータの記載は空行を入れてはいけないみたい
以下のような meta-data を作成して seed.iso を作成したところ、Amazon Linux 起動時にネットワーク設定が反映されなかった。
local-hostname: test245 # local-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 # eth0の設定をする。 # eth0をstaticで設定する。 iface eth0 inet static # eth0のIPアドレスを設定する。 address 192.168.3.245 #仮想マシンが所属するネットワークアドレスを設定する。 network 192.168.3.0 #仮想マシンが所属するサブネットを設定する。 netmask 255.255.255.0 #仮想マシンが所属するネットワークのブロードキャストを設定する。 broadcast 192.168.3.255 #仮想マシンが所属するネットワークのデフォルトゲートウェイを設定する。 gateway 192.168.3.254
network-interfaces
の設定にコメントをつけた際に空行をがんがんいれていたのがダメだったのかも。
コメントと空行をなくしたところうまくいったので、そうだと思っておく。
(上記うまく使えなかった情報はうまくいかなかった記録として残しておきます。)
Hyper-V で Amazon Linux 使用設定
- Hyper-V で新規 → 仮想マシンを選択
- 次へ を選択
- 名前を入れて次へ
- 第1世代を選択して次へ
- 起動メモリを設定して次へ
- 今回の環境は空きメモリがそんなになかったので 2GB 固定にしました。
- 使用するネットワークを設定して次へ
- 内容を確認して
完了
を押す。
- 内容を確認して
この時点ではまだ仮想マシンを起動してはいけない。
以下の設定を続けて実施。
- Hyper-V で作成した仮想マシンを選択して設定を選択
- プロセッサを選択して仮想プロセッサの数を変更する
- 今回の環境では 2 にしてみた
- DVD ドライブで メディア - イメージファイル を選択して、先般作成した seed.iso を選択する
- OK を押して閉じる
これで仮想マシンの起動環境は完了。
仮想マシン起動
ログイン確認
Hyper-V の 接続
を使用して Amazon Linux にログインする。
(この時点ではパスワードを用いた SSH 接続が有効になっていないので、コンソールログインする。)
SSH の有効化
Amazon Linux にログイン後以下の設定変更で SSH でのパスワード認証を有効化する。
/etc/ssh/sshd_config
を vi で開くsudo vi /etc/ssh/sshd_config
- 以下のパラメータを修正して保存
- 修正前:
PasswordAuthentication no
- 修正後:
PasswordAuthentication yes
- 修正前:
- sshd の再起動
sudo systemctl restart sshd
上記設定変更後は外部から ssh でログインすることができる。
__| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@test245 ~]$ [ec2-user@test245 ~]$ [ec2-user@test245 ~]$ [ec2-user@test245 ~]$ free -h total used free shared buff/cache available Mem: 1.9G 113M 1.7G 424K 105M 1.6G Swap: 0B 0B 0B [ec2-user@test245 ~]$ [ec2-user@test245 ~]$ [ec2-user@test245 ~]$ df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 948M 0 948M 0% /dev tmpfs 965M 0 965M 0% /dev/shm tmpfs 965M 420K 964M 1% /run tmpfs 965M 0 965M 0% /sys/fs/cgroup /dev/sda1 25G 1.2G 24G 5% / tmpfs 193M 0 193M 0% /run/user/1000 [ec2-user@test245 ~]$
ログインしてメモリとディスクの情報を表示してみたところ。
OKそう。