有没有办法让CloudFormer(测试版)将用户数据保留在启动配置中

时间:2019-06-08 19:57:00

标签: amazon-web-services amazon-cloudformation

我试用了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
        }
      }
    ]
  }
},

请参见full file on gitHub

如果CloudFormer工具由于这样的遗漏而不能用于创建完全正常工作的模板,则似乎很遗憾。现在,我确实知道它是一个测试版,因此我尝试找到一个报告问题的地方。您是否知道让AWS团队知道的首选方式是什么?

1 个答案:

答案 0 :(得分:1)

CloudFormer具有been in beta since 2011。它似乎没有得到太多维护,因此将来可能不推荐使用。

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