Установите имя хоста, используя cloud-init в скрипте пользовательских данных в шаблоне запуска EC2 - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть скрипт пользовательских данных в шаблоне запуска для экземпляров EC2.

#!/bin/bash
echo ECS_CLUSTER=analytics-python3-cluster >> /etc/ecs/ecs.config;
echo ECS_BACKEND_HOST= >> /etc/ecs/ecs.config;
#cloud-config
hostname: myhostname;
fqdn: myhostname.example.com;
manage_etc_hosts: true;

Несмотря на то, что это делается с помощью настройки cloud-init, это не работает.

Также попытался изменить порядок и используя просто fqdn, потому что я прочитал, что это единственное полезное значение.

#!/bin/bash
fqdn: myhostname.example.com;
echo ECS_CLUSTER=analytics-python3-cluster >> /etc/ecs/ecs.config;
echo ECS_BACKEND_HOST= >> /etc/ecs/ecs.config;

Редактировать:

, используя только настройки облака, чтобы избежать использования двух типов сценариев. Несмотря на то, что ECS не запускает машину:

#cloud-config
runcmd:
- echo ECS_CLUSTER=analytics-python3-cluster >> /etc/ecs/ecs.config
- echo ECS_BACKEND_HOST= >> /etc/ecs/ecs.config
- [ sh, -c, "sudo yum update -y" ]
- [ sh, -c, "sudo yum install -y ruby"]
- [ sh, -c, "sudo yum install -y wget"]
- [ sh, -c, "cd /home/ec2-user"]
- [ sh, -c, "wget https://aws-codedeploy-eu-west-1.s3.eu-west-1.amazonaws.com/latest/install"]
- [ sh, -c, "chmod +x ./install"]
- [ sh, -c, "sudo ./install auto"]
hostname: 
- myhostname
fqdn: 
- myhostname.example.com
manage_etc_hosts: 
- true

Я думаю, что формат является ожидаемым, потому что, если я использую приведенный ниже, он работает:

#cloud-config
runcmd:
- echo ECS_CLUSTER=analytics-python3-cluster >> /etc/ecs/ecs.config
- echo ECS_BACKEND_HOST= >> /etc/ecs/ecs.config
...