9.4. QoS ポリシーを使用したネットワークトラフィックの制限
Red Hat OpenStack Platform (RHOSP) ネットワークサービス (neutron) のサービス品質 (QoS) ポリシーを作成して、RHOSP ネットワーク、ポート、または Floating IP の帯域幅を制限し、指定のレートを超えるトラフィックをドロップできます。
前提条件
-
Networking サービスには
qosサービスプラグインがロードされている必要があります (プラグインはデフォルトでロードされます)。
手順
Source コマンドで認証情報ファイルを読み込みます。
例
source ~/overcloudrc
$ source ~/overcloudrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow qosサービスプラグインが Networking サービスにロードされていることを確認します。openstack network qos policy list
$ openstack network qos policy listCopy to Clipboard Copied! Toggle word wrap Toggle overflow qosサービスプラグインがロードされていない場合は、ResourceNotFoundエラーが発生します。続行するにはqosサービスプラグインをロードする必要があります。詳細は、「QoS ポリシーのネットワークサービスの設定」 を参照してください。QoS ポリシーを作成するプロジェクトの ID を特定します。
openstack project list
$ openstack project listCopy 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-limiterCopy to Clipboard Copied! Toggle word wrap Toggle overflow ポリシーのルールを設定します。
注記各ルールのタイプまたは方向が異なる限り、複数のルールをポリシーに追加できます。たとえば、1 つを送信方向、もう 1 つを受信方向に設定して 2 つの bandwidth-limit ルールを指定できます。
例
この例では、
50000kbps の帯域幅制限と50000kbps の最大バーストサイズで、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-limiterCopy 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 port2Copy 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 port1Copy 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-limiterCopy 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 port1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow