如何设置 AWS Lightsail VM 的主机名?

如何设置 AWS Lightsail VM 的主机名?

审阅cloudinit我的新配置Lightsail 虚拟机,它似乎正在与元数据 API 对话,以进行主机名等设置。我没有看到任何 Lightsail UI 组件来设置主机名,但如果我从 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。我可能可以放置一个 shell 命令来设置主机名,但我在 cloudconfig 路由上可能运气不佳。

答案1

什么时候发射您的实例,您可以传递包含初始配置(例如主机名)的用户数据,如下所示:

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

相关内容