Я опробовал CloudFormer (бета), инструмент AWS, который генерирует шаблон CloudFormation из выбранной существующей инфраструктуры. CloudFormer запускается как отдельный стек, который создает экземпляр. Вы создаете стек, используя шаблон CloudFormer, а затем входите в этот экземпляр, используя учетные данные, которые вы указали при создании стека. Как описано в https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html.
Это все работало гладко. Я попал в мастер CloudFormer и смог легко просмотреть и выбрать все мои ресурсы, которые состояли из VPC, с группой автоматического масштабирования, которая запускает простое веб-приложение, подключенное к S3, RDS и DynamoDB. Упражнение основано на превосходном курсе Райанса Льюиса по Pluralsight для AWS ( исходный код ). Когда я запустил полученный шаблон CloudFormation, я столкнулся только с одной проблемой: мне пришлось изменить единичный случай с AWS::RDS::DBSecurityGroup
на AWS::EC2::SecurityGroup
, потому что первый, похоже, не был принят. Тогда мой стек был успешно создан.
Однако приложение не было запущено. Быстрая проверка показала, что пользовательские данные отсутствовали в конфигурации запуска. Таким образом, кажется, что CloudFormer просто пропускает это при создании шаблона для конфигурации запуска. Это немного странно для меня, так как пользовательские данные - то, что делает конфигурации запуска полезными. Вы сталкивались с той же проблемой, и есть ли обходной путь?
Для полноты картины приведена соответствующая часть созданного шаблона CloudFormation:
"lcpizzalauncherdyn4": {
"Type": "AWS::AutoScaling::LaunchConfiguration",
"Properties": {
"AssociatePublicIpAddress": true,
"ImageId": "ami-0661a53fb3b1e117a",
"InstanceType": "t2.micro",
"KeyName": "pizza-keys",
"IamInstanceProfile": "pizza-ec2-role",
"SecurityGroups": [
{
"Ref": "sgpizzaec2sg"
}
],
"BlockDeviceMappings": [
{
"DeviceName": "/dev/xvda",
"Ebs": {
"SnapshotId": "snap-0cad60faa1e33e22b",
"VolumeSize": 8
}
}
]
}
},
См. Полный файл на gitHub
Кажется печальным, если инструмент CloudFormer не пригоден для создания полностью рабочего шаблона из-за небольшого упущения, подобного этому. Теперь я понял, что это бета-версия, поэтому я попытался найти место, где можно сообщить о проблеме. Знаете ли вы, какой предпочтительный способ сообщить команде AWS?