This document describes the cost components involved in migrating source data to OSS through Data Online Migration Service, including internal and external network transmission fees, API request fees, data restoration fees, and traffic fees for OSS products.
Cost composition
Overview
The following table shows the charges for migrating data from different sources to destinations:
Source | Destination | Source outbound traffic fee | Source request fee | Destination request fee | Transfer acceleration fee |
Source | Destination | Source outbound traffic fee | Source request fee | Destination request fee | Transfer acceleration fee |
OSS | OSS | See Migration between Alibaba Cloud OSS buckets for detailed charging information for data migration between OSS buckets. | Charged | Charged | Charged (when enabled) When migrating data from the Chinese mainland to regions outside the Chinese mainland, or from regions outside the Chinese mainland to the Chinese mainland, it is recommended to enable transfer acceleration to improve data migration efficiency. When transfer acceleration is enabled, transfer acceleration fees will be charged by the destination OSS. |
AWS S3 | OSS | Charged | Charged | Charged | - |
Qiniu kodo | OSS | Charged | Charged | Charged | - |
Tencent COS | OSS | Charged | Charged | Charged | - |
Huawei OBS | OSS | Charged | Charged | Charged | - |
Volcano TOS | OSS | Charged | Charged | Charged | - |
HTTP/HTTPS | OSS | Charged | Charged | Charged | - |
LocalFS | OSS | - | - | Charged | - |
LocalFS | LocalFS | - | - | - | - |
OSS | LocalFS | See Migration from OSS to LocalFS for detailed charging information for data migration from OSS to LocalFS. | Charged | - | - |
Scenarios
Migration between Alibaba Cloud OSS buckets
The billing components for migration between Alibaba Cloud OSS buckets are shown in the following figure. For detailed examples, see OSS as the source:
Source and migration service deployment in the same region
When the region of the data source is the same as the selected migration service deployment region, the data source OSS will not incur external network read fees.
Source and migration service deployment in different regions
When the region of the data source is different from the selected migration service deployment region, the data source OSS will incur external network read traffic fees.
For cross-border data migration between OSS buckets, we recommend enabling transfer acceleration for the destination OSS. This fee will be charged by the destination OSS.
Migration from HTTP/HTTPS to OSS
The billing components for migrating from HTTP/HTTPS to OSS are shown in the following figure:
Migration from third-party storage services to OSS
The billing components for migrating from third-party storage services to OSS are shown in the following figure:
Migration from LocalFS to OSS
The billing components for migrating from LocalFS to OSS are shown in the following figure:
Migration from OSS to LocalFS
The billing components for migrating from OSS to LocalFS are shown in the following figure:
Source and migration service deployment in the same region
Source and migration service deployment in different regions
Migration between LocalFS instances
The billing components for migration between LocalFS instances are shown in the following figure:
API request fees
Before migrating data, the Data Online Migration task needs to perform the following operations: scan the source data (ListObject), compare files between the source and destination addresses (HeadObject), download source files and upload them to the destination address during migration, and verify file metadata after migration. All these processes generate corresponding API requests.
Due to different numbers of files at the source, the number of scan (ListObject) requests also varies, with each request returning a maximum of 1000 files. The number of API requests also varies in different data migration scenarios and with different overwrite options. For a single file, the number of API requests is described as follows:
When migrating data from OSS to OSS, for appendable files larger than 150MB, they will not be migrated in parts but will be calculated as small files for API request counts.
If the file to be migrated is greater than or equal to 150MB, the system will split the file into parts before uploading during data migration, with each part being 50MB. Therefore, the actual number of data migration requests will depend on the size of the migrated data, and the number of requests will depend on the number of parts (N). For example, if the file size is 159MB, then N = 159MB/50MB ≈ 4. If the file size is 150MB, then N = 150MB/50MB = 3. The formula for calculating N is as described above. (The above thresholds are for reference only. We recommend using the actual number of accesses as a basis.)
The following description assumes that file migration is successful and does not involve API requests in case of migration failure.
Overwrite mode: Do not overwrite
For files that exist in the source address but not in the destination address
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × 1
-
2
Destination address
HeadObject × 1
PutObject × 1
HeadObject × 1
3
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × N
-
1+N
Destination address
HeadObject × 1
InitiateMultipartUpload × 1
UploadPart × N
ListParts × 1
CompleteMultipartUpload×1
HeadObject × 1
5+N
For files with the same name that exist in both source and destination addresses
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
-
-
1
Destination address
HeadObject × 1
-
-
1
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
-
-
1
Destination address
HeadObject × 1
-
-
1
Overwrite mode: Overwrite all
For files that exist in the source address but not in the destination address
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × 1
-
2
Destination address
-
PutObject × 1
HeadObject × 1
2
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × N
-
1+N
Destination address
-
InitiateMultipartUpload × 1
UploadPart × N
ListParts × 1
CompleteMultipartUpload×1
HeadObject × 1
4+N
For files with the same name that exist in both source and destination addresses
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject ×1
-
2
Destination address
-
PutObject × 1
HeadObject × 1
2
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × N
-
1+N
Destination address
-
InitiateMultipartUpload ×1
UploadPart × N
ListParts × 1
CompleteMultipartUpload ×1
HeadObject × 1
4+N
Overwrite mode: Overwrite based on last modification time
For files that exist in the source address but not in the destination address
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × 1
-
2
Destination address
HeadObject × 1
PutObject × 1
HeadObject × 1
3
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × N
-
1+N
Destination address
HeadObject × 1
InitiateMultipartUpload × 1
UploadPart × N
ListParts ×1
CompleteMultipartUpload ×1
HeadObject × 1
5+N
For files with the same name that exist in both source and destination addresses, and the destination file versions are all earlier than the source file versions
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × 1
-
2
Destination address
HeadObject × 1
PutObject × 1
HeadObject × 1
3
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
GetObject × N
-
1+N
Destination address
HeadObject × 1
InitiateMultipartUpload × 1
UploadPart × N
ListParts × 1
CompleteMultipartUpload×1
HeadObject × 1
5+N
For files with the same name that exist in both source and destination addresses, and the destination file versions are all later than the source file versions
When the file size at the source address is less than 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
-
-
1
Destination address
HeadObject × 1
-
-
1
When the file size at the source address is greater than or equal to 150MB:
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Operation location
Pre-migration data comparison requests
Data migration requests
Post-migration data verification requests
Number of API requests
Source address
HeadObject × 1
-
-
1
Destination address
HeadObject × 1
-
-
1
Billing examples
User scenario: A user needs to migrate 1000 files, of which 900 files are 500KB each, and 100 files are 160MB each.
The example assumes that the migration task is completed normally without any migration errors.
Example 1: No files with the same name exist at the destination address
Overwrite mode: Do not overwrite
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small files | HeadObject: 900 GetObject: 900 | 1800 | HeadObject: 900*2 PutObject: 900 | 2700 |
Large files | HeadObject: 100 GetObject: 100*4 | 500 | HeadObject: 100*2 InitiateMultipartUpload: 100 UploadPart: 100*4 ListParts: 100 CompleteMultipartUpload: 100 | 900 |
Scan count | ListObject: 1 | 1 | - | - |
Total request count | - | 2301 | - | 3600 |
Overwrite mode: Overwrite all
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small file operations | HeadObject: 900 GetObject: 900 | 1800 | HeadObject: 900 PutObject: 900 | 1800 |
Large file operations | HeadObject: 100 GetObject: 100*4 | 500 | HeadObject: 100 InitiateMultipartUpload: 100 UploadPart: 100*4 ListParts: 100 CompleteMultipartUpload: 100 | 800 |
Scan count | ListObject: 1 | 1 | - | - |
Total request count | - | 2301 | - | 2600 |
Example 2: Files with the same name exist at the destination address, and all destination file versions are earlier than source file versions
Overwrite mode: Do not overwrite
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small file operations | HeadObject: 900 | 900 | HeadObject: 900 | 900 |
Large file operations | HeadObject: 100 | 100 | HeadObject: 100 | 100 |
Scan count | ListObject: 1 | 1 | - | - |
Total | - | 1001 | - | 1000 |
Overwrite mode: Overwrite all
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small file operations | HeadObject: 900 + GetObject: 900 | 1800 | HeadObject: 900 + PutObject: 900 | 1800 |
Large file operations | HeadObject: 100 + GetObject: 100×4 | 500 | HeadObject: 100 + InitiateMultipartUpload: 100 + UploadPart: 100×4 + ListParts: 100 + CompleteMultipartUpload: 100 | 800 |
Scan count | ListObject: 1 | 1 | - | - |
Total | - | 2301 | - | 2600 |
Overwrite mode: Overwrite based on last modification time
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small file operations | HeadObject: 900 + GetObject: 900 | 1800 | HeadObject: 900×2 + PutObject: 900 | 2700 |
Large file operations | HeadObject: 100 + GetObject: 100×4 | 500 | HeadObject: 100×2 + InitiateMultipartUpload: 100 + UploadPart: 100×4 + ListParts: 100 + CompleteMultipartUpload: 100 | 900 |
Scan count | ListObject: 1 | 1 | - | - |
Total | - | 2301 | - | 3600 |
Example 3: Files with the same name exist at both source and destination addresses, and all destination file versions are later than source file versions
Overwrite mode: Do not overwrite or Overwrite based on last modification time
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small files | HeadObject: 900 | 900 | HeadObject: 900 | 900 |
Large files | HeadObject: 100 | 100 | HeadObject: 100 | 100 |
Scan count | ListObject: 1 | 1 | ||
Total | 1001 | 1000 |
Overwrite mode: Overwrite all
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Description | Source address operations | Number of source address requests | Destination address operations | Number of destination address requests |
Small files | HeadObject: 900 GetObject: 900 | 1800 | HeadObject: 900 PutObject: 900 | 1800 |
Large files | HeadObject: 100 GetObject: 100×4 | 500 | HeadObject: 100 InitiateMultipartUpload: 100 UploadPart: 100×4 CompleteMultipartUpload: 100 | 800 |
Scan count | ListObject: 1 | 1 | ||
Total | 2301 | 2600 |
The actual cost of API requests depends on the pricing of each storage service provider. For OSS fees, see Metering items and billing items.
Data restoration fees
For archived data, you must restore the data in advance. After the data is restored, you can create a migration task. When you restore data, take note of the following items:
You must complete the restoration operation before you create a source data address and a migration task.
You must specify the number of days during which the restored data remains in the restored state based on the amount of data that you want to migrate. This prevents data from entering the archived state during data migration.
You are charged for data retrieval during restoration. In some cases, the restoration fees are high. For specific billing rules, you can consult your source storage service provider.
The Data Online Migration service does not perform restoration operations on source data. If you have files that are not restored or are being restored at the source, these files will fail to be migrated.
Download and upload traffic fees
During data migration, Data Online Migration Service first downloads data from the source and then uploads it to OSS. This process generates certain traffic fees. The traffic fees for different scenarios are as follows:
The following description assumes successful migration and does not involve traffic fees in case of migration failure.
Source is a third-party storage service provider
In this case, data download fees will be generated at the source. The traffic generated is determined by the actual size of the data and is charged by the storage service provider where the source address is located. Data uploaded to OSS within a certain bandwidth range is not charged for traffic. For more information, see Limits and performance indicators.
Source is OSS
Whether data migration operations between two OSS buckets generate outbound traffic fees depends on whether you have selected the correct migration service deployment region in the console. The migration service deployment region referred to here is the region selection shown in the following figure, which you need to select before creating a task.
1. When the region of the data source is the same as the selected migration service deployment region, the data source OSS will not incur external network read fees.
Example: If both source and destination are OSS in Beijing, and the Data Online Migration Service deployment region is selected as Beijing, no external network read fees will be generated at the source OSS during migration.
2. When the region of the data source is different from the selected migration service deployment region, the data source OSS will incur external network read fees.
Example: If the source is OSS in Beijing, the destination is OSS in Singapore, and the Data Online Migration Service deployment region is selected as Singapore, external network read fees will be generated at the source OSS during migration.
To follow the principle of shortest transmission path, we recommend keeping the migration service deployment region consistent with the region of the data source before migration. If no available region exists, we recommend selecting a region close to your business to ensure the best migration effect.