Передача файла пользовательских данных в стек 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).,