9.4. QoS ポリシーを使用したネットワークトラフィックの制限
Red Hat OpenStack Platform (RHOSP) ネットワークサービス (neutron) のサービス品質 (QoS) ポリシーを作成して、RHOSP ネットワーク、ポート、または Floating IP の帯域幅を制限し、指定のレートを超えるトラフィックをドロップできます。
前提条件
-
Networking サービスには
qos
サービスプラグインがロードされている必要があります (プラグインはデフォルトでロードされます)。
手順
Source コマンドで認証情報ファイルを読み込みます。
例
source ~/overcloudrc
$ source ~/overcloudrc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qos
サービスプラグインが Networking サービスにロードされていることを確認します。openstack network qos policy list
$ openstack network qos policy list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow qos
サービスプラグインがロードされていない場合は、ResourceNotFound
エラーが発生します。続行するにはqos
サービスプラグインをロードする必要があります。詳細は、「QoS ポリシーのネットワークサービスの設定」 を参照してください。QoS ポリシーを作成するプロジェクトの ID を特定します。
openstack project list
$ openstack project list
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 前の手順のプロジェクト ID を使用して、プロジェクトの QoS ポリシーを作成します。
例
この例では、
admin
プロジェクト用にbw-limiter
という名前の QoS ポリシーが作成されます。openstack network qos policy create --share --project 98a2f53c20ce4d50a40dac4a38016c69 bw-limiter
$ openstack network qos policy create --share --project 98a2f53c20ce4d50a40dac4a38016c69 bw-limiter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーのルールを設定します。
注記各ルールのタイプまたは方向が異なる限り、複数のルールをポリシーに追加できます。たとえば、1 つを送信方向、もう 1 つを受信方向に設定して 2 つの bandwidth-limit ルールを指定できます。
例
この例では、
50000
kbps の帯域幅制限と50000
kbps の最大バーストサイズで、bw-limiter
という名前のポリシーに対して QoS Ingress ルールと egress ルールが作成されます。openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --ingress bw-limiter openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --egress bw-limiter
$ openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --ingress bw-limiter $ openstack network qos rule create --type bandwidth-limit \ --max-kbps 50000 --max-burst-kbits 50000 --egress bw-limiter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーがアタッチされたポートを作成するか、既存のポートにポリシーをアタッチできます。
例 - ポリシーがアタッチされたポートの作成
この例では、ポリシー
bw-limiter
がポートport2
に関連付けられています。openstack port create --qos-policy bw-limiter --network private port2
$ openstack port create --qos-policy bw-limiter --network private port2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例 - ポリシーの既存のポートへのアタッチ
この例では、ポリシー
bw-limiter
がport1
に関連付けられています。openstack port set --qos-policy bw-limiter port1
$ openstack port set --qos-policy bw-limiter port1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ポートに帯域制限ポリシーが適用されていることを確認します。
ポリシー ID を取得します。
例
この例では、QoS ポリシー
bw-limiter
が照会されます。openstack network qos policy show bw-limiter
$ openstack network qos policy show bw-limiter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ポートを照会し、そのポリシー ID が前の手順で取得したものと一致することを確認します。
例
この例では、
port1
が照会されます。openstack port show port1
$ openstack port show port1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow