How to Migrate Your Static IP's from Heroku to AWS Marketplace

If you are leaving Heroku for AWS but want to keep using QuotaGuard, the process is straightforward and you keep the same static IPs, the same connection URL, and the same credentials throughout. Most of the work happens on our side. You sign up through AWS Marketplace, tell us you are ready, and we move the ownership of your existing subscription onto your new AWS account.

This page is the AWS-specific version of our direct migration guide. The mechanics are nearly identical. The only differences are which form you fill out (AWS Marketplace vs. our pricing page) and how your bill is processed afterward (AWS Marketplace vs. direct).

How long will this take you? About 15 to 20 minutes of active work on your end, and you can spread it over a day or two if you want to monitor traffic in between steps. The backend swap on our side runs whenever you tell us you are ready, and from that go-ahead it takes about 2 minutes.

What’s Different About AWS Marketplace

AWS Marketplace plans bill on a monthly cycle with no annual commitment. A few things follow from that:

  • You are billed monthly, starting when AWS confirms your subscription.
  • Plan upgrades take effect immediately.
  • Plan downgrades require you to cancel your current plan, wait until the end of your billing period, then subscribe at the lower tier. AWS does not allow direct downgrades.
  • Cancellation takes effect at the end of your current billing period. AWS does not issue partial-month refunds.

For details on plan changes and cancellation through AWS, see How to Change or Cancel Your AWS Plan.

Prepare to Migrate from Heroku to AWS

Step 1. Sign up on AWS Marketplace.

QuotaGuard is available as two AWS Marketplace listings. Pick the one that matches your current Heroku add-on:

  • QuotaGuard Static for the traditional static IP proxy.
  • QuotaGuard Shield for the SSL passthrough product (often required for financial, healthcare, or other regulated traffic).

On the listing page, click View purchase options, pick the plan that matches your usage (typically the same tier you are on with Heroku, but you can pick any tier), and complete the AWS-side subscription.

Once AWS confirms the contract, the page will show a Set up your account button. Click that. You will be redirected to our site for a short registration form where you set the email address, password, and AWS region for your new QuotaGuard account. After you submit the form, your new AWS-linked subscription appears in our system and we can take it from there.

For a step-by-step walkthrough of the AWS-side signup with screenshots, see How to Sign Up for QuotaGuard on AWS.

Step 2. Back up your existing Heroku connection URL.

(You can skip this step if you are only using our Inbound Proxy. Not sure? Confirm with us in your Support ticket.)

Copy and save the contents of the QUOTAGUARDSTATIC_URL or QUOTAGUARDSHIELD_URL environment variable on your Heroku app. You will use it in Step 8 if needed.

Via the Heroku CLI:

QG_URL=`heroku config:get -a APPNAME QUOTAGUARDSTATIC_URL`
# or
QG_URL=`heroku config:get -a APPNAME QUOTAGUARDSHIELD_URL`

echo $QG_URL

This is a precaution, not strictly required. The same URL is also visible in your QuotaGuard dashboard at dash.quotaguard.com after the swap, so you can retrieve it from there if needed. Heroku will delete this environment variable when you eventually remove the add-on, so having it pre-saved keeps Step 8 quick.

Step 3. Email Support to initiate the swap.

Send an email to our Support team with:

  • Your Heroku app name.
  • The email address you used when setting up the QuotaGuard account through AWS in Step 1.
  • Your current QuotaGuard subscription username (visible in your Heroku-side QuotaGuard dashboard) or the connection URL you backed up in Step 2.
  • A note that you are ready to migrate your static IPs from Heroku to AWS.

We queue these up during normal business hours and run the backend swap once we have your go-ahead.

What Happens During the Swap Window

The swap is entirely backend on our side. It runs whenever you tell us you are ready, and from that go-ahead it takes about 2 minutes, has no downtime, and requires no action from your team during the window. Your existing Heroku QUOTAGUARDSTATIC_URL (or QUOTAGUARDSHIELD_URL) environment variable keeps routing the same traffic to the same IPs throughout, so the swap itself cannot cause a production issue.

Under the hood, the swap moves the ownership of your original subscription (with your real IPs and connection URL) onto your new AWS Marketplace account. The temporary credentials from your AWS sign-up move the other way and end up on the Heroku side of our backend, where they sit unused until you remove the add-on.

The only steps with any visible impact on your side (removing the Heroku add-on, restoring the env var) happen later, on your schedule, potentially days or weeks after we complete the swap.

