web-dev-qa-db-ja.com

AWS Lightsail VMのホスト名を設定するにはどうすればよいですか?

新しい Lightsail VMcloudinit 構成を確認すると、ホスト名などの設定についてメタデータAPIと通信しているようです。ホスト名を設定するlightsailUIコンポーネントが表示されませんが、VMからec2メタデータを調べると、いくつかのユーザーデータが表示されます。 cloudinitが設定したホスト名をオーバーライドしないように書き込む方法はありますか?

編集:

Lightsailにはユーザーデータ用の独自の目的があるようです。

$ cat /var/lib/cloud/instances/user-data.txt

#!/bin/sh
echo Lightsail: Starting Instance Initialization.

cat > /etc/ssh/lightsail_instance_ca.pub << EOF
ssh-rsa nope EOF
echo Lightsail: SSH CA Public Key created. 

echo >> /etc/ssh/sshd_config
echo 'TrustedUserCAKeys /etc/ssh/lightsail_instance_ca.pub' >> /etc/ssh/sshd_config
echo Lightsail: SSH CA Public Key registered.

service sshd restart
echo Lightsail: sshd restarted.

#cloud-config
hostname: pwnguin

そのため、cloud-init出力ログでは、hostname: command not foundについて文句を言います。おそらくシェルコマンドを使用してホスト名を設定できますが、cloudconfigルートでは運が悪い可能性があります。

1
jldugger

launching インスタンスの場合、次のように初期構成(ホスト名など)を含むユーザーデータを渡すことができます。

aws lightsail create-instances --instance-names <value> --availability-zone <value> --blueprint-id <value> --bundle-id <value> --user-data file:///full/path/to/myconfig

Myconfigファイルの内容は次のとおりです。

#cloud-config
hostname: test-vm
2
Alaa Chatti