Table of Contents
Heroku is available in two geographic regions: US and EU.
You can choose your app’s region to minimize latency for your end users. For example, if your users are primarily in Europe, your app will be faster for them if it’s running in Europe.
Data center locations
|Region Name||Data Center Location|
Select a region
List all available regions with:
$ heroku regions === regions eu Europe us United States
Unless a different region is specified, apps will be created in the
us region. To specify a different region, use the
--region flag when creating the app:
$ heroku create --region eu Creating calm-ocean-1234... done, region is eu http://calm-ocean-1234.herokuapp.com/ | email@example.com:calm-ocean-1234.git Git remote heroku added
Verify an app’s region
To verify an app’s region, check the
Region attribute of the
heroku info command:
$ heroku info === calm-ocean-1234 Git URL: firstname.lastname@example.org:calm-ocean-1234.git Owner Email: email@example.com Region: eu Repo Size: 164M ...
Migrating existing apps
Existing applications can be migrated to a different region.
Add-ons and region support
Add-ons with region support will be provisioned in the same region as the app. Provision them as you normally would:
$ heroku addons:create heroku-postgresql
Add-ons that don’t require a low-latency connection to your app will be provisioned in the default region if unavailable in your app’s region. If an add-on is latency sensitive and is not available in the same region as your app, provisioning will fail:
$ heroku addons:create cloudcounter Adding cloudcounter on calm-ocean-1234... failed ! This app is in region eu, cloudcounter:basic is only available in region us.
You can find add-ons supporting your app’s region using either the CLI or the web interface. To find add-ons supported in the
eu region using the CLI, run this command:
$ heroku addons:list --region=eu
On addons.heroku.com you can use the search box to find add-ons that support the
eu region by searching for “europe”. You can narrow your search further, for example to Redis add-ons that support the
eu region by searching for “Redis europe”.
Apps are deployed to the region specified on creation. Deploy your app as usual.
Adding custom domains to apps running outside the
us region is the same as adding domains to apps in the
To use SSL, provision an SSL endpoint for your application and upload your SSL certificates.
$ heroku addons:create ssl Adding ssl on example... done, v1 ($20/mo) Next add your certificate with `heroku certs:add PEM KEY`. Use `heroku addons:docs ssl` to view documentation. $ heroku certs:add server.crt server.key Resolving trust chain... done Adding SSL Endpoint to example... done example now served by example.herokuapp.com
If your custom domain is properly configured, no additional DNS configuration is required. This differs from the
us region behavior, which requires using a domain like
tokyo-123.herokussl.com. All traffic to
www.example.com can now be served over SSL.
Although each supported region represents a geographically isolated platform runtime, no assumptions should be made about the physical residency of your application data.
Consider the following cases where data is stored in a different location than your app:
- Some non-latency sensitive add-ons can be provisioned in a different region than your app.
- Application logs are routed to Logplex, which is hosted in the US.
- PG Backup snapshots are stored in the US, and WAL files are continuously sent to the US.
- No guarantees are made about the physical location of Heroku’s control surface APIs through which all CLI commands and the management of your applications occur.