9.4. QoS ポリシーを使用したネットワークトラフィックの制限
Red Hat OpenStack Platform (RHOSP) Networking サービス (neutron) のサービス品質 (QoS) ポリシーを作成して、RHOSP ネットワーク、ポート、または Floating IP の帯域幅を制限し、指定のレートを超えるトラフィックをドロップできます。
前提条件
-
Networking サービスには
qos
サービスプラグインがロードされている必要があります (プラグインはデフォルトでロードされます)。
手順
Source コマンドで認証情報ファイルを読み込みます。
例
$ source ~/overcloudrc
qos
サービスプラグインが Networking サービスにロードされていることを確認します。$ openstack network qos policy list
qos
サービスプラグインがロードされていない場合は、ResourceNotFound
エラーが発生します。続行するにはqos
サービスプラグインをロードする必要があります。詳細は、「QoS ポリシーの Networking サービスの設定」 を参照してください。QoS ポリシーを作成するプロジェクトの ID を特定します。
$ openstack project list
出力例
+----------------------------------+----------+ | ID | Name | +----------------------------------+----------+ | 4b0b98f8c6c040f38ba4f7146e8680f5 | auditors | | 519e6344f82e4c079c8e2eabb690023b | services | | 80bf5732752a41128e612fe615c886c6 | demo | | 98a2f53c20ce4d50a40dac4a38016c69 | admin | +----------------------------------+----------+
前の手順のプロジェクト ID を使用して、プロジェクトの QoS ポリシーを作成します。
例
この例では、
admin
プロジェクト用にbw-limiter
という名前の QoS ポリシーが作成されます。$ openstack network qos policy create --share --project 98a2f53c20ce4d50a40dac4a38016c69 bw-limiter
ポリシーのルールを設定します。
注記各ルールのタイプまたは方向が異なる限り、複数のルールをポリシーに追加できます。たとえば、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
ポリシーがアタッチされたポートを作成するか、既存のポートにポリシーをアタッチできます。
例 - ポリシーがアタッチされたポートの作成
この例では、ポリシー
bw-limiter
がポートport2
に関連付けられています。$ openstack port create --qos-policy bw-limiter --network private port2
出力例
+-----------------------+--------------------------------------------------+ | Field | Value | +-----------------------+--------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | | | binding_host_id | | | binding_profile | | | binding_vif_details | | | binding_vif_type | unbound | | binding_vnic_type | normal | | created_at | 2022-07-04T19:20:24Z | | data_plane_status | None | | description | | | device_id | | | device_owner | | | dns_assignment | None | | dns_name | None | | extra_dhcp_opts | | | fixed_ips | ip_address='192.0.2.210', subnet_id='292f8c-...' | | id | f51562ee-da8d-42de-9578-f6f5cb248226 | | ip_address | None | | mac_address | fa:16:3e:d9:f2:ba | | name | port2 | | network_id | 55dc2f70-0f92-4002-b343-ca34277b0234 | | option_name | None | | option_value | None | | port_security_enabled | False | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | | qos_policy_id | 8491547e-add1-4c6c-a50e-42121237256c | | revision_number | 6 | | security_group_ids | 0531cc1a-19d1-4cc7-ada5-49f8b08245be | | status | DOWN | | subnet_id | None | | tags | [] | | trunk_details | None | | updated_at | 2022-07-04T19:23:00Z | +-----------------------+--------------------------------------------------+
例 - ポリシーの既存のポートへのアタッチ
この例では、ポリシー
bw-limiter
がport1
に関連付けられています。$ openstack port set --qos-policy bw-limiter port1
検証
ポートに帯域制限ポリシーが適用されていることを確認します。
ポリシー ID を取得します。
例
この例では、QoS ポリシー
bw-limiter
が照会されます。$ openstack network qos policy show bw-limiter
出力例
+-------------------+-------------------------------------------------------------------+ | Field | Value | +-------------------+-------------------------------------------------------------------+ | description | | | id | 8491547e-add1-4c6c-a50e-42121237256c | | is_default | False | | name | bw-limiter | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | | revision_number | 4 | | rules | [{u'max_kbps': 50000, u'direction': u'egress', | | | u'type': u'bandwidth_limit', | | | u'id': u'0db48906-a762-4d32-8694-3f65214c34a6', | | | u'max_burst_kbps': 50000, | | | u'qos_policy_id': u'8491547e-add1-4c6c-a50e-42121237256c'}, | | | [{u'max_kbps': 50000, u'direction': u'ingress', | | | u'type': u'bandwidth_limit', | | | u'id': u'faabef24-e23a-4fdf-8e92-f8cb66998834', | | | u'max_burst_kbps': 50000, | | | u'qos_policy_id': u'8491547e-add1-4c6c-a50e-42121237256c'}] | | shared | False | +-------------------+-------------------------------------------------------------------+
ポートを照会し、そのポリシー ID が前の手順で取得したものと一致することを確認します。
例
この例では、
port1
が照会されます。$ openstack port show port1
出力例
+-------------------------+--------------------------------------------------------------------+ | Field | Value | +-------------------------+--------------------------------------------------------------------+ | admin_state_up | UP | | allowed_address_pairs | ip_address='192.0.2.128', mac_address='fa:16:3e:e1:eb:73' | | binding_host_id | compute-2.redhat.local | | binding_profile | | | binding_vif_details | port_filter='True' | | binding_vif_type | ovs | | binding_vnic_type | normal | | created_at | 2022-07-04T19:07:56 | | data_plane_status | None | | description | | | device_id | 53abd2c4-955d-4b44-b6ad-f106e3f15df0 | | device_owner | compute:nova | | dns_assignment | fqdn='host-192-0-2-213.openstacklocal.', hostname='my-host3', | | | ip_address='192.0.2.213' | | dns_domain | None | | dns_name | | | extra_dhcp_opts | | | fixed_ips | ip_address='192.0.2..213', subnet_id='641d1db2-3b40-437b-b87b-63 | | | 079a7063ca' | | | ip_address='2001:db8:0:f868:f816:3eff:fee1:eb73', subnet_id='c7ed0 | | | 70a-d2ee-4380-baab-6978932a7dcc' | | id | 56x9aiw1-2v74-144x-c2q8-ed8w423a6s12 | | location | cloud='', project.domain_id=, project.domain_name=, project.id='7c | | | b99d752fdb4944a2208ec9ee019226', project.name=, region_name='regio | | | nOne', zone= | | mac_address | fa:16:3e:e1:eb:73 | | name | port2 | | network_id | 55dc2f70-0f92-4002-b343-ca34277b0234 | | port_security_enabled | True | | project_id | 98a2f53c20ce4d50a40dac4a38016c69 | | propagate_uplink_status | None | | qos_policy_id | 8491547e-add1-4c6c-a50e-42121237256c | | resource_request | None | | revision_number | 6 | | security_group_ids | 4cdeb836-b5fd-441e-bd01-498d758704fd | | status | ACTIVE | | tags | | | trunk_details | None | | updated_at | 2022-07-04T19:11:41Z | +-------------------------+--------------------------------------------------------------------+
関連情報
- コマンドラインインターフェイスリファレンス の network qos rule create
- コマンドラインインターフェイスリファレンス の network qos rule set
- コマンドラインインターフェイスリファレンス の network qos rule delete
- コマンドラインインターフェイスリファレンス の network qos rule list