コンテンツへスキップ

Amazon Linux 2 をローカル環境に構築する
【Virtual Box, Windows】

AWS でおなじみの「Amazon Linux 2」をローカル環境のVM でも構築できるって事で早速ためしてみました。
Amazon サイコー!

Seed.iso を作るのは面倒なのでサンプルのものを使用し、Mate をインスト―ルしてGUI 環境まで作成してます。

Amazon Linux 2 を ローカル環境にインストールする

対応するVM は以下の4つ。

いろいろと対応されているので迷うところですが、
私の場合は宗教上の理由から「VirtualBox」の一択です。

導入の流れ

unimoniのアバター

通常のインストールと違い、
AWS からインストール済みのVHD をダウンロード して、
自分のバーチャルマシンに組み込んで使うという感じです。

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

  1. seed.iso 起動イメージの作成(諸事情によりAWSからサンプル配布されているものを使用。)
  2. Amazon Linux 2 インストール済みのVHD をダウンロード。
  3. ダウンロードしたVHD をVM にマウントして起動する。
  4. GUI (vnc クライアント使用)など環境を整える。

Amazon linux 2でVNCサーバーを起動して、VNCクライアント経由でGUI を使用。
ユーザー毎に接続先のポートを分けてます。

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 をダウンロード

ステップ 1: seed.iso 起動イメージを準備する

AWS の説明にある手順だと、seed.iso を自分の環境に合わせて作成していますが、
Windows だとISO ファイルの作成が面倒そうだったので、サンプルでダウンロードしたものを使用してます。

「サンプルのSeed.iso ファイル 」をクリックして、サンプルをダウンロード。

Seed.iso をクリックしてイメージファイルをダウンロード。

AmazonLinux2 インストール済みのVHD をダウンロード

ステップ 2: Amazon Linux 2 VM イメージのダウンロード

使用する仮想化ソフトウェアをクリックして、ハードディスクイメージをダウンロードします。

AmazonLinux2 の起動

VM の作成

新規でVM を作成します。
仮想化ソフトウェアはVirtual Box を使用します。

ハードディスクはダウンロードしたVHD ファイルを使用します。

この辺の設定内容は、仮想化ソフトウェア毎にAWS のドキュメントに解説されていますので、そちらを参考にしてもらえれば良いと思います。

メモリサイズを設定します。

「既にある仮想ハードディスクファイルを使用する」にチェックを入れて、フォルダのアイコンをクリック。

ダウンロードしたVHD を指定して「選択」をクリック。

前の画面に戻り、「作成」をクリックしてVM を作成する。

作成したVM を選択した状態で設定ボタンを押して設定を開く。

ストレージ設定を選択して、光学 ドライブ(DVD ドライブ)のアイコンを選択します。

右端のDVD のアイコンをクリックして、で「ディスクファイルを選択」をクリック。

ダウンロードしたSeed.iso ファイルを選択します。

好みでプロセッサーの数とか、ネットワークの設定など設定します。

VM を起動する

起動ボタンを押して、VM を起動。

こんな感じで起動のログが流れます。

なんか、アップデートも走っている感じです。

適当にログが止まったところでエンターキーを押すと、ログインが表示されるので、
ec2-user / amazon でログインします。

起動できました。

Seed.iso はこのあたりでマウント解除してOK 。

Seed.iso の設定で、ホスト名が「amazonlinux.onprem」になっているので、気になる場合は変更。

sudo hostname amazonlinux.beccou.local

環境設定の確認と変更

サンプルのSeed.iso を使用している場合です。

  • ユーザーはデフォルトのユーザーが有効→「ec2-user/amazon」。
  • キーボードは英語。
  • ネットワークの設定はしていないので、DHCP が有効なら自動でIP が割り当てられている。
    (IP アドレスは「ifconfig」で確認。)
  • SSH 接続はパスワード認証が無効化されている。

キーボードを日本語にする

キーボードの設定が英語で操作しにくいので、日本語に変更します。

参考:2.2. キーボードレイアウトの変更

キーマップを確認。

localectl list-keymaps

設定を変更。

sudo localectl set-keymap jp106

SSH 接続のパスワード認証を有効化

使い勝手の問題でSSH 接続したいので、SSH のパスワードログインを有効にしてます。

sudo vi /etc/ssh/sshd_config

no を無効化(#をつけてコメントアウト)して、yes を有効化。

vi エディタの使い方はこちら。

【図解】vi エディタ使い方まとめ。

再起動すると、ssh 接続をパスワード認証でできるようになります。
PowerShell の方が画面も大きいし、コピペもできて使いやすい^^。

GUI の設定

詳細は下記と同様です。

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

vnc viwer のインストール

詳細は引き続き下記同様です。
SSH ポート転送を面倒なのでしていませんが、した方がセキュアでしょう。

GUI へリモート接続

TigerVNC をダウンロードしてインストール。

https://tigervnc.org/

VNC Viewer を起動して、VNC サーバーが起動している状態でIP アドレスとポート(VNC Server)を指定します。

vncpasswd で設定したパスワードで認証します。

パスワード認証をオフにしたい場合は、
ログインするユーザーで下記のオプションを設定して、サービスを再起動します。

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

起動を確認します。

ポート5 で接続。

ポート番号でユーザーを切り替える感じです。

  • ポート1(vncserver@:1)→ ec2-user
  • ポート5(vncserver@:5)→ unimoni

参考:第13章 TigerVNC

Mate を日本語化する

こちらを参照してください。

[AWS] 「Amazon Linux 2」でMATE(GUI) を日本語化する。

Guest Additions のインストール

先に下記をインストールする。

sudo yum install kernel kernel-headers kernel-devel gcc

デバイスをクリックして、「Guset Additions SD イメージの挿入」をクリック。

マウントされます。

Auto Run の問い合わせ・・・みたいなのをそのまま実行してインストールを開始します。

インストール完了。少なくともエラーは見受けられない。

共有フォルダの設定はできるようになったので、壁紙を読み込んで変更します。

Chromium をインストール

sudo amazon-linux-extras install epel
sudo yum install chromium

以上です。

(Visited 36 times, 1 visits today)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です