Передача файла пользовательских данных в стек AWS Cloudformation

У меня есть сценарий оболочки (файл userdata), и мне интересно, есть ли параметр командной строки, который позволяет пользователю запускать стек Cloudformation с файлом userdata?

2 ответа

Внутри вашего шаблона используйте параметр CloudFormation для пользовательских данных экземпляра:

{
  "Parameters": {
    "UserData": {
      "Type": "String"
    }
  },
  "Resources": {
    "Instance": {
      "Type" : "AWS::EC2::Instance",
      "Properties" : {
        "UserData" : { "Ref" : "UserData" },
        ...
      }
    },
    ...
  }
}

Предполагая, что вы используете Unix-подобную среду командной строки, создайте свой стек следующим образом:

aws cloudformation create-stack --stack-name myStack \
    --template-body file://myStack.json \
    --parameters ParameterKey=UserData,ParameterValue=$(base64 -w0 userdata.sh)

Ваши пользовательские данные должны существовать в шаблоне CloudFormation при создании стека. Вы можете написать скрипт для чтения ваших пользовательских данных из файла и вставить их в стек CloudFormation до его создания. Обратите внимание, что вам может потребоваться внести изменения в форматирование пользовательских данных (см. http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html).,

Другие вопросы по тегам