До сих пор я запускал экземпляры EC2 вручную, копируя сценарий bash, который загружает мои артефакты chef + chef и вызывает chef-solo для подготовки экземпляра.
Бывший инженер AWS в компании однажды создал шаблоны CF; которой я едва ли умею пользоваться.
Есть ли способ интегрировать мой сценарий bash в шаблон CF, чтобы при запуске экземпляра CF EC2 вызывался мой сценарий bash и экземпляр auto-provisioned
?
Да, вы можете использовать UserData
атрибут вашего AWS::EC2::Instance
объект.
Этот атрибут принимает в качестве входных данных версию вашего сценария оболочки в кодировке base64. Однако вы можете предоставить скрипт встроенным с помощью функции Cloudformation Base64:
"UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
"#!/bin/bash -v\n",
"# Script goes here\n"
]]}}