AWS Cloudformation模板条件和自动扩展配置

问题描述

我正在用Yaml编写我的第一个AWS Cloudformation模板。我试图找出是否有可能基于两个单独的参数输入指定由Autoscaling组创建的实例数。

示例:用户输入从1到3072的以GB为索引的数据量,并将其保存为“数据量”参数。然后,用户最多输入网络的用户数,并将其另存为“ usernumber”。然后,我想用来告诉ASG创建多少个实例。因此,如果有16个用户和2gb的数据量,我要2个实例;如果有48个用户和500gb的数据量,我要10个实例,依此类推,最多21个实例。

像这样可能吗?还是我只能允许用户以单个参数输入他们想要的数字?

感谢您的帮助。

解决方法

这样可能吗?

您可能会创建多个conditions in CFN,以说明所有可能的组合。如果允许的组合很少,则应该可行。

对于更复杂的内容,您需要custom resource。资源将采用 lambda函数的形式,该函数可以对您的参数进行任何计算并使用AWS开发工具包启动实例。

,

这是我要写的例子

Create2Indexer: !和 - !等于 -!Ref'NumberofUsers' - = 300' - !等于 -!Ref'DailyIndexVolume' -'16' - !等于 -!Ref'DailyIndexVolume' -