我已经开始探索亚马逊的ElasticBeanstalk (以及其他云提供商,如Google Cloud),将其作为我的一个新应用程序的潜在扩展点。
然而,由于我倾向于并行推出多个想法,其中许多想法在一开始产生的流量很少甚至没有流量(例如,在放弃或投资于产品本身之前,测试驱动给定的新市场),我想知道Amazon Web Services是否允许在不接收流量的时间段内以某种方式最小化此类试用产品的成本,并仅在实际开始接收流量时才启动实例。
换句话说,我可以以某种方式将MinInstanceCount减少到零,这样一旦应用程序开始接收流量,亚马逊就会旋转新的容器,并在停止时关闭实例(以及相关的计费聚合)-而无需人工干预。
我知道谷歌的AppEngine提供了这种模式,在这种模式下,直到容器真正开始接收流量(一旦流量停止-容器被杀死),您才会被收取容器费用。我只是想知道AWS是否提供了这样的东西。
发布于 2017-01-11 04:14:50
AppEngine是一种非常不同的服务类型。我会把Google App Engine比作AWS Lambda,而不是EC2。
不幸的是,如果您等到开始接收流量才启动EC2实例,那么处理该流量就太晚了。EC2实例通常需要几分钟才能启动,在此期间,由于池中没有健康的实例,所有传入流量都会收到来自负载均衡器的错误响应。
发布于 2017-01-11 05:09:38
我想说,你的想法在很大程度上取决于你拥有的应用程序的类型,但需要注意的是,亚马逊网络服务使用的是每小时价格的模型,而谷歌云则是每15分钟的使用量向你收费。这意味着,除非您一次关闭节点数小时,否则您不会看到显著的成本节约。如果您确实计划让节点一次关闭几天,我建议您使用AWS Data Pipeline来安排节点停机时间。管道允许您运行AWS Cli命令,而无需按计划或基于激活来管理访问密钥。
发布于 2017-01-11 04:43:40
您可以将“最小组大小”和“所需”参数减少到零。但由于不会有任何实例会引发CloudWatch告警,自动伸缩组不会为您创建实例。您必须手动启动它们。但您可以使用此技术自动关闭未使用的实例。
https://stackoverflow.com/questions/41577485
复制相似问题