chef-boneyard / aws_native_chef_server

Cloudformation templates for building a scalable cloud-native Chef Server on AWS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Invalid instance profiles allowed in the template

r2oro opened this issue · comments

commented

I have tried to build a POC Chef stack and for that reason selected:

  {
    "ParameterKey":   "InstanceType",
    "ParameterValue": "t2.large"
  }

After stack failed I have chceked the reason - it failed at WaitCondition.
When I debugged further I found out that Auto Scaling Group could not launch instance for following reason:

Launching a new EC2 instance. Status Reason: EBS-optimized instances are not supported for your requested configuration. Please check the documentation for supported configurations. Launching EC2 instance failed.

I believe that you either should forbid using t2 instances or adjust ServerLaunchConfig so it won't request EbsOptimized request when instance type does not support it.

Great catch @r2oro and your suggestions are right on. I'm on the fence about what we should do.

My thoughts, in no particular order:

  • On one hand, this is meant as a reference architecture for high-performing clusters in AWS - I don't think I've ever fired it up on T2 instances, nor would I recommend those for production clusters
  • On the other hand, I see a regular desire from customers for lost cost options - like for testing clusters
  • Back on the first hand, I've seen two many "temporary" and testing things become production.
  • Life really sucks when you spend a day (or days) doing performance testing or troubleshooting with T2 instances, only to realize that all your assumptions are broken because you ran out of CPU credits a long time ago.
  • As a "reference architecture", we try to keep the support footprint of this work to a minimum - folks take time out of their daily responsibilities to work on this - that's why we make certain decisions like using Amazon Linux and keeping everything dead-simple.

What do you think?

hey good news, now that T3 instances are out, these support EBS optimized. so let's just trim the allowed list down to T3, C5 and M5 - don't need anyone getting too creative, right?

This is fixed in v4 of the template, released this week