自动缩放不能正确创建实例

时间:2016-05-24 11:03:06

标签: amazon-web-services amazon-sqs autoscaling amazon-cloudwatch

当我尝试使用自动扩展策略和组启动实例时,我收到此错误。

Cancelled: Launching a new EC2 instance: i-50dd31cc. Status Reason: Only EC2-Classic instances may be linked.

我使用以下命令创建自动扩展启动配置和自动扩展组。

aws autoscaling create-launch-configuration --launch-configuration-name my-lc --image-id ami-12345678 --instance-type c4.large --classic-link-vpc-id vpc-1345622 --user-data file:///Users/path/Desktop/myscript.sh --classic-link-vpc-security-groups sg-sad34353 --spot-price "0.5"

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --launch-configuration-name my-lc --availability-zones "us-east-1a" "us-east-1e" --max-size 10 --min-size 1 --desired-capacity 10 --vpc-zone-identifier 'subnet-asd3r322,subnet-asdasd12'

然后我根据SQS中的消息数创建Cloudwatch警报。一切似乎都很好,实例运行正常。但问题是他们总是处于"待定"州。然后在半小时后,他们因上述错误而被关闭。

如何仅链接经典EC2实例?

此外,我还有一个与"期望"相关的问题。实例。我的最小计数为1,最大值为10,期望值为10.因此,当我启动组并且SQS中没有消息时,所需的容量会自动降至1.但是当有1000条消息时,即使超过一半一小时,所需容量没有增加。仍然只有一个实例正在运行。为什么呢?

1 个答案:

答案 0 :(得分:1)

这里有2个问题,所以我尽量尽力回答。

启动配置:您似乎正在尝试创建启动配置以将实例启动到链接到VPC的EC2 Classic。您在启动配置中定义的是启动一个c4.large(仅限VPC类型实例),并为VPC启用了经典链接。您需要选择与EC2 Classic兼容的实例类型。

AutoScaling组:您正尝试从启用经典链接的启动配置启动实例(意味着您要将其启动到EC2 Classic中,但是您要提供VPC(子网ID)以启动它。您不应该提供VPC子网ID来启动它。

单独的命令不正确,因此您没有收到任何错误,但它们不兼容,无法在启动时一起使用。

CloudWatch:我建议解决第一个问题,并询问有关您的CloudWatch警报不起作用的单独问题,但我怀疑您没有将警报链接到自动缩放组。有关详细信息,请参阅此网址:http://docs.aws.amazon.com/autoscaling/latest/userguide/as-scale-based-on-demand.html