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?

已提问 3 年前203 查看次数
2 回答
0
已接受的回答

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

已回答 3 年前
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!

已回答 3 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则