Como defino o nome do host de uma VM do AWS Lightsail?

1

Revendo as configurações cloudinit na minha nova VM do Lightsail , parece estar falando com uma API de metadados para configurações como hostname. Eu não vejo nenhum componente da interface do usuário do lightsail para definir o nome do host, mas se eu cutucar os metadados do ec2 da VM, vejo alguns dados do usuário. Existe alguma maneira de escrever para que o cloudinit não substitua um nome de host que eu configurei?

EDITAR:

Parece que o Lightsail tem seu próprio propósito para os dados do usuário:

$ 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

Portanto, no log de saída do cloud-init, ele reclama de hostname: command not found . Eu provavelmente posso colocar um comando shell para definir um nome de host, mas posso estar sem sorte na rota do cloudconfig.

    
por jldugger 29.12.2016 / 06:18

1 resposta

2

Quando iniciando sua instância, você pode passar o usuário dados contendo sua configuração inicial (por exemplo, hostname) da seguinte forma:

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

O conteúdo do arquivo myconfig deve ser:

#cloud-config
hostname: test-vm
    
por 29.12.2016 / 17:15