Я настраиваю облачную конфигурацию для пользовательских данных для экземпляра CentOS 6.4 EC2, и похоже, что это не применимо.
#cloud-config
manage_etc_hosts: true
preserve_hostname: false
hostname: myserver01.example.com
В журналах облачной инициализации я вижу:
cloud-init[DEBUG]: preserve_hostname is set. not managing hostname
Как я могу заставить его установить имя хоста?
Я не пробовал это на CentOS 6 AMI, но это работает для CentOS 7:
NEWHOSTNAME="myserver01.example.com"
CLOUDTMP=`mktemp $TMPDIR/$(basename $0).XXXXXX 2>/dev/null` || exit 1
cat <<EOF > $CLOUDTMP
#!/bin/bash
hostnamectl set-hostname $NEWHOSTNAME
echo "preserve_hostname: true" > /etc/cloud/cloud.cfg.d/99_hostname.cfg
EOF
aws ec2 run-instances --user-data file://$CLOUDTMP --cli-input-json file://path/to/file.json