【问题标题】:Can my AWS CloudFormation stack's Spot Fleet resource be a "request" instead of "maintain"-ed?我的 AWS CloudFormation 堆栈的 Spot Fleet 资源可以是“请求”而不是“维护”吗?
【发布时间】:2017-09-21 18:33:52
【问题描述】:

是否有可能在我的堆栈中有一个 AWS::EC2::SpotFleet 资源被设置为一次性 request 而不是 maintain-ed 队列(请参阅 the EC2 docs 了解区别)?

EC2 API documentation 提供了一个 Type 属性,但 the CloudFormation template reference 不提供它,验证失败并在堆栈创建期间回滚。

任何帮助将不胜感激 - 谢谢!

【问题讨论】:

  • 与错误“遇到不支持的属性类型”相同的问题 - 您找到指定它的替代方法了吗?
  • @user1811107 不,我正在通过对我的舰队进行非破坏性调整大小的糟糕游戏来解决缺乏这个设施的问题。例如:创建一个包含 10 个实例的队列,对其进行轮询,直到满足 Spot 请求,然后将队列大小调整为 1 个实例(不终止实例)。

标签: amazon-web-services amazon-ec2 amazon-cloudformation


【解决方案1】:

更新:是的,从 2017 年 8 月 18 日开始,现在可以在AWS::EC2::SpotFleet CloudFormation 资源实现。


(下面是 2016 年 12 月 31 日的原始答案)

不,目前无法通过AWS::EC2::SpotFleet CloudFormation 资源实现中的SpotFleetRequestConfigData 参数在RequestSpotFleet API 调用中指定SpotFleetRequestConfig.Type 请求参数。

AWS::EC2::SpotFleet CloudFormation 资源最初是在 October 1 2015 中添加的,而 Spot Fleet Type 参数是在 June 2 2016 附近的某个时候添加到 API 中的。据推测,从那时起,更新资源实现以匹配新的 EC2 API 所需的工作没有被优先考虑。 (不幸的是,许多官方 CloudFormation 资源在这种方式上落后于其 AWS API 对应资源)。

作为一种解决方法,您可以实现自己的 Lambda 支持的 Custom Resource,它使用 AWS SDK for JavaScript 直接调用 requestSpotFleet。 AWS 开发工具包往往比相应的 CloudFormation 资源更快地跟踪 AWS API 的添加/演变。

【讨论】:

    猜你喜欢
    • 2017-09-02
    • 2016-02-29
    • 2021-04-22
    • 2021-04-05
    • 2015-04-16
    • 2019-06-22
    • 1970-01-01
    • 1970-01-01
    • 2020-08-30
    相关资源
    最近更新 更多