静的レート リミッタは、仮想サービスの接続/要求の数を合計でレート制限するために使用されます。たとえば、仮想サービスのレート制限が 1000 接続/秒に構成されている場合、構成された期間内の 1001 番目の接続/要求は拒否されます。
仮想サービス接続レート リミッタ
これは、仮想サービスで属性名 connections_rate_limit
によって構成されます。このレート リミッタによって、仮想サービスへの受信接続数がレート制限されます。
レート制限アクションのオプションは次のとおりです。
Syn パケットのドロップ
TCP リセットの送信
レポートのみ
以下は、仮想サービス接続レート リミッタの CLI です。
[admin]: configure virtualservice vs1 [admin]: virtualservice> connections_rate_limit [admin]: virtualservice:connections_rate_limit> rate_limiter [admin: virtualservice:connections_rate_limit:rate_limiter> count 1000 Overwriting the previously entered value for count [admin]: virtualservice:connections_rate_limit:rate_limiter> period 1 Overwriting the previously entered value for count [admin]: virtualservice:connections_rate_limit:rate_limiter> burst_sz 1000 Overwriting the previously entered value for burst_sz [admin]: virtualservice:connections_rate_limit> action type rl_action_reset_conn
[詳細] タブで [パフォーマンスの制限] ボックスをオンにできます。
ウィンドウのネットワーク セキュリティ レート リミッタ
このレート リミッタは、ネットワーク セキュリティ ポリシーで構成されます。これはポリシーベースのレート リミッタで、レート制限アクションのオプションを構成することにより、ルールをレート制限に選択的に適用できます。
このタイプのレート リミッタの場合、デフォルトの期間は 1 秒に構成されます。
たとえば、IP サブネットが 172.100.200.0/24 のユーザーを 1 秒あたり 1,000 個の接続でレート制限するとします。上記の要求を実行する CLI は次のとおりです。
[admin:ctrl]: > configure networksecuritypolicy vs-vs1-Default-Cloud-ns Updating an existing object. Currently, the object is: +----------------------+-----------------------------------------------+ | Field | Value -----------+------------------------------------------------------------+ | uuid | networksecuritypolicy-fbe7ec92-15bf-4ec8-a8bb-7145b03e3dba | | name | vs-vs1-Default-Cloud-ns | | rules[1] | | | name | Rule 1 | | index | 1 | | enable | True | | match | | | client_ip | | | match_criteria | IS_IN | | prefixes[1] | 172.100.200.0/24 | | action | NETWORK_SECURITY_POLICY_ACTION_TYPE_RATE_LIMIT | | log | False | | rl_param | | | max_rate | 1000 | | burst_size | 1000 | | age | 0 min | | tenant_ref | admin | +----------------------+------------------------------------------------+ [admin]: networksecuritypolicy> rules index 1 [admin]: networksecuritypolicy:rules> rl_param [admin]: networksecuritypolicy:rules:rl_param> max_rate 1000 No change in field value [admin]: networksecuritypolicy:rules:rl_param> burst_size 1000 No change in field value [admin]: networksecuritypolicy:rules:rl_param> save [admin]: networksecuritypolicy:rules> save [admin]: networksecuritypolicy> save
この値は、[ポリシー] タブの [IP アドレス] フィールドで更新できます。
ウィンドウのHTTP セキュリティ レート リミッタ
HTTP セキュリティ レート リミッタは、HTTP セキュリティ ポリシー構成に基づいて受信要求の合計数をレート制限します。HTTP セキュリティ ポリシーで、特定のレート制限アクションに対して、クライアント IP アドレス、URI パス、またはその両方のレート制限がサポートされるようになりました。
レート リミッタを構成して、さまざまなパラメータに基づいてポリシーの評価を制御できます。レート制限オブジェクトは、上記の他のレート リミッタと同じです。
件数
期間
バースト
HTTP ポリシーのアクション属性でレート プロファイルを構成できます。レート リミッタは次のように構成されます。
per_client_ip
per_uri_path
対応するアクションは次のいずれかになります。
接続をドロップする
リセット コードを送信する
仮想サービス ログに情報を記録する
HTTP セキュリティ レート リミッタを構成するには、次の手順を実行します。
NSX Advanced Load Balancer CLI にログインし、
configure httppolicyset <policy name>
コマンドを使用して、レート制限のための HTTP セキュリティ ポリシーの構成を開始します。
[admin]: > configure httppolicyset example_rl_policy [admin]: httppolicyset> http_security_policy [admin]: httppolicyset:http_security_policy> rules index 1
次に示すように、HTTP ポリシーのアクション属性でレート プロファイルを構成します。次の例では、レート プロファイルとして
per_uri_path
が選択され、レート リミッタ数として 10 が選択されています。
[admin]: httppolicyset:http_security_policy:rules:action> rate_profile [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> per_uri_path [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> rate_limiter [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:rate_limiter> count 10 Overwriting the previously entered value for count [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:rate_limiter> save
前述の構成済みポリシーに従ってレート制限に達したときに必要なアクションを構成します。次の構成を設定して、アクション タイプを
rl_action_local_rsp
に設定し、応答コードをhttp_local_respose_status_code_403
に設定できます。
[admin]: httppolicyset:http_security_policy:rules:action:rate_profile> action [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> type rl_action_local_rsp Overwriting the previously entered value for type [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> status_code http_local_response_status_code_403 Overwriting the previously entered value for status_code [admin]: httppolicyset:http_security_policy:rules:action:rate_profile:action> save [admin]: httppolicyset:http_security_policy:rules:action:rate_profile> save [admin]: httppolicyset:http_security_policy:rules:action> save [admin]: httppolicyset:http_security_policy:rules> save [admin]: httppolicyset:http_security_policy> save [admin]: httppolicyset> save
最終的な構成出力は次のとおりです。これは、受信要求が、関連付けられた HTTP セキュリティ ポリシーと仮想サービスの 10 秒あたり 10 件の要求という制限を超えた場合に、応答コードとして 403 を送信するアクションを示しています。
+-------------------------+--------------------------------------------+ | Field | Value +--------------------------+--------------------------------------------+ | uuid | httppolicyset-91f02717-7dc6-42ff-9b00-1f411d3723df | | name | example_rl_policy | | http_security_policy | | | rules[1] | | | name | rl_rule_1 | | index | 1 | | enable | True | | match | | | client_ip | | | match_criteria | IS_NOT_IN | | prefixes[1] | 192.168.100.0/24 | | action | | | action | HTTP_SECURITY_ACTION_RATE_LIMIT | | rate_profile | | | rate_limiter | | | count | 10 | | period | 10 sec | | burst_sz | 0 | | action | | | type | RL_ACTION_LOCAL_RSP | | status_code | HTTP_LOCAL_RESPONSE_STATUS_CODE_403 | | per_client_ip | True | | per_uri_path | True | | is_internal_policy | False | | tenant_ref | admin | +------------------------+--------------------------------------------+
DNS ポリシー レート リミッタ
DNS ポリシー レート リミッタは、ポリシー ベースのレート リミッタで、要求の DNS 属性に固有のルールを適用できます。たとえば、DNS をレート制限する場合は、freesale.com に要求して、サーバが要求の急増に圧倒されないようにします。
上記の要求を実行する CLI は次のとおりです。
[admin]: > configure dnspolicy dns1-Policy [admin]: dnspolicy> rule index 1 [admin]: dnspolicy:rule> action [admin]: dnspolicy:rule:action> dns_rate_limiter [admin]: dnspolicy:rule:action:dns_rate_limiter> rate_limiter_object [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> count 1000 Overwriting the previously entered value for count [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> burst_sz 1000 Overwriting the previously entered value for burst_sz [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> period 1 Overwriting the previously entered value for period [admin]: dnspolicy:rule:action:dns_rate_limiter:rate_limiter_object> save
[ポリシー] タブにある [DNS ポリシー] タブの [有効化] ボックスをオンにできます。
ウィンドウの詳細については、「DNS ポリシー」を参照してください。