Alibaba Cloud OSS provides transfer acceleration to improve data transfer speeds. This enables enterprises to deploy their business in more Alibaba Cloud regions and improve user experience. OSS provides transfer acceleration to accelerate the uploads and downloads of OSS objects over the Internet. Transfer acceleration combines smart scheduling, protocol stack tuning, optimal route selection, and transfer algorithm optimization with OSS server-side configurations to provide an end-to-end acceleration solution.

OSS uses data centers distributed around the globe to implement transfer acceleration. When a data transfer request is sent, it is resolved and routed over an optimal network path and protocol to the data center where your bucket resides.

Note
  • Additional fees are charged based on traffic when you use transfer acceleration. For more information, see Transfer acceleration fees.
  • This feature is available for all regions except China (Heyuan) and UAE (Dubai).

Scenarios

OSS transfer acceleration is used to accelerate access and improve user experience.
  • Accelerates remote data transfer

    For example, forums and online collaboration tools that have users all across the globe can store data in OSS. However, upload and download speeds vary from region to region, which results in inconsistent access experience. In this case, OSS transfer acceleration can be used to allow users from different regions to transfer data over the optimal network based on their regions. This accelerates data transfer and improves access experience for users across different regions.

  • Accelerates uploads and downloads of large objects of gigabytes or terabytes in size.

    When you upload or download large objects in remote regions over the Internet, you can enable transfer acceleration to accelerate data transfer. Transfer acceleration uses optimal Internet route selection and protocol stack tuning to significantly reduce data transfer timeouts in remote regions. Multipart upload allows you to implement resumable upload from the position where the upload failed. You can integrate multipart upload and transfer acceleration to upload and download large objects in remote regions.

  • Accelerates non-static and non-hotspot data downloads

    For example, user experience is a driving factor for product competitiveness and customer retention in apps that require high data download speeds, such as photo management apps, games, e-commerce apps, enterprise portal websites, and financial apps. Obtaining comments on social networking apps also require high download speeds. OSS transfer acceleration is a service designed to accelerate OSS uploads and downloads. You can enable transfer acceleration to maximize bandwidth utilization to accelerate data transfer.

Instructions

When transfer acceleration is enabled for a bucket, two public endpoints become available for the bucket.
  • Accelerate endpoint: oss-accelerate.aliyuncs.com. This endpoint can be used to accelerate access and data transfer. For example, a bucket named test is located in the US (Silicon Valley) region. An object named 123.jpg is stored in the root directory of the bucket. When you access OSS resources by using a browser, you can use the accelerate endpoint http://test.oss-accelerate.aliyuncs.com/123.jpg to accelerate access.
  • Regular endpoint: The format is oss-region.aliyuncs.com. This endpoint can be used when you do not need transfer acceleration. For more information about regular endpoints, see Regions and endpoints.
Notice We recommend that you use the OSS internal endpoint to access an OSS bucket from the ECS instance in the same region. For example, a bucket and an ECS instance are located in the China (Shanghai) region. We recommend that you use oss-cn-shanghai-internal.aliyuncs.com to access OSS from the ECS instance.
ossutil is used as an example to test the actual acceleration effect. The result is shown in the following figure.

You can compare the access speeds from different regions when using the accelerate and regular endpoints. For more information, see The Comparison of OSS Direct Data Transfer and Accelerated Data Transfer in Different Regions.

Implementation modes

