DesiredEC2Instances ignored in multi-location CloudFormation deployment

0

We have a CloudFormation GameLift Fleet template with this multi-location setting:

....
"Locations": [
          {
            "Location": "us-east-1",
            "LocationCapacity": {
              "DesiredEC2Instances": 1,
              "MinSize": 0,
              "MaxSize": 10
            }
          },
          {
            "Location": "us-west-2",
            "LocationCapacity": {
              "DesiredEC2Instances": 0,
              "MinSize": 0,
              "MaxSize": 10
            }
          },
          {
            "Location": "eu-west-1",
            "LocationCapacity": {
              "DesiredEC2Instances": 0,
              "MinSize": 0,
              "MaxSize": 10
            }
          }
        ],
...

After stack deployment, the fleet has the correct locations and respective min/max instances, but desired instances is set to 1 for all locations.

I am able to fix it in the AWS console post-deployment, but obviously this isn't ideal.

Have I misunderstood how this CloudFormation property works? Or is this a known bug?

asked 3 years ago190 views
2 Answers
0
Accepted Answer

Hi @REDACTEDUSER

Yes, this is a known issue in our backlog. See doc: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-gamelift-fleet.html#cfn-gamelift-fleet-******

When creating a new fleet, GameLift automatically sets this value to "1". Once the fleet is active, you can change this value.

It's tricky to fix this because it would be a backwards-incompatible change. For instance, some people may put down a very large number for these fields currently, and if we fix the behavior as the name intended, it would break those customers due to LimitExceededException.

In the meantime, it might be possible to use CloudFormation Custom Resources to trigger a lambda to update your fleet/location capacity upon creation. See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-custom-resources.html

answered 3 years ago
0

Ok gotcha. Missed that note in the docs.

I've decided to automate this from our deployment script when stack update completes (rather than figure out Custom Resources).

Thanks!

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions