将阿里云账号下的多个Bucket添加到同一个资源池后,您可以结合实际业务场景,精细化地调整Bucket及其请求者的流控配置。
前提条件
当前资源池QoS为邀测功能。您在某个地域的OSS性能达到500Gbps及以上,请联系技术支持申请使用。
配置示例
示例 | 说明 |
多个请求者(以RAM用户身份)同时访问同一个OSS资源池中的不同Bucket时,您可以通过限制不同RAM用户的带宽上限,避免某个RAM用户过度占用资源池的带宽。 | |
不同业务共享OSS资源池中的同一个Bucket时,您可以通过限制指定RAM用户访问某个Bucket的带宽,避免该RAM用户过度占用该Bucket的带宽。 | |
不同业务访问OSS资源池中的不同Bucket时,您可以通过限制某个Bucket的带宽上限,避免因单一Bucket的高流量操作抢占其他Bucket的带宽资源。 | |
通过公网访问、预览或者下载存储在OSS资源池的某个Bucket的文件时,会产生下行流量费用。通过限制该Bucket的公网下载带宽,避免高并发访问导致的高额流量费用支出。 | |
应用程序或服务通常以RAM角色实现跨服务访问OSS,通过限制RAM角色访问资源池内指定Bucket的带宽上限,避免某个RAM角色占用过多带宽影响其他服务。 |
限制多个RAM用户访问资源池的带宽
以下示例用于限制2个RAM用户访问资源池的带宽:
为RAM用户A设置访问资源池的带宽上限。
通过本地XML配置文件(qos.xml)为RAM用户A配置访问资源池的带宽上限。
总上传带宽为100Gbps。其中,内网上传带宽为50Gbps,外网上传带宽为50Gbps。
总下载带宽为200Gbps。其中,内网下载带宽为150Gbps,外网下载带宽为50Gbps。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>50</IntranetUploadBandwidth> <ExtranetUploadBandwidth>50</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>150</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>50</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为RAM用户A(UID为266xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=examplepool --parameters qosRequester=266xxxx --parameters requesterQosInfo --body=file://qos.xml
为RAM用户B设置访问资源池的带宽上限。
通过本地XML配置文件(qos.xml)为RAM用户B配置访问资源池的带宽上限。
总上传带宽为50Gbps。其中,内网上传带宽为30Gbps,外网上传带宽为20Gbps。
总下载带宽为50Gbps。其中,内网下载带宽为30Gbps,外网下载带宽为20Gbps。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>30</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>30</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为RAM用户B(UID为242xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-resource-pool-requester-qos-info --method PUT --parameters resourcePool=examplepool --parameters qosRequester=242xxxx --parameters requesterQosInfo --body=file://qos.xml
关于如何查看RAM用户的UID,请参见查看RAM用户信息。
限制RAM用户访问Bucket的带宽
以上示例用于限制RAM用户访问资源池内某个Bucket的带宽:
通过本地XML配置文件(qos.xml)配置指定RAM用户访问资源池内某个Bucket的带宽上限。
总上传带宽为100Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为100Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)的请求者(UID为266xxxx)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=266xxxx --body file://qos.xml
限制Bucket的总带宽
以下示例用户限制资源池内指定Bucket的总带宽:
通过本地XML配置文件(qos.xml)配置资源池内指定Bucket的带宽上限。
总上传带宽为100Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为200Gbps。其中,内网和外网下载带宽不限制。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
限制Bucket的公网带宽
以下示例用于限制资源池内指定Bucket的公网带宽:
通过本地XML配置文件(qos.xml)配置指定Bucket的公网带宽上限。
总上传带宽为100Gbps。其中,内网上传带宽不限制,外网上传带宽限制为20Gbps
总下载带宽为100Gbps。其中,内网下载带宽不限制,外网下载带宽限制为20Gbps。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
为指定Bucket(示例值为examplebucket)添加以上带宽配置。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
限制多个云服务访问Bucket的带宽
以下示例用于限制CDN以及CPFS服务访问资源池内指定Bucket的带宽:
限制CDN回源私有Bucket场景下的RAM角色带宽
您通过资源池的某个Bucket存放了静态资源,并使用CDN加速分发静态资源。为确保CDN可以从您的私有Bucket中正确获取所需的静态文件,需要开启私有Bucket回源功能。启用该功能后,CDN会通过
AliyunCDNAccessingPrivateOSSRole
这一角色去访问私有Bucket内的资源。通过本地XML配置文件(qos.xml)配置该角色访问指定Bucket的带宽上限。
总上传带宽为20Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为40Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>20</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>40</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为该角色(角色ID为362xxxx)添加访问指定Bucket(示例值为examplebucket)带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=362xxxx --body file://qos.xml
限制CPFS访问OSS场景下的RAM角色带宽
在高性能计算和AI训练场景中,需要频繁从OSS Bucket读取和写入大量的训练数据。为提升数据读写效率,您可以通过CPFS创建数据流动任务,快速将OSS中的数据加载到CPFS。数据加载过程中,CPFS会通过
AliyunServiceRoleForNasOssDataFlow
这一角色来查询和读写OSS中指定Bucket的数据。通过本地XML配置文件(qos.xml)配置该角色访问指定Bucket的带宽上限。
总上传带宽为30Gbps。其中,内网和外网上传带宽不限制。
总下载带宽为50Gbps。其中,内网和外网下载带宽不限制。
总QPS、内网和外网QPS均保留默认值-1,表示不限制QPS。
<QoSConfiguration> <TotalUploadBandwidth>30</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> <TotalQps>-1</TotalQps> <IntranetQps>-1</IntranetQps> <ExtranetQps>-1</ExtranetQps> </QoSConfiguration>
为该角色(角色ID为300xxxx)添加访问指定Bucket(示例值为examplebucket)带宽配置。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=300xxxx --body file://qos.xml
关于如何查看RAM角色ID的具体操作,请参见查看RAM角色。