This guide is helpful if you want to migrate from your self-hosted RudderStack instance to RudderStack Cloud.
If you are self-hosting your control plane using the Control Plane Lite utility, follow these steps to migrate to cloud:
- Sign up for RudderStack Cloud.
- Set up your sources and destinations in your new cloud instance. See our Dashboard Guides overview for walkthroughs on setting up sources and destinations.
If you're using the RudderStack-hosted control plane for your source-destination configurations, skip to the next section, Data Plane Migration.
Follow these steps to switch from a self-hosted to RudderStack-hosted data plane:
dataPlaneUrlparameter in all your SDK configurations to point to the RudderStack-hosted hosted data plane URL. Refer to the specific SDK documentation or this FAQ for details on obtaining the data plane URL.
Verify that the self-hosted data plane is no longer getting any requests. One way to do this is to check your load balancer metrics to verify if any requests are still received on your data plane.
Ensure that all events received in the self-hosted data plane are delivered.It is recommended to keep the self-hosted data plane running for a day or two to ensure that all the events are delievered.
Shut down the self-hosted data plane depending on your deployment method. For example, if you have deployed the data plane using Helm, run the following command:helm delete <rudderstack-release-name>Replace the
rudderstack-release-namewith the release name of the Helm chart you want to delete.
In the case of mobile SDKs, your customers need to update their mobile applications. You can keep the self-hosted data plane online until a satisfactory number of customers have updated their mobile application or there are no more events coming in to the self-hosted data plane.
Alternatively, you can run an API Gateway or Cloudflare workers to proxy the requests from your self-hosted data plane URL to the RudderStack-hosted data plane URL.
With mobile SDKs, if you are using Firebase to serve values like
dataPlaneUrl, there is no need to update the mobile application to point to the RudderStack-hosted data plane.
This process of switching the data plane can hamper the order of events as events are sent both from the RudderStack-hosted and self-hosted data plane at the same time for a while. Hence, it is recommended to choose a low-traffic time slot to carry out this activity.