Назад | Перейти на главную страницу

Шаблоны AWS CloudFormation и скрипт инициализации bash

До сих пор я запускал экземпляры EC2 вручную, копируя сценарий bash, который загружает мои артефакты chef + chef и вызывает chef-solo для подготовки экземпляра.

Бывший инженер AWS в компании однажды создал шаблоны CF; которой я едва ли умею пользоваться.

Есть ли способ интегрировать мой сценарий bash в шаблон CF, чтобы при запуске экземпляра CF EC2 вызывался мой сценарий bash и экземпляр auto-provisioned?

Да, вы можете использовать UserData атрибут вашего AWS::EC2::Instance объект.

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-instance.html#cfn-ec2-instance-userdata

Этот атрибут принимает в качестве входных данных версию вашего сценария оболочки в кодировке base64. Однако вы можете предоставить скрипт встроенным с помощью функции Cloudformation Base64:

"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
    "#!/bin/bash -v\n",
    "# Script goes here\n"
]]}}