AWS でおなじみの「Amazon Linux 2」をローカル環境のVM でも構築できるって事で早速ためしてみました。
Amazon サイコー!
Seed.iso を作るのは面倒なのでサンプルのものを使用し、Mate をインスト―ルしてGUI 環境まで作成してます。
Amazon Linux 2 を ローカル環境にインストールする
Contents
対応するVM は以下の4つ。
- VMware
- KVM
- VirtualBox (Oracle VM)
- Microsoft Hyper-V
いろいろと対応されているので迷うところですが、
私の場合は宗教上の理由から「VirtualBox」の一択です。
導入の流れ
通常のインストールと違い、
AWS からインストール済みのVHD をダウンロード して、
自分のバーチャルマシンに組み込んで使うという感じです。
参考:Amazon Linux 2 を仮想マシンとしたオンプレミスでの実行
- seed.iso 起動イメージの作成(諸事情によりAWSからサンプル配布されているものを使用。)
- Amazon Linux 2 インストール済みのVHD をダウンロード。
- ダウンロードしたVHD をVM にマウントして起動する。
- GUI (vnc クライアント使用)など環境を整える。
Amazon linux 2でVNCサーバーを起動して、VNCクライアント経由でGUI を使用。
ユーザー毎に接続先のポートを分けてます。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-57-1024x570.jpg)
Amazon Linux 2 の実行に必要なファイルのダウンロード
Seed.iso の準備
seed.iso はAmazon Linux を起動するの際に読み込まれるコンフィギュレーションみたいなものです。
ユーザー作成とか、変更とかいろいろいろと設定を行える仕組みです。
.iso 形式で、ディスクイメージとして作成して、VM 起動時にバーチャルDVD ドライブにマウントして使用します。
Linux とかMac なら既存のコマンドを使用してISO ファイルを作成できるので、
AWS のドキュメント手順に従って作成する流れでOK です。
うまくいかない時とかに、サンプルを使用してみましょう。
残念ながら、Windows の場合のSeed 作成手順は今のところ(2022/9)解説されていませんでした。
下記の方法で作成したISO ではうまく起動ができませんでした。
何かしらソフトウエアを使用しないと無理そうなので、AWS のサンプルSeed.iso を使います。
【Windows 10、11】PowerShell でフォルダからISO ファイルを作成する。New-ISOFile の代用。
サンプルのseed.iso をダウンロード
AWS の説明にある手順だと、seed.iso を自分の環境に合わせて作成していますが、
Windows だとISO ファイルの作成が面倒そうだったので、サンプルでダウンロードしたものを使用してます。
「サンプルのSeed.iso ファイル 」をクリックして、サンプルをダウンロード。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-10.png)
Seed.iso をクリックしてイメージファイルをダウンロード。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-12.png)
AmazonLinux2 インストール済みのVHD をダウンロード
ステップ 2: Amazon Linux 2 VM イメージのダウンロード
使用する仮想化ソフトウェアをクリックして、ハードディスクイメージをダウンロードします。
![](https://zapping.beccou.com/wp-content/uploads/2022/06/image-104.png)
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-13.png)
AmazonLinux2 の起動
VM の作成
新規でVM を作成します。
仮想化ソフトウェアはVirtual Box を使用します。
ハードディスクはダウンロードしたVHD ファイルを使用します。
![](https://zapping.beccou.com/wp-content/uploads/2022/06/image-164.png)
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-14.png)
この辺の設定内容は、仮想化ソフトウェア毎にAWS のドキュメントに解説されていますので、そちらを参考にしてもらえれば良いと思います。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-15-1024x529.png)
メモリサイズを設定します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-16.png)
「既にある仮想ハードディスクファイルを使用する」にチェックを入れて、フォルダのアイコンをクリック。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-19.png)
ダウンロードしたVHD を指定して「選択」をクリック。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-18.png)
前の画面に戻り、「作成」をクリックしてVM を作成する。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-21.png)
作成したVM を選択した状態で設定ボタンを押して設定を開く。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-28.png)
ストレージ設定を選択して、光学 ドライブ(DVD ドライブ)のアイコンを選択します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-22.png)
右端のDVD のアイコンをクリックして、で「ディスクファイルを選択」をクリック。
![](https://zapping.beccou.com/wp-content/uploads/2022/06/image-180.png)
ダウンロードしたSeed.iso ファイルを選択します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-23.png)
好みでプロセッサーの数とか、ネットワークの設定など設定します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-24.png)
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-25.png)
VM を起動する
起動ボタンを押して、VM を起動。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-27.png)
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-31.png)
こんな感じで起動のログが流れます。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-32.png)
なんか、アップデートも走っている感じです。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-33.png)
適当にログが止まったところでエンターキーを押すと、ログインが表示されるので、
ec2-user / amazon でログインします。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-29.png)
起動できました。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-30.png)
Seed.iso はこのあたりでマウント解除してOK 。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-70.png)
Seed.iso の設定で、ホスト名が「amazonlinux.onprem」になっているので、気になる場合は変更。
sudo hostname amazonlinux.beccou.local
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-38.png)
環境設定の確認と変更
サンプルのSeed.iso を使用している場合です。
- ユーザーはデフォルトのユーザーが有効→「ec2-user/amazon」。
- キーボードは英語。
- ネットワークの設定はしていないので、DHCP が有効なら自動でIP が割り当てられている。
(IP アドレスは「ifconfig」で確認。) - SSH 接続はパスワード認証が無効化されている。
キーボードを日本語にする
キーボードの設定が英語で操作しにくいので、日本語に変更します。
キーマップを確認。
localectl list-keymaps
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-41.png)
設定を変更。
sudo localectl set-keymap jp106
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-42.png)
SSH 接続のパスワード認証を有効化
使い勝手の問題でSSH 接続したいので、SSH のパスワードログインを有効にしてます。
sudo vi /etc/ssh/sshd_config
no を無効化(#をつけてコメントアウト)して、yes を有効化。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-44.png)
vi エディタの使い方はこちら。
再起動すると、ssh 接続をパスワード認証でできるようになります。
PowerShell の方が画面も大きいし、コピペもできて使いやすい^^。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-45.png)
GUI の設定
詳細は下記と同様です。
Mate をインストール
sudo amazon-linux-extras install mate-desktop1.x
設定ファイルを作成。
sudo bash -c 'echo PREFERRED=/usr/bin/mate-session > /etc/sysconfig/desktop'
VNC Sever のインストール
sudo yum install tigervnc-server
VNC 接続する時のパスワードを設定します。
vncpasswd
systemd ユニットの作成
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@.service
sudo sed -i 's/<USER>/ec2-user/' /etc/systemd/system/vncserver@.service
デーモン再起動
sudo systemctl daemon-reload
サービスの有効化。
sudo systemctl enable vncserver@:1
サービスの起動。
sudo systemctl start vncserver@:1
ステータスを確認して、起動していることを確認します。
systemctl status vncserver@:1
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-46-1024x305.png)
vnc viwer のインストール
詳細は引き続き下記同様です。
SSH ポート転送を面倒なのでしていませんが、した方がセキュアでしょう。
TigerVNC をダウンロードしてインストール。
VNC Viewer を起動して、VNC サーバーが起動している状態でIP アドレスとポート(VNC Server)を指定します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-47.png)
vncpasswd で設定したパスワードで認証します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-48.png)
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-49-1024x689.png)
パスワード認証をオフにしたい場合は、
ログインするユーザーで下記のオプションを設定して、サービスを再起動します。
sudo echo SecurityTypes=None >> ~/.vnc/config
ユーザー作成
sudo グループに追加しています。
sudo useradd -d /home/unimoni -G wheel,adm unimoni
パスワードの設定
sudo passwd unimoni
アカウントを切り替えて、VNC 接続用のパスワードを設定します。
su unimoni
vncpasswd
ユーザー用のVNC 接続の設定
unimoni 用のVNC サービス(ファイル)をコピーして、ユーザー名を変更する。
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver-unimoni@.service
sudo sed -i 's/<USER>/unimoni/' /etc/systemd/system/vncserver-unimoni@.service
サービスに登録します。
この時、@後ろの「:5」で任意のポート番号で起動するように指定しています。
sudo systemctl enable vncserver-unimoni@:5
sudo systemctl start vncserver-unimoni@:5
起動を確認します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-50-1024x283.png)
ポート5 で接続。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-51.png)
ポート番号でユーザーを切り替える感じです。
- ポート1(vncserver@:1)→ ec2-user
- ポート5(vncserver@:5)→ unimoni
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-57-1.jpg)
Mate を日本語化する
こちらを参照してください。
[AWS] 「Amazon Linux 2」でMATE(GUI) を日本語化する。
Guest Additions のインストール
先に下記をインストールする。
sudo yum install kernel kernel-headers kernel-devel gcc
デバイスをクリックして、「Guset Additions SD イメージの挿入」をクリック。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-53.png)
マウントされます。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-54-1024x798.png)
Auto Run の問い合わせ・・・みたいなのをそのまま実行してインストールを開始します。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-55-1024x798.png)
インストール完了。少なくともエラーは見受けられない。
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-56-1024x798.png)
共有フォルダの設定はできるようになったので、壁紙を読み込んで変更します。
Chromium をインストール
sudo amazon-linux-extras install epel
sudo yum install chromium
![](https://zapping.beccou.com/wp-content/uploads/2022/10/image-58-1.jpg)
以上です。