【问题标题】:AWS: create json template to create auto scaling group to create 2 EC2 instancesAWS:创建 json 模板以创建 Auto Scaling 组以创建 2 个 EC2 实例
【发布时间】:2018-03-05 07:10:19
【问题描述】:

我正在尝试创建一个 CloudFormation 模板来创建一个 Auto Scaling 组,以便我可以从中启动 2 个实例。

我已经创建了 Auto Scaling 组,但我不知道如何编写用于从 Auto Scaling 组创建 2 个 EC2 实例的模板。

这是我的 CloudFormation 模板:

{
    "AWSTemplateFormatVersion": "2010-09-09",
    "Resources": {
        "ASASGHWD2": {
            "Type": "AWS::AutoScaling::AutoScalingGroup",
            "Properties": {}
        },
        "EC2I24ZL9": {
            "Type": "AWS::EC2::Instance",
            "Properties": {}
        },
        "EC2I22IAP": {
            "Type": "AWS::EC2::Instance",
            "Properties": {}
        }
    }
}

我只需要最多两个实例。一个应该一直在运行,如果第一个实例的 CPU 利用率超过 90 %,那么第二个实例应该会出现。

我没有编辑属性。任何简单的默认配置都适合我。

【问题讨论】:

  • 请编辑您的问题并附上您迄今为止创建的模板的副本。设置DesiredCapacity 应该会启动两个实例,但是任何扩展策略都可能会改变这个数量。
  • 嗨约翰,我已经复制了有问题的模板。
  • 在提供完整答案之前,我必须问...为什么您要使用 CloudFormation 模板来执行此任务,而不是仅通过 EC2 管理控制台执行此任务? (这样做有一些很好的理由,但它更复杂。您以前通过控制台使用过 Auto Scaling 吗?)
  • 先生,客户要求是这样的。他们希望稍后在此模板中使用一些厨师代码来引导机器。
  • 嗨,John,我最初被要求创建一个带有自动缩放组、2 个实例的 json 模板,以便我们可以一次又一次地复制我们的这个基础架构。

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


【解决方案1】:

您所做的似乎只是使用 AWS CloudFormation Designer 将 Auto Scaling 图标拖到模板上。因此,定义中没有没有配置

您的模板需要定义:

  • 一个启动配置,它定义了由 Auto Scaling 启动的 Amazon EC2 实例的新配置(例如实例类型、AMI、安全组)
  • 一个Auto Scaling 组,用于定义要启动的实例数量、要在哪个网络中启动以及是否链接到负载均衡器
  • CloudWatch 警报,定义要监控以确定何时扩展的指标
  • Auto Scaling 策略,用于定义触发 CloudWatch 警报时添加/删除多少实例

有关这些配置的示例,请参阅:Auto Scaling Template Snippets

如果您不熟悉上述任何资源,我建议您使用 EC2 管理控制台创建一个 Auto Scaling 组,并熟悉与 Auto Scaling 相关的特性、功能和设置。然后,您将能够将这些转换为 CloudFormation 模板以供将来重复使用。

底线:在自动化之前尝试了解 Auto Scaling。

【讨论】:

  • 在尝试了解 sn-ps 之前,请阅读有关 Auto Scaling 的文档并在控制台中使用它。只有在那之后,您才能尝试了解 CloudFormation sn-ps。
猜你喜欢
  • 2018-10-11
  • 2016-12-25
  • 1970-01-01
  • 1970-01-01
  • 2017-12-11
  • 2011-03-04
  • 2018-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多