Назад | Перейти на главную страницу

Имя хоста через Cloud-Init на CentOS, работающем на EC2, не работает

Я настраиваю облачную конфигурацию для пользовательских данных для экземпляра 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