VMWareでAmazon Linux 2の環境を作ります

こんにちは、さるまりんです。

AWSで使っているAmazon Linux 2の環境を試せるようにVMWare上に作成します。

これから何度もやりそうなので、忘れないようにその手順をメモしておきます。

いろいろと改善していく点もあると思いますが、まずはmac上のVMWareに立ち上げて、ターミナルからsshでログインできるところまでやってみます。

基本的にはAWSのドキュメントにあるこちらの手順に従っています。

1. seed.isoの作成

起動イメージであるseed.isoを作成します。このために二つのドキュメントを用意します。

meta-dataファイル – ホスト名やネットワーク設定を含むファイルです。このファイルに静的ネットワークの設定を入れることもできますが、それはまた別の機会にやってみます。

user-dataファイル – ユーザーアカウント、パスワード、キーペアなどユーザーに関することを設定するファイルです。今回はAmazon Linux 2のユーザーアカウントのパスワードを設定します。

これらのファイルをseedconfigというディレクトリを作ってその中に格納します。

それぞれの内容はこうなっています。

$ cat seedconfig/meta-data 
local-hostname: salumarine.localhost

$ cat seedconfig/user-data 
#cloud-config
#vim:syntax=yaml
users:
 - default
chpasswd:
  list: |
    ec2-user:salumarine
ssh_pwauth: True

local-hostname:でホスト名をsalumarine.localhostに設定、

chpasswd:の項目の中でec2-userのパスワードをsalumarineに設定、

ssh_pwauth: Truesshでのパスワード認証を可能にしています。

上のファイルを含むseed.isohdiutilコマンドを使って作成します。

コマンドはこちら↓。

hdiutil makehybrid -o seed.iso -hfs -joliet -iso -default-volume-name cidata seedconfig/

2. イメージのダウンロード

Amazon Linux 2のイメージがVMWare、VirtualBox等に向けてそれぞれ準備されているのでそれをダウンロードします。

ダウンロード先はこちらのページ、中程の「ステップ 2: Amazon Linux 2 VM イメージのダウンロード」のVMWareのリンク先からダウンロードしました。

ダウンロードページ

3. VMを起動!

ダウンロードしたイメージをダブルクリックして起動して進めます。

起動

適当に名前をつけて保存します。今回は「Salu Amazon Linux」としました。

名前を付けて保存

インポート中です。

インポート中

インポート完了。「設定のカスタマイズ」をクリックします。

インポート完了

設定画面から「デバイス追加」をクリックします。

VM設定画面

「CD/DVDドライブ」を選んで「追加」します。

CD/DVDを追加

作成したseed.isoイメージを選びます。

seed.isoを選択

VMを起動、ec2-userでログインしてみます。パスワードはuser-dataで設定したものです。

起動とログイン

ログインできました。

コマンドip aでIPアドレスをチェックします。

コマンドip aでIPアドレスを調べる

192.168.12.48で振られています。

Macのターミナルからsshで繋いでみます。

% ssh ec2-user@192.168.12.48
The authenticity of host '192.168.12.48 (192.168.12.48)' can't be established.
ECDSA key fingerprint is SHA256:TvFyzxARjubbCYCDaPJpQ1IPQTV25uezmTYRuUeuyA4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.12.48' (ECDSA) to the list of known hosts.
ec2-user@192.168.12.48's password: 
Last login: Sun Feb 28 05:26:21 2021

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
[ec2-user@salumarine ~]$

ログインできました!

sudo su -rootにもなれました。

[ec2-user@salumarine ~]$ sudo su -
[root@salumarine ~]#

meta-dataファイルで指定したホスト名もちゃんと設定されています。

[ec2-user@salumarine ~]$ hostname
salumarine.localhost

EC2を使って開発することが増えているので、手元にAmazon Linux 2の環境があるといろいろ便利になりそうです。

今後は静的ネットワークの設定やキーでのログインなど、改善していく点を調べていきたいと思っています。

読んでくださってありがとうござました。

それではまた!