こんにちは、さるまりんです。
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: True
でssh
でのパスワード認証を可能にしています。
上のファイルを含むseed.iso
をhdiutil
コマンドを使って作成します。
コマンドはこちら↓。
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」としました。
インポート中です。
インポート完了。「設定のカスタマイズ」をクリックします。
設定画面から「デバイス追加」をクリックします。
「CD/DVDドライブ」を選んで「追加」します。
作成したseed.iso
イメージを選びます。
VMを起動、ec2-userでログインしてみます。パスワードはuser-dataで設定したものです。
ログインできました。
コマンド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の環境があるといろいろ便利になりそうです。
今後は静的ネットワークの設定やキーでのログインなど、改善していく点を調べていきたいと思っています。
読んでくださってありがとうござました。
それではまた!