首页 > 解决方案 > 有没有办法让 CloudFormer (beta) 在启动配置中保留用户数据

问题描述

我试用了 CloudFormer(beta),这是一种从选定的现有基础设施生成 CloudFormation 模板的 AWS 工具。CloudFormer 作为一个单独的堆栈运行,它创建一个实例。您使用 CloudFormer 模板创建堆栈,然后使用创建堆栈时填写的凭据登录该实例。如https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cloudformer.html中所述。

这一切都很顺利。我进入 CloudFormer 向导,能够轻松单击并选择我的所有资源,其中包括一个 VPC,以及一个运行连接到 S3、RDS 和 DynamoDB 的简单 Web 应用程序的自动缩放组。该练习基于 Ryan Lewis 的 AWS 优秀 Pluralsight 课程(源代码)。当我运行生成的 CloudFormation 模板时,我只遇到了一个问题:我必须将单次出现更改AWS::RDS::DBSecurityGroupAWS::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 团队知道的首选方式是什么吗?

标签: amazon-web-servicesamazon-cloudformation

解决方案


CloudFormer自 2011 年以来一直处于测试阶段。它最近似乎没有得到太多维护,因此将来可能会被弃用。

因此,您似乎需要手动添加“用户数据”部分。


推荐阅读