Deploying to a new aws region errors out with Deployment bucket is not in same region as lambda

when deploying to a new region I’m getting the error
Could not locate deployment bucket. Error: Deployment bucket is not in the same region as the lambda function

This is unexpected since aws s3 buckets are global, not regional.

my serverless.yml file specifies the region, usually us-east-1, but trying to deploy to us-east-2.
service: api-access-mgmt

provider:
 name: aws
 #endpointType: regional
 runtime: python3.6
 stage: ${opt:stage, 'dev'}
 region: us-east-2
 versionFunctions: false
 api_version: v1
 role: ${file(../../config/env_configs.yaml):${self:provider.stage}.role}
 memorySize: 128
 environment: ${file(../../config/env_configs.yaml):${self:provider.stage}.environment}
 deploymentBucket:
   name: ${file(../../config/env_configs.yaml):${self:provider.stage}.deploymentBucket.name}
 sns_topic_lambda_failure : ${file(../../config/env_configs.yaml):${self:provider.stage}.sns_topic_lambda_failure}
 timeout: 30

I found a related post and but the suggestion to change the service name has no effect.

You’ll need a region-specific deployment bucket.
You currently reference it from the env-configs.yml but I don’t imagine it varies by region.

As an example, Here’s what I use:

  deploymentBucket:
    name: ${self:provider.stage}-acme-${opt:region, self:provider.region}-deploys
    serverSideEncryption: AES256

Which would resolve sls deploy -s dev -r us-west-1 to

  deploymentBucket:
    name: dev-acme-us-west-2-deploys
    serverSideEncryption: AES256

And if you don’t want to manually pre-create the possible buckets take a look at serverless-plugin-create-deployment-bucket or serverless-deployment-bucket