加速访问OSS资源

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

用户直接访问对象存储 OSS(Object Storage Service)资源时,访问速度会受到OSS的下行带宽以及存储空间(Bucket)所在地域的限制。您可以通过全球加速服务使客户端从就近接入点进入阿里云加速网络,提升客户端的访问速度和体验。本文介绍如何使用全球加速服务加速访问OSS资源。

场景示例

本文以下图的场景为例。某公司总部在美国(弗吉尼亚)地域,总部的海量文件存储在阿里云OSS上。因跨国网络不稳定,中国香港办公点访问美国(弗吉尼亚)总部的OSS资源时经常出现延迟、抖动、丢包等问题。

image

您可以部署全球加速,将后端服务配置为OSS地址,依托阿里云优质BGP带宽和全球传输网络,实现中国香港办公点的客户端加速访问美国(弗吉尼亚)总部的OSS资源。

前提条件

您已在美国(弗吉尼亚)地域开通了OSS服务,且已有资源存储在创建的Bucket中。

配置步骤

image
说明

本文以按量付费的标准型全球加速实例为例,为您介绍如何配置全球加速服务实现加速访问OSS资源。创建按量付费的标准型全球加速实例前,请先了解以下信息:

  • 按量付费全球加速实例采用按流量的带宽计费方式,无需绑定带宽包。接入全球加速网络产生的流量费用统一由云数据传输 CDT(Cloud Data Transfer)结算出账。更多信息,请参见流量计费

  • 首次使用按量付费全球加速实例,您需要在服务开通页面根据提示开通按量付费全球加速服务。

步骤一:配置实例基础信息

  1. 登录全球加速管理控制台

  2. 实例列表页面,单击创建标准型按量付费实例

  3. 实例基础配置配置向导页面,根据以下信息进行配置,然后单击下一步

    配置

    说明

    全球加速实例名称

    输入全球加速实例名称。

    实例计费方式

    默认为按量付费

    使用按量付费的标准型全球加速实例,产生的费用包括:实例费、性能容量单位CU费和流量费。

    资源组

    选择标准型全球加速实例所属的资源组。

    该资源组为当前阿里云账号在资源管理中创建的资源组。更多信息,请参见创建资源组

步骤二:配置加速区域

全球加速实例配置加速区域,指定可以加速访问后端服务的用户所在的地域并为其分配加速带宽。

配置加速区域配置向导页面,根据以下信息配置加速区域,然后单击下一步

配置

说明

加速区域

在下拉列表中选中需要进行访问加速的一个地域或多个地域,然后单击添加至列表

本文在亚太区域下选中中国(香港)地域。

分配带宽

带宽峰值

设置加速地域的带宽。每个加速地域支持分配的带宽范围为2~10000 Mbps。

此处带宽峰值仅作限速,产生的流量费用统一由CDT结算出账。

本文保持默认值200 Mbps。

重要

如果带宽峰值设置过低,可能出现限速从而导致流量被丢弃,请合理规划带宽峰值,确保和业务需求匹配。

IP地址协议

选择接入全球加速服务的IP地址协议。

本文保持默认值IPv4

公网质量类型

选择接入全球加速服务的公网质量类型。

本文选择BGP(多线)

步骤三:配置监听

监听负责检查连接请求,根据您指定的端口和协议处理来自客户端的入站连接。每个监听都关联一个终端节点组,通过指定要分发流量的地域,将终端节点组与监听关联。关联后,全球加速会将流量分配到与监听关联的终端节点组内的最佳终端节点。

配置监听配置向导页面,配置监听,然后单击下一步

此处仅介绍本文强相关的配置项,其余配置项可保持默认配置。更多信息,请参见添加和管理智能路由类型监听

配置

说明

监听名称

输入监听的名称。

路由类型

选择路由类型。

本文选择智能路由

协议

选择监听的协议类型。

本文选择TCP

说明
  • OSS默认支持HTTP和HTTPS两种访问方式。针对文件传输场景:对于小文件传输,建议使用HTTP或HTTPS监听(仅适用于自定义域名访问OSS资源);对于大文件传输,HTTP、HTTPS和TCP监听均可使用。

  • 由于HTTP和HTTPS协议基于TCP连接进行数据传输,因此您可以配置为TCP监听。

端口

指定用来接收请求并向终端节点进行转发的监听端口,端口取值范围:1-65499

每个监听最多可配置30个监听端口。端口之间使用半角逗号(,)分隔,例如80,90,8080

如果您的端口为多个连续的端口,您可以使用短划线(-)表示监听端口范围,例如80-85

本文输入80,443

客户端亲和性

选择是否保持客户端亲和性。保持客户端亲和性,即客户端访问有状态的应用程序时,可以将来自同一客户端的所有请求都定向到同一终端节点。

