Проблема с пользовательскими данными экземпляра ec2 cloudformation - PullRequest
0 голосов
/ 05 августа 2020

У меня проблема, когда я помещаю код sh в шаблон облачной информации, эти json значения находятся в конфигурации запуска

*
"UserData": {
  "Fn::Base64": {
    "Fn::Join": [
      "", [
        "#!/bin/bash \necho ECS_CLUSTER=erp-dev >> /etc/ecs/ecs.config"
      ]
    ]
  }
}

мой шаблон облачной информации запускает экземпляр ec2, после запуска экземпляра готово, я проверяю конфигурацию здесь введите описание изображения здесь

введите описание изображения здесь

символ новой строки печатается буквально, и я не знаю, что происходит, если я проверю журналы, это для /var/log/cloud-init-output.log введите описание изображения здесь

эта конфигурация предназначена для ecs, до того, как она сработала очень хорошо, но из-за этой проблемы я должен выяснить, как установить связь между кластером и экземпляром по-другому.

Кто-нибудь может мне помочь с этим символом новой строки в файле? введите описание изображения здесь

Ответы [ 2 ]

3 голосов
/ 05 августа 2020

Это работает для меня. Каждую строку можно добавить как элемент списка в список "Fn::Join".

{
  "UserData": {
    "Fn::Base64": {
      "Fn::Join": [
        "", [
          "#!/bin/bash\n",
          "echo ECS_CLUSTER=erp-dev >> /etc/ecs/ecs.config"
        ]
      ]
    }
  }
}
1 голос
/ 05 августа 2020

https://serverfault.com/questions/981763/how-do-i-set-user-data-when-using-the-aws-cli-cli-input-json-argument

В комментарии здесь говорится, что у них были проблемы с использованием одной строки для пользовательских данных, когда они использовали base64. Если вы можете обойтись без этого, это может сработать.

...