【问题标题】:AWS Cloudformation trouble with VPC and Autoscalled Windows instancesVPC 和 Autoscall Windows 实例的 AWS Cloudformation 问题
【发布时间】:2014-02-17 10:31:39
【问题描述】:

我正在尝试将 Cloud Formation 模板 multi-tier-web-app-in-vpc.template 与 viusal studio 使用的 cloudformation 模板相结合,以创建负载平衡实例。目标是在 VPC 的私有子网中创建 2 个应用程序服务器。该模板工作正常,但是当我开始插入 Windows 实例时,它们就失败了。 错误信息 CREATE_FAILED WaitCondition 超时。期望 1 时收到 0 个条件 未能创建以下资源:[FrontendWaitCondition]。 .用户请求回滚。

用于创建云层的模板 https://s3.amazonaws.com/hg-optimise/Windows-Multi-Tier.template

我正在尝试使用以下亚马逊模板作为指南。

Amazon Visual Studio 模板 https://s3.amazonaws.com/hg-optimise/Visual-Studio.template

亚马逊多层网络示例 - http://aws.amazon.com/cloudformation/aws-cloudformation-templates/ https://s3.amazonaws.com/cloudformation-templates-us-east-1/multi-tier-web-app-in-vpc.template

【问题讨论】:

  • 您可以发布您正在使用的模板吗?
  • 我看到您更新了问题,但我没有看到您使用的模板。无论如何,看起来您正在尝试做的事情太复杂而无法立即进行故障排除。最好从 Autoscaling 组开始并启动配置,然后添加负载均衡器,然后使用 vpc 等。
  • 我已经尝试了这个模板的几个不同版本,但是无论我如何切片它,它总是无法创建 WaitCondition,这令人沮丧,因为 beankstalk 在 vpc 中工作得很好,所以我知道它可以完成了,我只是错过了一些东西。
  • 我对 Elastic Beanstalk 自动生成的 CloudFormation 有同样的问题。你有没有解决这个问题?

标签: amazon-web-services amazon-cloudformation


【解决方案1】:

看起来你承担了太多的责任,试图让所有事情都同时运转起来。我会尝试一步一步来。创建一个启动一个实例的模板,然后添加 Auto Scaling、负载均衡器、子网、路由等。现在出现的问题很可能是因为您没有发出等待条件成功的信号。

下面是实例资源的属性部分。此片段取自 AWS documentation page。请注意,“UserData”部分调用 cfn-init.exe 以执行实例的 Cloud Formation 部分中指定的操作,并调用 cfn-signal.exe 以向 WaitCondition 发出实例已启动的信号.

"Properties": {
  "InstanceType" : { "Ref" : "InstanceType" },
  "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" },
                { "Fn::FindInMap" : [ "AWSInstanceType2Arch", { "Ref" : "InstanceType" }, "Arch" ] } ] },
  "SecurityGroups" : [ {"Ref" : "SharePointFoundationSecurityGroup"} ],
  "KeyName" : { "Ref" : "KeyPairName" },
  "UserData" : { "Fn::Base64" : { "Fn::Join" : ["", [
    "<script>\n",

    "cfn-init.exe -v -s ", { "Ref" : "AWS::StackName" },
    " -r SharePointFoundation",
    " --region ", { "Ref" : "AWS::Region" }, "\n",

    "cfn-signal.exe -e %ERRORLEVEL% ", { "Fn::Base64" : { "Ref" : "SharePointFoundationWaitHandle" }}, "\n",

    "</script>"
    ]]}}
  }

【讨论】:

  • 我曾尝试直接调用 cfn-signal.exe,但收到错误 WaitCondition received failed message: 'Configuration failed.'对于唯一 ID:i-9371f6bd。唯一的区别是我删除了“-r SharePointFoundation”,我已经把它分解得很远,我让网络启动并运行,我已经启动并运行了 windows 实例,现在我正在尝试合并 2。我会尝试通过清理 Visual Studio 模板来进一步分解它,该模板具有实例和自动缩放功能,但格式与多层模板不同。
  • 最后我回到这个项目,我遇到的主要问题是 Visual Studio 工具隐藏了一些参数。我还没有完成,但我已经开始使用一个更简单的模板来弄清楚如何部署 IIS 应用程序。
【解决方案2】:

您已将前端等待条件设置为基本上等到您的 FrontendFleet 启动并运行。 您应该为前端队列设置所需的容量。

当您收到此错误时,您的自动缩放组 FrontendFleet 的状态是什么?如果这仍在启动实例,那么您的超时时间很短。

我真的不会担心等待条件,除非你真的需要它们。

【讨论】:

  • 我已经尝试了有和没有所需的容量,它似乎没有工作。自动缩放似乎正在运行,并且实例似乎已准备好。我尝试了 3600s 超时,它仍然失败,只是花了更长的时间。我想我是个担心的麦芽汁,但你可能是对的,我可以继续前进并转回来:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-30
  • 2016-05-12
  • 1970-01-01
  • 1970-01-01
  • 2018-02-07
  • 2017-08-06
  • 2021-12-31
相关资源
最近更新 更多