Migrating from Google Cloud Storage to AWS S3 storage while using ImageKit

We currently use Google Cloud Storage but are now looking to gradually move to AWS S3 storage. Currently we deliver images and videos on our website by connecting the Google Cloud Storage to ImageKit. When we migrate to AWS, we want to ensure no downtime for our media URLs and everything should keep working as it is. Eventually we plan to stop using Google cloud. How can we do this correctly with ImageKit?

ImageKit provides native integration with AWS S3, allowing you to connect your S3 bucket similarly to how you’ve connected your Google Cloud Storage (GCS)—with read-only access for ImageKit. Follow these steps to migrate seamlessly:

  • Associate Your AWS S3 Bucket as External Storage – Connect your S3 bucket to ImageKit as External Storage. Refer to our documentation for detailed steps.
  • Create a New URL Endpoint for Testing – Before adding the S3 bucket to your existing URL endpoint, first create a new URL endpoint and link it to your AWS S3 bucket. Test asset accessibility to ensure ImageKit can fetch images from this bucket.
  • Associate AWS S3 Origin with Your Existing URL Endpoint – Once verified, add the AWS S3 bucket to the current URL endpoint where your GCS bucket is already configured. ImageKit allows multiple External Origins to be associated to a single URL endpoint and will attempt to fetch assets sequentially. Read more on how assets are fetched when multiple Origins are associated to a single URL endpoint here.

These steps ensure a smooth migration from a GCS bucket to an AWS S3 bucket without downtime or additional development effort.