本文选择源IP

步骤四:配置终端节点组和终端节点

  1. 配置终端节点组配置向导页面,根据以下信息配置终端节点组和终端节点,然后单击下一步

    此处仅介绍本文场景强相关配置项,关于终端节点配置项更多信息,请参见添加和管理智能路由类型监听的终端节点组

    配置

    说明

    地域

    选择终端节点组所属的地域。

    本文选择美国(弗吉尼亚)

    终端节点配置

    终端节点是客户端请求访问的目标主机。您可以根据以下信息配置终端节点:

    • 后端服务类型:选择OSS

    • 后端服务:选择需要加速访问的OSS的Bucket。

    • 权重:输入终端节点权重,权重取值范围:0~255。全球加速根据您配置的权重按比例将流量路由到终端节点。 本文保持默认值255

    警告

    如果某个终端节点的权重设置为0,全球加速将终止向该终端节点分发流量,请您谨慎操作。

    保持客户端源IP

    选择是否保持客户端源IP。

    选择保持客户端源IP,后端服务器可以通过该功能获取客户端源IP。更多信息,请参见保持客户端源IP

    本文保持默认配置不保持

  2. 配置审核配置向导页面,确认信息,然后单击提交

    说明

    创建全球加速实例预计耗时3~5分钟,请您耐心等待。

  3. 可选:创建任务完成后,在创建任务详情列表下方,单击进入实例详情,然后在实例详情页,可选择实例信息监听加速区域等页签查看实例配置信息。

步骤五:配置Hosts或DNS解析

如果您使用阿里云提供的OSS访问域名来访问后端OSS资源,您需要在本地配置Hosts解析;如果您使用自定义域名(自有域名)来访问后端OSS资源,您需要配置DNS解析。配置解析后,访问后端OSS资源的请求将被转发到全球加速,实现加速效果。

配置Hosts解析

您需要配置本地Hosts解析文件,添加OSS访问域名的解析地址为加速IP。OSS访问域名组成规则,请参见OSS访问域名使用规则

说明

本文以Alibaba Cloud Linux 3操作系统为例进行测试。不同类型的操作系统测试命令会有差异,具体测试命令请参见您操作系统的操作指南。

  1. 在中国香港办公点的电脑中打开命令行窗口。

  2. 配置Hosts解析文件。

    1. 执行以下命令,打开/etc/hosts文件。

      vim /etc/hosts
    2. i键进入编辑模式,并在末行输入以下信息。

      <加速IP> <源BucketName>.<源Bucket所属的Endpoint> 

      修改完成后,按Esc键、输入:wq!并按Enter键,保存修改后的配置文件并退出编辑模式。

  3. 执行以下命令,重启网络服务。

    systemctl restart NetworkManager

    配置完成后,您可以执行以下命令,查看配置的/etc/hosts文件以及Hosts解析配置是否生效。

    cat /etc/hosts
    ping <OSS访问域名>

    经验证,/etc/hosts文件已写入OSS访问域名与加速IP的映射关系,并且Hosts解析配置已生效。

    OSS访问域名与加速IP的映射关系.png

配置DNS解析

您需要配置DNS解析,将访问后端OSS资源的请求转发到全球加速,实现加速效果。您可以选择以下任意一种方式:

  • 通过添加A记录,将后端OSS的Bucket域名指向一个IPv4地址,即全球加速实例分配的加速IP。

  • 通过添加CNAME记录,将后端OSS的Bucket域名指向另一个域名,即全球加速实例分配的CNAME地址。

