How to Migrate Your Static IP's Off Heroku
Following the August 2022 announcement that Heroku will discontinue free dynos, we’ve received many questions about how to migrate your Static IP service off Heroku, yet maintain the same static IP’s.
Fortunately, it’s a very simple process, as our IP’s work with all cloud providers or with stand alone applications.
You can keep the same IP’s, same user/pass configuration, etc. We just need to do a little magic on the XLRoutes side to make this work for each of your Heroku subscriptions.
As a preliminary step, go ahead and reach out to us to let us know that you’re planning on migrating, so we can start to do our magic in the background.
Below the steps to make this work for your current Heroku Static IP’s.
Prepare to Migrate Heroku Static IP’s
Step 1. Sign up with XLRoutes directly at our site.
Choose the same subscription plan and service (XLR Static vs. XLR Shield).
If you have multiple apps using different IP’s on Heroku, you’ll need multiple subscriptions on XLRoutes too.
Please follow our article on how to add additional subscriptions.
Step 2. Send an email to our Support team and let us know that you’ve signed up with xlroutes.com and that you’re going to migrate off Heroku.
We will exchange the subscriptions that you just signed for on XLRoutes with the subscriptions that you have in Heroku.
- This will allow you to keep your current IPs, configuration, and connection information.
- If you are already on a Dedicated Proxy on Heroku, the process is the same. You will maintain your IPs, configuration, and connection information.
- This is effectively a ‘hot swap’. Your current Heroku data will not be affected, there will be no downtime, and no interruptions will occur with your current or future requests processing through your Static IP’s.
Step 3. We will email you back on Support once the swap is completed on our side.
Step 4. Backup the Connection URL (Alternative Using CLI Listed Below)
(You can skip this step if you are only using our Inbound Proxy. Not sure? Go ahead and confirm it with us on your Support ticket).
Copy and save the contents of the xlroutesSTATIC_URL or xlroutesSHIELD_URL. You’ll use it in Step 7.
You might be wondering why you need to do this step? Well, Heroku will remove this configuration variable when the Add-On is removed.
We don’t have a way to capture that variable if you don’t save it on your end before the Add-On is removed.
Step 5. Verify the Account Swap
Go to each Heroku application and login to XLRoutes from the Resources tab (This is that little upward-to-the-right arrow that allows you to access the XLRoutes administrator inside of Heroku).
Ensure that the connection URL does not match the configuration variable from step 4.
Yes, confirm that it does not match.
Step 6. Remove the Add-On on Heroku
When you are ready to formalize the changeover from Heroku to XLRoutes, go ahead and remove the Add-On in Heroku.
Step 7. Reset the Configuration Variable (If you are only using the inbound proxy service, you can skip this step).
If you are using the outbound proxy, add the Configuration Variable back that you saved from Step 4.
If you want us to be online when you make the change, reach out to Support so we can set up a time/date to be in contact with you.
Alternative CLI instructions for Steps 4 - 7
Step 4. Backup the Connection URL
QG_URL=`heroku config:get -a APPNAME xlroutesSTATIC_URL`
# or
QG_URL=`heroku config:get -a APPNAME xlroutesSHIELD_URL`
echo $QG_URL
Step 5. Verify the Account Swap
To open our dashboard:
heroku addons:open -a APPNAME xlroutesstatic
# or
heroku addons:open -a APPNAME xlroutesshield
Step 6. Remove the Add-On on Heroku
heroku addons:destroy -a APPNAME xlroutesstatic
# or
heroku addons:destroy -a APPNAME xlroutesshield
Step 7. Reset the Configuration Variable (If you are only using the inbound proxy service, you can skip this step).
heroku config:set -a APPNAME xlroutesSTATIC_URL=$QG_URL
# or
heroku config:set -a APPNAME xlroutesSHIELD_URL=$QG_URL
If you want us to be online when you make the change, reach out to Support so we can set up a time/date to be in contact with you.