Enable OSS transfer acceleration as instructed in Configure transfer acceleration. When transfer acceleration is enabled, you can use any of the following methods to implement transfer acceleration for access to data stored in OSS:
  • Browser
    When you use a browser to access data stored in OSS, replace the endpoint in the object URL with an accelerate endpoint. For example, replace https://test.oss-cn-shenzhen.aliyuncs.com/myphoto.jpg with https://test.oss-accelerate.aliyuncs.com/myphoto.jpg. If the object ACL is private, you must add signature information to the object URL.
    Note To accelerate access to a bucket with transfer acceleration enabled and a custom domain name bound, configure CNAME to map your custom domain name to the accelerate endpoint. For more information, see Bind accelerate endpoints.
  • ossutil

    When you use ossutil to access data stored in OSS, replace the endpoint in the configuration file with an accelerate endpoint. You can also add -e oss-accelerate.aliyuncs.com to each command to perform an operation. For more information about how to configure the endpoint for ossutil, see ossutil.

  • ossbrowser

    When you use ossbrowser to access data stored in OSS, set the endpoint to Customize, and specify an accelerate endpoint. For more information about how to configure the endpoint for ossbrowser, see ossbrowser.

  • SDKs
    When you use SDKs in various programming languages to access OSS, set the endpoint to an accelerate endpoint. The following code provides an example on how to use the OSS SDK for Java to perform simple upload and download:
    • Simple upload
      // This example uses China (Hangzhou) as the endpoint. Specify the actual endpoint based on your requirements.
      String endpoint = "http://oss-accelerate.aliyuncs.com";
      // Security risks may arise if you use the AccessKey pair of an Alibaba Cloud account to log on to OSS, because the account has permissions on all API operations. We recommend that you use your RAM user's credentials to call API operations or perform routine operations and maintenance. To create your RAM user, log on to https://ram.console.aliyun.com.
      String accessKeyId = "<yourAccessKeyId>";
      String accessKeySecret = "<yourAccessKeySecret>";
      
      // Create an OSSClient instance.
      OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
      
      // Upload your local file. <yourLocalFile> consists of the local file path and a filename with extension, for example, /users/local/myfile.txt.
      ossClient.putObject("<yourBucketName>", "<yourObjectName>", new File("<yourLocalFile>"));
      
      // Shut down the OSSClient instance.
      ossClient.shutdown();
    • Simple download
      // This example uses China (Hangzhou) as the endpoint. Specify the actual endpoint based on your requirements.
      String endpoint = "http://oss-accelerate.aliyuncs.com";
      // Security risks may arise if you use the AccessKey pair of an Alibaba Cloud account to log on to OSS, because the account has permissions on all API operations. We recommend that you use your RAM user's credentials to call API operations or perform routine operations and maintenance. To create a RAM user, log on to https://ram.console.aliyun.com.
      String accessKeyId = "<yourAccessKeyId>";
      String accessKeySecret = "<yourAccessKeySecret>";
      String bucketName = "<yourBucketName>";
      String objectName = "<yourObjectName>";
      
      // Create an OSSClient instance.
      OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
      
      // Download the object to a local file. If the name of the object is the same as that of the local file, the object replaces the local file. If the name of the object is different from that of the local file, the object is downloaded.
      ossClient.getObject(new GetObjectRequest(bucketName, objectName), new File("<yourLocalFile>"));
      
      // Shut down the OSSClient instance.
      ossClient.shutdown();
    For more information about SDK examples, see Introduction.

Notes

  • When you enable or disable transfer acceleration, it takes about 30 minutes for the configurations to take effect.
  • After transfer acceleration is enabled, you must use the accelerate endpoint to accelerate access.
  • When the endpoint of your tool is set to an accelerate endpoint, you can perform operations only on the bucket that has transfer acceleration enabled.
  • When transfer acceleration is enabled, other endpoints still function normally. You can switch between endpoints at any time.
  • Transfer acceleration applies to acceleration of access over the Internet.
  • To ensure the security of data transfer, transfer acceleration changes the transfer protocol to HTTPS as needed. Therefore, if you access OSS over HTTPS, the actual accelerate endpoint-based URL uses HTTPS. If you access OSS over HTTPS, the actual accelerate endpoint-based URL may be changed to HTTPS.

Billing

If you enable transfer acceleration and the accelerate endpoint is used to access your bucket, OSS charges additional fees. Assume that an accelerate endpoint is used to download data of 1 GB from a bucket that has transfer acceleration enabled. OSS charges fees based on traffic of 1 GB for transfer acceleration and outbound traffic over the Internet of 1 GB. For more information about prices, visit Object Storage Service Pricing.

To view transfer acceleration fees incurred when you use accelerate endpoints, go to Billing Management in Alibaba Cloud Management Console. . The following table describes the billing items in detail.
Billing item Description
AccM2MOut Accelerated downloads between regions in mainland China
AccM2MIn Accelerated uploads between regions in mainland China
AccO2MOut Accelerated downloads from regions outside mainland China to buckets located in mainland China
AccO2MIn Accelerated uploads from regions outside mainland China to buckets located in mainland China
AccM2OOut Accelerated downloads from regions in mainland China to buckets located outside mainland China
AccM2OIn Accelerated uploads from regions in mainland China to buckets located outside mainland China
AccO2OOut Accelerated downloads between regions outside mainland China
AccO2OIn Accelerated uploads between regions outside mainland China

FAQ

  • What are the differences between transfer acceleration and Alibaba Cloud CDN?
    Feature Description Scenario
    Transfer acceleration Transfer acceleration combines smart scheduling, protocol stack tuning, optimal route selection, and transfer algorithm optimization with OSS server-side configurations to provide an end-to-end acceleration solution.
    • Accelerates object uploads.
    • Accelerates remote object uploads and downloads.
    • Accelerates uploads and downloads of large objects.
    • Accelerates dynamic object updates and non-hotspot object downloads.
    Alibaba Cloud CDN Alibaba Cloud CDN uses OSS buckets as origins and distributes the content from the origins to edge nodes. When you read data, the cache file is obtained from an optimal node to accelerate downloads. Accelerates downloads when a large number of users in the same region concurrently download the same static file.
  • How do I implement transfer acceleration based on a custom domain name?

    After you bind a custom domain name to OSS, you can map the CNAME to the accelerate endpoint. For more information, see Bind accelerate endpoints.