在配置DNS解析之前,请先确保已将自定义域名绑定至资源所在的Bucket,否则无法通过OSS的域名校验。此处自定义域名形式为<源BucketName>.<自有域名>。具体操作,请参见绑定自定义域名

  1. 登录阿里云云解析DNS控制台
  2. 如果您是非阿里云注册的域名,请将域名添加到云解析控制台。

    说明

    对于非阿里云注册域名,需先将域名添加到云解析控制台,才可以进行域名解析设置。具体操作,请参见添加域名。如果您的域名是在阿里云注册的,请跳过该步骤。

  3. 域名解析页面,找到目标域名,在操作列单击解析设置

  4. 根据您的实际情况,选择下列操作中的一种,配置DNS解析。

    • 如果您在自定义域名与资源所在的Bucket绑定时,未开启自动添加CNAME记录(将自定义域名的访问指向Bucket外网访问域名),请单击添加记录

    • 如果您在自定义域名与资源所在的Bucket绑定时,已开启自动添加CNAME记录(将自定义域名的访问指向Bucket外网访问域名),请在该记录右侧的操作列单击修改

  5. 添加记录修改记录面板,完成以下配置,然后单击确认

    • A记录

      配置

      说明

      记录类型

      选择A

      A记录用于将域名指向一个IPv4地址。

      主机记录

      输入加速域名的前缀。

      • 如果您在自定义域名与资源所在的Bucket绑定时,未开启自动添加CNAME记录,请输入源Bucket名称作为主机记录。

      • 如果您在自定义域名与资源所在的Bucket绑定时,已开启自动添加CNAME记录,请确保主机记录为源Bucket名称,无需进行修改。

      解析请求来源

      选择默认

      记录值

      输入全球加速实例分配的加速IP。

      TTL

      表示DNS记录在DNS服务器上的缓存时间,数值越小,修改记录各地生效时间越快。

      本文使用默认值10分钟

    • CNAME记录

      配置

      说明

      记录类型

      选择CNAME

      CNAME记录用于将域名指向另一个域名。

      主机记录

      输入加速域名的前缀。

      • 如果您在自定义域名与资源所在的Bucket绑定时,未开启自动添加CNAME记录,请输入源Bucket名称作为主机记录。

      • 如果您在自定义域名与资源所在的Bucket绑定时,已开启自动添加CNAME记录,请确保主机记录为源Bucket名称,无需进行修改。

      解析请求来源

      选择默认

      记录值

      输入全球加速实例分配的CNAME。

      您可以在实例列表页面查看全球加速实例分配的CNAME。

      TTL

      表示DNS记录在DNS服务器上的缓存时间,数值越小,修改记录各地生效时间越快。

      本文使用默认值10分钟

    配置完成后,您可以执行以下命令,查看DNS解析配置是否生效。

    ping <自定义域名>

    以下验证过程以配置CNAME解析记录为例。经验证,ping自定义域名被转向全球加速的CNAME,则表示DNS解析配置已经生效。

    配置DNS解析后-验证.png

步骤六:访问测试

完成以下操作,测试中国香港客户端是否可以通过OSS访问域名或自定义域名访问美国(弗吉尼亚)总部的OSS资源,并实现访问加速。

本文以阿里云OSS服务提供的ossutil工具为例,将美国(弗吉尼亚)源Bucket内的文件拷贝至中国香港的客户端。具体安装方式,请参考下载和安装ossutil

  1. 在中国香港客户端的电脑打开命令行窗口。

  2. 执行以下命令,将美国(弗吉尼亚)源Bucket内的文件拷贝至中国香港的客户端。

    • 使用全球加速前:

      ossutil64 --retry-times 10 -e <源Bucket所属的Endpoint> -k <源账号的AccessKey Secret> -i <源账号的AccessKey ID> -f cp oss://<源BucketName>/<源文件> ./
      说明

      未使用全球加速进行拷贝时,您实际访问的域名为<源BucketName>.<源Bucket所属的Endpoint>。例如:testBucketName.oss-us-west-1.aliyuncs.com

      图 1. 加速前的访问响应情况

      配置Hosts解析前.png

    • 使用全球加速后,根据是否使用自定义域名,执行的命令有所不同。

      • 无自定义域名加速访问:

        ossutil64 --retry-times 10 -e <源Bucket所属的Endpoint> -k <源账号的AccessKey Secret> -i <源账号的AccessKey ID> -f cp oss://<源BucketName>/<源文件> ./
        说明
        • 此处实际访问域名和执行的命令与使用全球加速前一致,但需确保您已配置Hosts解析文件,将访问请求指向全球加速的加速IP。具体操作,请参见步骤五:配置Hosts或DNS解析

        • 未使用自定义域名进行拷贝时,您实际访问的域名为<源BucketName>.<源Bucket所属的Endpoint>。例如:testBucketName.oss-us-west-1.aliyuncs.com

        图 2. 无自定义域名加速访问响应情况

        配置Hosts解析后.png

      • 自定义域名加速访问:

        ossutil64 --retry-times 10 -e <自有域名> -k <源账号的AccessKey Secret> -i <源账号的AccessKey ID> -f cp oss://<源BucketName>/<源文件> ./
        说明
        • 请确保您已配置DNS解析文件,将访问请求指向全球加速。具体操作,请参见步骤五:配置Hosts或DNS解析

        • 使用自定义域名进行拷贝时,您实际访问的域名为<源BucketName>.<自有域名>。例如:testBucketName.example.com

        图 3. 自定义域名加速访问响应情况

        配置DNS解析后.png

    经测试,使用全球加速后,降低了中国香港客户端访问美国(弗吉尼亚)OSS资源的响应时间。

    说明

    使用全球加速服务加速中国香港客户端访问美国(弗吉尼亚)OSS资源的加速效果以您的实际业务测试为准。