らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

vSphere 上に AmazonLinux2 をデプロイする際は cloud-init ファイルも必要

(※ 過去に同じ内容で vSphere 上に Amazon Linux 2 をインストールする というメモを書いていました…)

AmazonLinux2 をオンプレミス環境の vSphere 上へデプロイする手順は Amazon Linux 2 を仮想マシンとしたオンプレミスでの実行 に書かれています。 このドキュメントからリンクされていますが、最新の AmazonLinux2 OVA イメージは ここから ダウンロード出来ます。

但し OVA ファイルをデプロイしただけではログインすることが出来ません。 ログイン出来る状態にするには cloud-init でパスワードを設定する必要があります。 今回はこの cloud-init 用のファイルを作成する手順をメモしておきます。 結果的に作成したファイルは下記からダウンロード出来ます。

  • seed_20210801.iso
    • ec2-user のパスワードは password
    • 平文によるパスワード認証を有効化

meta-data と user-data の準備

cloud-init 用のファイルは今回、Linux 上で作成してみます。 以下の内容で meta-data と user-data という 2 つのファイルを作成します。

meta-data

local-hostname: localhost

user-data

#cloud-config
password: password
chpasswd: { expire: False }
ssh_pwauth: True

.iso イメージを作成する

作成した 2 つのファイルを .iso イメージ化します。

genisoimage -output seed.iso -volid cidata -joliet -rock meta-data user-data

仮想マシンを起動する

AmazonLinux2 を OVA からデプロイしたら上記で作成した .iso イメージをマウントして仮想マシンを起動します。 cloud-init の処理が完了すれば指定したパスワードでログイン出来るようになっています。 初期状態では DHCP 設定になっていますが、vSphere の管理画面から仮想マシンの IP アドレスが分かれば、そのまま SSH することも勿論可能です。