Передача параметров облачной информации AWS в среду EC2 - PullRequest
0 голосов
/ 06 июня 2018

У меня есть шаблон экземпляра EC2, который я создаю для запуска определенного приложения.Я хочу иметь возможность передавать параметры в сценарий запуска этого приложения, который я выполняю в своих шаблонах UserData.

В идеале, для меня был бы способ преобразовать указанные параметры в: A) Переменные среды вэкземпляр ec2, к которому я бы обратился в скрипте запуска B) Используемые переменные внутри моего скрипта UserData.

Вот упрощенный шаблон того, что я хотел бы выполнить ... Не нашли никаких документов aws, говорящих этоможно сделать:

Resources:
  GitlabRunner:
    Type: "AWS::EC2::Instance"
    Description: "AWS stack for a serivce"
    Properties:
      UserData:
        Fn::Base64: "#!/bin/bash\nmy-service $TAGS"

Parameters:
  Tags:
    Type: String
    Default: asd
    Description: Comma delimited list of tags

1 Ответ

0 голосов
/ 07 июня 2018

Этот сценарий может быть реализован с помощью !Sub (обратите внимание на синтаксис подстановки ${..}).Например:

Resources:
  GitlabRunner:
    Type: "AWS::EC2::Instance"
    Description: "AWS stack for a serivce"
    Properties:
      UserData:
        Fn::Base64: !Sub "#!/bin/bash\nmy-service ${Tags}"

Parameters:
  Tags:
    Type: String
    Default: asd
    Description: Comma delimited list of tags

Вы можете избежать ввода всего в одной строке, используя |.Например:

...
UserData:
  Fn::Base64: !Sub |
    #!/bin/bash
    my-service ${Tags}
    echo hello world
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...