Verify and Cut Over

Step 4. Wait for confirmation.

Support will email you when the swap is complete on our side.

Step 5. Verify the swap.

After the swap completes, log into your QuotaGuard dashboard at dash.quotaguard.com using the email and password you set in Step 1. You will see your subscription listed there, with the same connection URL your Heroku app has been using all along. That confirms the swap is done and your original credentials are now under your AWS Marketplace account.

If you open QuotaGuard from the Heroku Resources tab after the swap, you will see a different URL. That is expected. The Heroku side of our backend now holds the temporary credentials from your AWS sign-up. They are not in use by your app, and they will be cleaned up automatically when you remove the Heroku add-on. You can safely ignore them.

Take Your Time Before Removing the Add-On

There is no rush to remove the Heroku add-on after the swap. We recommend confirming that normal traffic continues flowing through your same IPs, and watching that hold for an hour or two before you remove the add-on.

Step 6. Monitor traffic for an hour or two.

Check your application logs and confirm that traffic continues to flow through the same static IPs. Behavior should be identical to before the swap. If anything looks off, contact Support before going further. Rolling back at this point is fast (see the rollback section below).

Step 7. Remove the Heroku add-on.

When you are confident the swap succeeded, remove the QuotaGuard add-on from Heroku.

Via the Heroku CLI:

heroku addons:destroy -a APPNAME quotaguardstatic
# or
heroku addons:destroy -a APPNAME quotaguardshield

When you remove the add-on, Heroku will delete the QUOTAGUARDSTATIC_URL (or QUOTAGUARDSHIELD_URL) environment variable from your app. You will restore it in the next step.

Step 8. Restore the connection URL environment variable.

(If you are only using our Inbound Proxy, you can skip this step.)

Set the connection URL environment variable back on your Heroku app, using the value you saved in Step 2 or copied from your QuotaGuard dashboard.

Via the Heroku CLI:

heroku config:set -a APPNAME QUOTAGUARDSTATIC_URL=$QG_URL
# or
heroku config:set -a APPNAME QUOTAGUARDSHIELD_URL=$QG_URL

If you would like us online when you make this change, let Support know ahead of time and we will arrange a window.

If You Need to Roll Back

Rollback is straightforward and depends on where you are in the process.

  • Before you have removed the Heroku add-on: Email Support and we swap back. No action on your side. The AWS Marketplace subscription you created stays on your AWS account, you can cancel it through AWS Marketplace whenever you are ready (see Change or Cancel Your AWS Plan).
  • After you have removed the Heroku add-on: Re-provision the QuotaGuard add-on on Heroku. Heroku will issue a new connection URL. Email Support and we swap back. Then restore your QUOTAGUARDSTATIC_URL (or QUOTAGUARDSHIELD_URL) env var to the original URL you used before so your app continues using the same IPs.

In either case, the same IPs you started with stay assigned to your subscription throughout, so there is no risk of losing the addresses your downstream partners have allowlisted.

Common Questions

Will traffic be interrupted during the swap? No. Your existing connection URL keeps working the entire time. The swap is a backend ownership change, your traffic path does not shift.

Do my static IP addresses change? No. Your IPs are tied to your subscription, not to the billing platform. They stay with you when ownership moves to AWS.

What if I picked the wrong plan when subscribing on AWS Marketplace? Upgrades happen immediately through AWS Marketplace. Downgrades require cancelling your current plan and subscribing at the lower tier after your current billing period ends. See How to Change or Cancel Your AWS Plan for the AWS-side mechanics.

What if I want to cancel my AWS subscription later? AWS Marketplace cancellation takes effect at the end of your current billing period and AWS does not issue partial-month refunds. The cancellation flow is documented at How to Change or Cancel Your AWS Plan. If you also want to keep your static IPs across the cancellation (for example, to move back to direct billing), contact Support before cancelling so we can plan the IP-preserving swap in advance.

Are there any code changes I need to make in my Heroku app? No, with one small bookkeeping step. The connection URL and credentials your app uses do not change. Once Heroku deletes the addon-managed env var (when you remove the add-on in Step 7), you set it back manually in Step 8 using the value you backed up or copied from your dashboard. No application code changes.

More questions we did not cover? Write us any time at Support.


Ready to Get Started?

Get in touch or create a free trial account

Back to top ↑

Copyright © 2009 - 2026 QuotaGuard. All rights reserved.