Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to use cross-bucket replication, which uses
Storage Transfer Service to copy new and updated objects asynchronously from a
source bucket to a destination bucket. When you use cross-bucket replication,
you create and manage replication jobs, which are a type of job in
Storage Transfer Service.
Before you begin
To use cross-bucket replication, you must complete prerequisite steps. For
instructions, refer to Before you begin in the Storage Transfer Service
documentation.
Create a replication job
Console
When you create a cross-bucket replication job using the
Google Cloud console, the Storage Transfer Service service agent is
automatically granted the storage.legacyBucketOwner role on the source
bucket and the storage.legacyBucketWriter role on the destination
bucket.
When using the Google Cloud console, you can create a replication job for
existing buckets or for new buckets during the bucket creation process.
To create a replication job for a new bucket, follow the instructions for
creating a new bucket.
To create a replication job for an existing bucket, complete the following
steps:
In the Google Cloud console, go to the Cloud Storage Buckets page.
In the list of buckets, click the name of the source bucket whose objects
you want to replicate.
On the Bucket details page, click the Configuration tab.
Locate the Cross-bucket replication option and click
editEdit.
In the Edit cross-bucket replication pane that opens, click
Add a destination.
In the Choose a destination section, select a destination bucket,
then click Next.
In the Choose replication settings section, do the following:
Optional: To filter objects to replicate by object name prefix,
select the Replicate objects based on prefix checkbox in the
Choose which objects to replicate section.
To include objects by prefix, enter a prefix in the
Include objects with prefix section, then
click addAdd a prefix.
To exclude objects by prefix, enter a prefix in the
Exclude objects with prefix section, then click
addAdd a prefix.
Optional: To set a storage class for replicated objects, select a
storage class from the menu in the
Set storage class for replicated objects section.
If you skip this step, replicated objects use the destination bucket's
storage class by default.
You cannot list replication jobs using the Google Cloud console. See
View replication job for instructions on how to view a single
replication job at a time.
In the list of buckets, click the name of the source bucket whose
cross-bucket replication job you want to view.
On the Bucket details page, click the Configuration tab.
Locate the Cross-bucket replication option and click
editEdit.
The Edit cross-bucket replication pane appears, which displays
the replication job for each destination bucket.
On the Buckets page, you can view the Replication column, which
displays whether a bucket has a Turbo replication job or a cross-bucket
replication job running. For instructions on displaying the Replication
column, see Show columns.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[],null,["# Use cross-bucket replication\n\nThis page describes how to use [cross-bucket replication](/storage/docs/availability-durability#cross-bucket-replication), which uses\n[Storage Transfer Service](/storage-transfer/docs/overview) to copy new and updated objects asynchronously from a\nsource bucket to a destination bucket. When you use cross-bucket replication,\nyou create and manage replication jobs, which are a type of job in\nStorage Transfer Service.\n\nBefore you begin\n----------------\n\nTo use cross-bucket replication, you must complete prerequisite steps. For\ninstructions, refer to [Before you begin](/storage-transfer/docs/cross-bucket-replication#before-you-begin) in the Storage Transfer Service\ndocumentation.\n\nCreate a replication job\n------------------------\n\n### Console\n\nWhen you create a cross-bucket replication job using the\nGoogle Cloud console, the Storage Transfer Service service agent is\nautomatically granted the `storage.legacyBucketOwner` role on the source\nbucket and the `storage.legacyBucketWriter` role on the destination\nbucket.\n\nWhen using the Google Cloud console, you can create a replication job for\nexisting buckets or for new buckets during the bucket creation process.\n\nTo create a replication job for a new bucket, follow the instructions for\n[creating a new bucket](/storage/docs/creating-buckets#create-bucket).\n\nTo create a replication job for an existing bucket, complete the following\nsteps:\n\n1. In the Google Cloud console, go to the Cloud Storage **Buckets** page. \n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n2. In the list of buckets, click the name of the source bucket whose objects\n you want to replicate.\n\n3. On the **Bucket details** page, click the **Configuration** tab.\n\n4. Locate the **Cross-bucket replication** option and click\n edit **Edit**.\n\n5. In the **Edit cross-bucket replication** pane that opens, click\n **Add a destination**.\n\n6. In the **Choose a destination** section, select a destination bucket,\n then click **Next**.\n\n7. In the **Choose replication settings** section, do the following:\n\n - Optional: To filter objects to replicate by object name prefix,\n select the **Replicate objects based on prefix** checkbox in the\n **Choose which objects to replicate** section.\n\n - To include objects by prefix, enter a prefix in the\n **Include objects with prefix** section, then\n click add **Add a prefix**.\n\n - To exclude objects by prefix, enter a prefix in the\n **Exclude objects with prefix** section, then click\n add **Add a prefix**.\n\n - Optional: To set a storage class for replicated objects, select a\n storage class from the menu in the\n **Set storage class for replicated objects** section.\n\n If you skip this step, replicated objects use the destination bucket's\n storage class by default.\n\n 1. Click **Save**.\n\n### Command line\n\nFor Google Cloud CLI instructions on how to create a replication job,\nrefer to [Create a replication job using the Google Cloud CLI](/storage-transfer/docs/cross-bucket-replication#create-replication-job).\n\n### REST APIs\n\n### JSON API\n\nFor JSON API instructions on how to create a replication job,\nrefer to [Create a replication job using the JSON API](/storage-transfer/docs/cross-bucket-replication#create-replication-job).\n\nTo check the status of the replication job,\n[view Cloud Logging for Storage Transfer Service logs](/storage-transfer/docs/transfer-logs#view-logs).\n\nList replication jobs\n---------------------\n\n### Console\n\nYou cannot list replication jobs using the Google Cloud console. See\n[View replication job](#view-replication-job) for instructions on how to view a single\nreplication job at a time.\n\n### Command line\n\nFor Google Cloud CLI instructions on how to list replication jobs,\nrefer to [List replication jobs using the Google Cloud CLI](/storage-transfer/docs/cross-bucket-replication#list-replication-jobs).\n\n### REST APIs\n\n### JSON API\n\nFor JSON API instructions on how to list replication jobs,\nrefer to [List replication jobs using the JSON API](/storage-transfer/docs/cross-bucket-replication#list-replication-jobs).\n\nView a replication job\n----------------------\n\n### Console\n\n1. In the Google Cloud console, go to the Cloud Storage **Buckets** page. \n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n2. In the list of buckets, click the name of the source bucket whose\n cross-bucket replication job you want to view.\n\n3. On the **Bucket details** page, click the **Configuration** tab.\n\n4. Locate the **Cross-bucket replication** option and click\n edit **Edit**.\n\n The **Edit cross-bucket replication** pane appears, which displays\n the replication job for each destination bucket.\n\nOn the **Buckets** page, you can view the **Replication** column, which\ndisplays whether a bucket has a Turbo replication job or a cross-bucket\nreplication job running. For instructions on displaying the **Replication**\ncolumn, see [Show columns](/storage/docs/cloud-console#show-columns).\n\n### Command line\n\nFor Google Cloud CLI instructions on how to view a replication job,\nrefer to [View a replication job using the Google Cloud CLI](/storage-transfer/docs/cross-bucket-replication#view-replication-job).\n\n### REST APIs\n\n### JSON API\n\nFor JSON API instructions on how to view a replication job,\nrefer to [View a replication job using the JSON API](/storage-transfer/docs/cross-bucket-replication#view-replication-job).\n\nUpdate a replication job\n------------------------\n\nYou can update the following fields of a replication job:\n\n- The description of the replication job\n\n- The configuration for running a replication job\n\n- The configuration of notifications published to Pub/Sub\n\n- The logging behavior for replication job operations\n\n- The status of the replication job (whether it's enabled, disabled, or deleted)\n\n### Console\n\nWhen using the Google Cloud console, you can only update a replication\njob by pausing or unpausing the job.\n\n1. In the Google Cloud console, go to the Cloud Storage **Buckets** page. \n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n2. In the list of buckets, click the name of the source bucket that\n you want to pause or unpause replicating.\n\n3. On the **Bucket details** page, click the **Configuration** tab.\n\n4. Locate the **Cross-bucket replication** option and click\n edit **Edit**.\n\n5. In the **Edit cross-bucket replication** pane that appears, click\n pause **Pause** or\n play_arrow **Unpause** next to the\n replication job you want to update.\n\n### Command line\n\nFor Google Cloud CLI instructions on how to update a replication job,\nrefer to [Update a replication job using the Google Cloud CLI](/storage-transfer/docs/cross-bucket-replication#update-replication-job).\n\n### REST APIs\n\n### JSON API\n\nFor JSON API instructions on how to update a replication job,\nrefer to [Update a replication job using the JSON API](/storage-transfer/docs/cross-bucket-replication#update-replication-job).\n\nDelete a replication job\n------------------------\n\n### Console\n\n1. In the Google Cloud console, go to the Cloud Storage **Buckets** page. \n\n [Go to Buckets](https://console.cloud.google.com/storage/browser)\n2. In the list of buckets, click the name of the source bucket you\n want to stop replicating.\n\n3. On the **Bucket details** page, click the **Configuration** tab.\n\n4. Locate the **Cross-bucket replication** option and click\n edit **Edit**.\n\n5. In the **Edit cross-bucket replication** pane that appears, click\n delete **Delete** next to the\n replication job you want to delete.\n\n6. In the dialogue that appears, click **Confirm**.\n\n### Command line\n\nFor Google Cloud CLI instructions on how to delete a replication job,\nrefer to [Delete a replication job using the Google Cloud CLI](/storage-transfer/docs/cross-bucket-replication#delete-replication-job).\n\n### REST APIs\n\n### JSON API\n\nFor JSON API instructions on how to delete a replication job,\nrefer to [Delete a replication job using the JSON API](/storage-transfer/docs/cross-bucket-replication#delete-replication-job).\n\nWhat's next\n-----------\n\n[Monitor your replicated objects](/storage/docs/monitoring#cross-bucket_replication_graphs)."]]