【发布时间】:2019-10-23 20:50:42
【问题描述】:
我试用了 CloudFormer(beta),这是一种 AWS 工具,可从选定的现有基础设施生成 CloudFormation 模板。 CloudFormer 作为一个单独的堆栈运行,它创建一个实例。您使用 CloudFormer 模板创建堆栈,然后使用您在创建堆栈时填写的凭据登录该实例。如https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html 中所述。
这一切都很顺利。我进入 CloudFormer 向导,能够轻松单击并选择我的所有资源,其中包括一个 VPC,以及一个运行连接到 S3、RDS 和 DynamoDB 的简单 Web 应用程序的自动缩放组。该练习基于 Ryan Lewis 出色的 AWS Pluralsight 课程 (source code)。当我运行生成的 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
}
}
]
}
},
如果 CloudFormer 工具因为这样的一点遗漏而无法用于创建完整的模板,这似乎很可悲。现在我确实知道它是一个测试版,所以我试着找一个地方报告问题。您知道让 AWS 团队知道的首选方式是什么吗?
【问题讨论】:
标签: amazon-web-services amazon-cloudformation