リクエスト量が Object Storage Service (OSS) の使用量制限を超えると、スロットリングがアプリケーションに影響を与える可能性があります。CloudMonitor を使用して簡単なルールを設定することで、OSS のリクエストメトリクスをリアルタイムで監視し、スロットリングイベントが発生した際にアラート通知を送信できます。
背景情報
OSS は、ユーザーレベルおよびバケットレベルで帯域幅と QPS のスロットリングを行います。帯域幅スロットリングがトリガーされると、OSS へのアクセスレイテンシーが増加します。QPS スロットリングがトリガーされると、OSS は一部のリクエストをドロップします。帯域幅と QPS スロットリングの制限に関する詳細については、「使用量制限とパフォーマンスメトリクス」をご参照ください。
リクエスト量がスロットリングをトリガーした場合、または報告しきい値に達した場合に、SMS メッセージ、メール、または DingTalk の Webhook を介して、指定した連絡先グループにアラート通知を送信するように設定できます。
前提条件
スロットリングのアラート通知を受信するための連絡先グループを作成し、連絡先を追加します。詳細については、「アラート連絡先または連絡先グループの作成」をご参照ください。
操作手順
CloudMonitor コンソールにログインします。
左側のナビゲーションペインで、 を選択します。
[イベント監視] タブで、[アラートルールとして保存] をクリックします。
イベントトリガーアラートルールの作成/変更 パネルで、次のパラメーターを設定し、他のパラメーターはデフォルト値のままにして、[OK] をクリックします。
パラメーター | 説明 |
[アラームルール名称] | rule1 に設定します。 |
プロダクトタイプ | [Object Storage Service] を選択します。 |
イベントタイプ | すべてのタイプ を選択します。 |
[イベントレベル] | 警告 と 情報 を選択します。 |
イベント名 | 全イベント を選択します。CloudMonitor でサポートされている OSS スロットリングイベントの詳細については、「CloudMonitor でサポートされている OSS スロットリングイベント」をご参照ください。 |
[アラーム連絡先グループ] | アラーム通知 を選択し、作成した連絡先グループを選択します。 |
[アラーム送信方式] | [Warning (SMS + Email + Webhook)] を選択します。 |
イベントアラートルールを設定すると、リクエストが OSS のスロットリングをトリガーした場合、または報告しきい値に達した場合に、CloudMonitor は指定された連絡先にアラート通知を自動的に送信します。アラート通知には、アラート対象リソース、イベント名、イベントタイプ、イベント詳細などの情報が含まれます。アラート通知の詳細については、「アラート通知」をご参照ください。
スロットリングアラートは 1 分に 1 回評価されます。1 分間のインターバル内で 30 秒以上スロットリングが発生した場合にアラートがトリガーされます。報告しきい値は 10 分に 1 回評価されます。10 分間のインターバル内でしきい値に 1 秒以上達した場合にアラートがトリガーされます。
アラート通知
スロットリングのアラート通知を受信した場合は、次の表を参照して、各タイプのスロットリングイベントの原因、影響、解決策、およびイベント詳細を確認してください。
ユーザーレベルのアラートを受信した後、アカウントに属するすべてのバケットのトラフィック使用状況を表示するには、まず OSS 監視ダッシュボードを作成する必要があります。詳細については、「システム定義ダッシュボードの作成」をご参照ください。
イベント名
次の表では、報告しきい値 = スロットリングしきい値 × 0.8 です。
イベント名 | 原因 | 影響 | ソリューション |
BucketIngressBandwidthThresholdExceeded |
| アップロードリクエストがスロットリングされ、リクエストのレイテンシーが増加します。 | 同時アップロードリクエスト数を適切なレベルに減らします。 |
BucketEgressBandwidthThresholdExceeded |
| ダウンロードリクエストがスロットリングされ、リクエストのレイテンシーが増加します。 | 同時ダウンロードリクエスト数を適切なレベルに減らします。 |
BucketQpsThresholdExceeded |
| OSS は一部のリクエストを拒否し、HTTP 503 ステータスコードを返します。 | 1 秒あたりのリクエスト数を適切なレベルに減らします。 |
UserIngressBandwidthThresholdExceeded |
| アップロードリクエストがスロットリングされ、リクエストのレイテンシーが増加します。 | 同時アップロードリクエスト数を適切なレベルに減らします。 |
UserEgressBandwidthThresholdExceeded |
| ダウンロードリクエストがスロットリングされ、リクエストのレイテンシーが増加します。 | 同時ダウンロードリクエスト数を適切なレベルに減らします。 |
UserQpsThresholdExceeded |
| OSS は一部のリクエストを拒否します。 | 1 秒あたりのリクエスト数を適切なレベルに減らします。 |
BucketImageCpuThresholdExceeded | バケットの画像処理リクエストに使用される CPU コア数が、バケットの CPU コアのスロットリングしきい値を超えています。 | 画像処理リクエストのレイテンシーが増加します。 | 同時画像処理リクエスト数を適切なレベルに減らします。 |
UserImageCpuThresholdExceeded | ユーザーのすべてのバケットの画像処理リクエストに使用される CPU コアの合計数が、ユーザーの CPU コアのスロットリングしきい値を超えています。 | 画像処理リクエストのレイテンシーが増加します。 | 同時画像処理リクエスト数を適切なレベルに減らします。 |
BucketMirrorIngressBandwidthThresholdExceeded | バケットのミラーリングベースのオリジンフェッチリクエストで使用される帯域幅が、そのようなリクエストの帯域幅スロットリングしきい値を超えています。 | ミラーリングベースのオリジンフェッチリクエストのレイテンシーが増加します。 | ミラーリングベースのオリジンフェッチの同時リクエスト数を適切なレベルに減らします。 |
BucketMirrorQpsThresholdExceeded | バケットのミラーリングベースのオリジンフェッチリクエストの QPS が、そのようなリクエストの QPS スロットリングしきい値を超えています。 | OSS は一部のミラーリングベースのオリジンフェッチリクエストを拒否します。 | ミラーリングベースのオリジンフェッチリクエストの QPS を適切なレベルに減らします。 |
UserMirrorIngressBandwidthThresholdExceeded | ユーザーのすべてのバケットのミラーリングベースのオリジンフェッチリクエストの合計イングレス帯域幅が、ユーザーのそのようなリクエストの帯域幅スロットリングしきい値を超えています。 | ミラーリングベースのオリジンフェッチリクエストのレイテンシーが増加します。 | ミラーリングベースのオリジンフェッチの同時リクエスト数を適切なレベルに減らします。 |
UserMirrorQpsThresholdExceeded | ユーザーのすべてのバケットのミラーリングベースのオリジンフェッチリクエストの合計 QPS が、ユーザーのそのようなリクエストのスロットリングしきい値を超えています。 | OSS は一部のミラーリングベースのオリジンフェッチリクエストを拒否します。 | ミラーリングベースのオリジンフェッチリクエストの QPS を適切なレベルに減らします。 |
BucketIngressBandwidth |
| バケットへのアップロードリクエストのレイテンシーが増加します。 | 同時アップロードリクエスト数を適切なレベルに減らします。 |
BucketEgressBandwidth |
| バケットからのダウンロードリクエストのレイテンシーが増加します。 | 同時ダウンロードリクエスト数を適切なレベルに減らします。 |
UserIngressBandwidth |
| ユーザーのアップロードリクエストのレイテンシーが増加します。 | 同時アップロードリクエスト数を適切なレベルに減らします。 |
UserEgressBandwidth |
| ユーザーのダウンロードリクエストのレイテンシーが増加します。 | 同時ダウンロードリクエスト数を適切なレベルに減らします。 |
通知の詳細
次のコードは、アラート通知のサンプルです:
{
"AvgSeverity": "10",
"QosType": "IngressBandwidth",
"TrafficSource": "net_all",
"TargetRate": "10737418240",
"Requester": "300xxxx",
"BucketGroup": "test-group",
"ResourcePool": "resource-pool-for-ai"
}次の表に、前の通知のパラメーターを示します:
パラメーター | 説明 | 例 |
AvgSeverity | スロットリングの重大度。値が大きいほど、スロットリングが深刻で、レイテンシーが高いことを示します。有効な値:0~100。 | 10 |
QosType | スロットリングをトリガーしたトラフィックのタイプ。有効な値:
| IngressBandwidth |
TrafficSource | スロットリングをトリガーしたトラフィックのソース。有効な値:
| net_all |
TargetRate | 帯域幅または QPS の値。
| 10737418240 |
Requester | 特定のリクエスタの帯域幅使用量によってスロットリングがトリガーされた場合、イベント詳細の | 300xxxx |
BucketGroup | リソースプール内の BucketGroup の帯域幅がスロットリングしきい値に達した場合、イベント詳細に | test-group |
ResourcePool | リソースプールの帯域幅がスロットリングしきい値に達した場合、イベント詳細に | resource-pool-for-ai |
ユーザーレベルのトラフィック使用状況の表示
このセクションでは、UserEgressBandwidthThresholdExceeded イベントを例として、各バケットのトラフィック使用状況を表示する方法を説明します。
CloudMonitor コンソール にログインします。
-
ナビゲーションペインで、 の順に選択します。
[Dashboard] ページで、OSS 監視ダッシュボードの右側にある 表示 をクリックします。
トラフィックモニタリング セクションで、スロットリングのアラートタイプに基づいて、どのバケットが高いトラフィックを消費しているかを確認します。