Alibaba Cloud アカウント内の複数のバケットを同じリソースプールに追加した後、ビジネス要件に基づいて、バケットおよびバケットにアクセスするリクエスト元の帯域幅調整をきめ細かく構成できます。
前提条件
リソースプール QoS は招待プレビュー中です。リージョン内の OSS バケットのスループットが 500 Gbit/s に達しているか、超えている場合は、テクニカルサポート に連絡して、この機能を申請できます。
ossutil 2.0 がインストールされていること。
構成例
例 | 説明 |
複数のリクエスト元が RAM ユーザーとして同時に同じリソースプール内の異なるバケットにアクセスする場合、RAM ユーザーがリソースプールの帯域幅を過剰に使用しないように、異なる RAM ユーザーの最大帯域幅を指定できます。 | |
異なるアプリケーションがリソースプール内の同じバケットにアクセスする場合、特定の RAM ユーザーがバケットへのアクセスに使用できる最大帯域幅を指定できます。これにより、RAM ユーザーがバケットの帯域幅を過剰に使用することを防ぎます。 | |
異なるアプリケーションがリソースプール内の異なるバケットにアクセスする場合、単一バケットのトラフィックの急増によって他のバケットの帯域幅がプリエンプトされないように、バケットの最大帯域幅を指定できます。 | |
インターネット経由でリソースプール内のバケットにあるオブジェクトにアクセス、プレビュー、またはダウンロードすると、アウトバウンドトラフィックが発生します。同時アクセス数の多さによる高額なトラフィック料金を防ぐために、バケットのインターネット経由の最大ダウンロード帯域幅を指定できます。 | |
ほとんどの場合、アプリケーションまたはサービスは RAM ロールを使用してサービス間で OSS にアクセスします。このようにして、RAM ロールがリソースプール内の特定のバケットにアクセスするために使用できる最大帯域幅を指定できます。これにより、RAM ロールが過剰な帯域幅を消費して他のサービスに影響を与えることを防ぎます。 | |
同じリソースプール内の多数の優先度の低いバケットをバケットグループに割り当て、グループに帯域幅制限を適用できます。この方法により、少数の残りの優先度の高いバケットが内部または外部のデータ転送に十分な帯域幅を確保し、サービス品質と応答速度を維持できます。 | |
同じリソースプール内の多数の優先度の低いバケットをバケットグループに割り当て、グループに帯域幅制限を適用できます。この方法により、少数の残りの優先度の高いバケットがピーク使用期間中に常に十分なインターネット帯域幅を確保できます。 |
複数の RAM ユーザーがリソースプールへのアクセスに使用できる合計最大帯域幅を指定する
次の例では、2 人の RAM ユーザーがリソースプールへのアクセスに使用できる最大帯域幅を指定する方法について説明します。
RAM ユーザー A がリソースプールへのアクセスに使用できる合計最大帯域幅を指定します。
ローカルの qos.xml 構成ファイルを使用して、RAM ユーザー A がリソースプールへのアクセスに使用できる合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 100 Gbit/s に設定します。内部ネットワーク経由の最大アップロード帯域幅は 50 Gbit/s、インターネット経由の最大アップロード帯域幅は 50 Gbit/s です。
合計最大ダウンロード帯域幅を 200 Gbit/s に設定します。内部ネットワーク経由の最大ダウンロード帯域幅は 150 Gbit/s、インターネット経由の最大ダウンロード帯域幅は 50 Gbit/s です。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>50</IntranetUploadBandwidth> <ExtranetUploadBandwidth>50</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>150</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>50</ExtranetDownloadBandwidth> </QoSConfiguration>
上記の帯域幅構成を、UID が 266xxxx の RAM ユーザー A に追加します。
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 がリソースプールへのアクセスに使用できる合計最大帯域幅を指定します。
ローカルの qos.xml 構成ファイルを使用して、RAM ユーザー B がリソースプールへのアクセスに使用できる合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 50 Gbit/s に設定します。内部ネットワーク経由の最大アップロード帯域幅は 30 Gbit/s、インターネット経由の最大アップロード帯域幅は 20 Gbit/s です。
合計最大ダウンロード帯域幅を 50 Gbit/s に設定します。内部ネットワーク経由の最大ダウンロード帯域幅は 30 Gbit/s、インターネット経由の最大ダウンロード帯域幅は 20 Gbit/s です。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>30</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>30</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
上記の帯域幅構成を、UID が 242xxxx の RAM ユーザー B に追加します。
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 ユーザーの帯域幅構成を一覧表示します。
ossutil api invoke-operation --op-name list-resource-pool-requester-qos-infos --method GET --parameters resourcePool=examplePool --parameters requesterQosInfo
RAM ユーザーの UID を表示する方法については、「RAM ユーザーに関する情報を表示する」をご参照ください。
RAM ユーザーがバケットへのアクセスに使用できる合計最大帯域幅を指定する
次の例では、RAM ユーザーがリソースプール内のバケットにアクセスするために使用できる合計最大帯域幅を指定する方法について説明します。
ローカルの qos.xml 構成ファイルを使用して、特定の RAM ユーザーがリソースプール内のバケットにアクセスするために使用できる合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 100 Gbit/s に設定します。アップロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
合計最大ダウンロード帯域幅を 100 Gbit/s に設定します。ダウンロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
examplebucket という名前のバケットにアクセスするために、上記の帯域幅構成を UID が 266xxxx の RAM ユーザーに追加します。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=266xxxx --body file://qos.xml
(オプション) リソースプール内の特定のバケットにアクセスするための RAM ユーザーの帯域幅構成を取得します。
ossutil api invoke-operation --op-name get-bucket-requester-qos-info --method GET --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=266xxxx
バケットの合計最大帯域幅を指定する
次の例では、リソースプール内のバケットの合計最大帯域幅を指定する方法について説明します。
ローカルの qos.xml 構成ファイルを使用して、リソースプール内のバケットの合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 100 Gbit/s に設定します。アップロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
合計最大ダウンロード帯域幅を 200 Gbit/s に設定します。ダウンロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>200</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
上記の帯域幅構成を、examplebucket という名前のバケットに追加します。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
(オプション) バケットの合計帯域幅構成を取得します。
ossutil api invoke-operation --op-name get-bucket-qos-info --method GET --bucket examplebucket --parameters qosInfo
バケットの合計最大インターネット帯域幅を指定する
次の例では、リソースプール内のバケットのインターネット経由の合計最大帯域幅を指定する方法について説明します。
ローカルの qos.xml 構成ファイルを使用して、バケットのインターネット経由の合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 100 Gbit/s に設定します。内部ネットワークのアップロード帯域幅は無制限ですが、インターネット経由の最大アップロード帯域幅は 20 Gbit/s です。
合計最大ダウンロード帯域幅を 100 Gbit/s に設定します。内部ネットワークのダウンロード帯域幅は無制限ですが、インターネット経由の最大ダウンロード帯域幅は 20 Gbit/s です。
<QoSConfiguration> <TotalUploadBandwidth>100</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
上記の帯域幅構成を、examplebucket という名前のバケットに追加します。
ossutil api invoke-operation --op-name put-bucket-qos-info --method PUT --bucket examplebucket --parameters qosInfo --body=file://qos.xml
(オプション) バケットの内部帯域幅構成を取得します。
ossutil api invoke-operation --op-name get-bucket-qos-info --method GET --bucket examplebucket --parameters qosInfo
複数のクラウドサービスがバケット内のオブジェクトにアクセスするために使用できる合計最大帯域幅を指定する
次の例では、Alibaba Cloud CDN と Cloud Parallel File Storage (CPFS) がリソースプール内のバケットにアクセスするために使用できる合計最大帯域幅を指定する方法について説明します。
RAM ロールを使用して Alibaba Cloud CDN で非公開バケットからオブジェクトを取得する場合に、RAM ロールの合計最大帯域幅を構成します。
リソースプール内の非公開バケットを使用して静的オブジェクトを保存し、Alibaba Cloud CDN を使用して静的オブジェクトの配信を高速化します。 Alibaba Cloud CDN が非公開バケットから必要な静的オブジェクトを取得できるようにするには、Alibaba Cloud CDN の非公開 OSS バケットからのオリジンフェッチを有効にする必要があります。その後、Alibaba Cloud CDN は、
AliyunCDNAccessingPrivateOSSRole
という名前の RAM ロールを使用して、非公開バケット内のオブジェクトにアクセスできます。ローカルの qos.xml 構成ファイルを使用して、RAM ロールがバケット内のオブジェクトにアクセスするために使用できる合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 20 Gbit/s に設定します。アップロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
最大ダウンロード帯域幅を 40 Gbit/s に設定します。ダウンロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
<QoSConfiguration> <TotalUploadBandwidth>20</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>40</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
examplebucket という名前のバケット内のオブジェクトにアクセスするために、上記の帯域幅構成を ID が 362xxxx の RAM ロールに追加します。
ossutil api invoke-operation --op-name put-bucket-requester-qos-info --method PUT --bucket=examplebucket --parameters requesterQosInfo --parameters qosRequester=362xxxx --body file://qos.xml
RAM ロールを使用して CPFS でバケット内のオブジェクトにアクセスする場合に、RAM ロールの合計最大帯域幅を構成します。
高性能コンピューティングと AI トレーニングのシナリオでは、大量のトレーニングデータを OSS バケットから頻繁に読み取り、大量のトレーニングデータを OSS バケットに書き込む必要があります。データの読み取りと書き込みの効率を向上させるために、CPFS を使用してデータフロータスクを作成し、OSS から CPFS にデータをすばやくロードできます。データのロード中に、CPFS は
AliyunServiceRoleForNasOssDataFlow
ロールを偽装して、OSS 内の指定されたバケットのデータをクエリ、読み取り、および書き込みます。ローカルの qos.xml 構成ファイルを使用して、RAM ロールがバケット内のオブジェクトにアクセスするために使用できる合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 30 Gbit/s に設定します。アップロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
最大ダウンロード帯域幅を 50 Gbit/s に設定します。ダウンロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
<QoSConfiguration> <TotalUploadBandwidth>30</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>50</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
300xxxx という名前のバケット内のオブジェクトにアクセスするために、上記の帯域幅構成を ID が 手順 3: メディア設定を構成する の RAM ロールに追加します。
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 ロールの帯域幅構成を一覧表示します。
ossutil api invoke-operation --op-name list-resource-pool-requester-qos-infos --method GET --parameters resourcePool=examplePool --parameters requesterQosInfo
RAM ロールの ID を表示する方法については、「RAM ロールに関する情報を表示する」をご参照ください。
優先度の低いバケットを持つバケットグループの合計最大帯域幅を指定する
たとえば、リソースプールは、online
、offline-01
、offline-02
の各バケットで構成されています。 online
バケットはオンラインのビジネス運用専用であり、帯域幅割り当ての優先順位を付ける必要があります。 offline-01
バケットと offline-02
バケットは、異なるオフラインタスクを処理します。オフラインタスクがオンラインのビジネス運用に干渉しないようにするために、offline-01
バケットと offline-02
バケットを 1 つのバケットグループにグループ化できます。このグループに帯域幅制限を適用することにより、システムは、オフラインタスクが制御された帯域幅制約内で動作する一方で、オンラインのビジネス運用が中断のない優先アクセスを維持することを保証します。
ローカルの qos.xml 構成ファイルを使用して、リソースプール内のバケットグループの合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 50 Gbit/s に設定します。アップロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
合計最大ダウンロード帯域幅を 100 Gbit/s に設定します。ダウンロード帯域幅は、内部ネットワークとインターネットの両方で無制限です。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>-1</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>-1</ExtranetDownloadBandwidth> </QoSConfiguration>
offline-01
バケットとoffline-02
バケットをバケットグループに追加します。offline-01
バケットをバケットグループに追加します。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket offline-01 --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group
offline-02
バケットをバケットグループに追加します。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket offline-02 --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group
(オプション) バケットグループに追加されているバケットのリストを取得します。
ossutil api invoke-operation --op-name list-resource-pool-bucket-groups --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup
バケットグループの帯域幅しきい値を構成します。
ossutil api invoke-operation --op-name put-resource-pool-bucket-group-qos-info --method PUT --parameters resourcePoolBucketGroupQosInfo --parameters resourcePool pool-for-ai --parameters resourcePoolBucketGroup offline-group --body=file://qos.xml
(オプション) バケットグループの帯域幅構成を取得します。
ossutil api invoke-operation --op-name get-resource-pool-bucket-group-qos-info --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=offline-group --parameters resourcePoolBucketGroupQoSInfo
優先度の低いバケットを持つバケットグループの合計最大インターネット帯域幅を指定する
たとえば、リソースプールは、realtime-chat
、scheduled-posts
、archived-comments
の各バケットで構成されています。 realtime-chat
バケットは、厳格なリアルタイム要件を持つ優先度の高いオンラインビジネスをサポートしますが、scheduled-posts
バケットと archived-comments
バケットは、優先度の低いタスクを処理します。優先度の高いトラフィックが影響を受けないようにするために、優先度の低い scheduled-posts
バケットと archived-comments
バケットをグループ化し、共有帯域幅制限を適用できます。この方法により、優先度の高い realtime-chat
バケットが常に十分なネットワークリソースを確保し、重要なオンラインサービスのスムーズな運用を維持できます。
ローカルの qos.xml 構成ファイルを使用して、リソースプール内のバケットグループの合計最大帯域幅を指定します。
合計最大アップロード帯域幅を 50 Gbit/s に設定します。内部ネットワークのアップロード帯域幅は無制限ですが、インターネット経由の最大アップロード帯域幅は 20 Gbit/s です。
合計最大ダウンロード帯域幅を 100 Gbit/s に設定します。内部ネットワークのダウンロード帯域幅は無制限ですが、インターネット経由の最大ダウンロード帯域幅は 20 Gbit/s です。
<QoSConfiguration> <TotalUploadBandwidth>50</TotalUploadBandwidth> <IntranetUploadBandwidth>-1</IntranetUploadBandwidth> <ExtranetUploadBandwidth>20</ExtranetUploadBandwidth> <TotalDownloadBandwidth>100</TotalDownloadBandwidth> <IntranetDownloadBandwidth>-1</IntranetDownloadBandwidth> <ExtranetDownloadBandwidth>20</ExtranetDownloadBandwidth> </QoSConfiguration>
scheduled-posts
バケットとarchived-comments
バケットをバケットグループに追加します。scheduled-posts
バケットをバケットグループに追加します。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket scheduled-posts --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group
archived-comments
バケットをバケットグループに追加します。ossutil api invoke-operation --op-name put-bucket-resource-pool-bucket-group --method PUT --bucket archived-comments --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group
(オプション) バケットグループに追加されているバケットのリストを取得します。
ossutil api invoke-operation --op-name list-resource-pool-bucket-groups --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup
バケットグループの帯域幅しきい値を構成します。
ossutil api invoke-operation --op-name put-resource-pool-bucket-group-qos-info --method PUT --parameters resourcePoolBucketGroupQosInfo --parameters resourcePool pool-for-ai --parameters resourcePoolBucketGroup test-group --body=file://qos.xml
(オプション) バケットグループの帯域幅構成を取得します。
ossutil api invoke-operation --op-name get-resource-pool-bucket-group-qos-info --method GET --parameters resourcePool=pool-for-ai --parameters resourcePoolBucketGroup=test-group --parameters resourcePoolBucketGroupQoSInfo
参照
リソースプール、リクエスト元、およびバケットの帯域幅しきい値を構成した後 (前の例で示したように)、CloudMonitor で各ディメンションの帯域幅しきい値と使用量を監視できます。詳細については、「CloudMonitor を使用する」をご参照ください。