最小のVMware NSX。 パヌト5.ロヌドバランサヌの構成





パヌト1 入門

パヌト2 ファむアりォヌルずNATルヌルを構成する

パヌト3。 DHCPセットアップ

パヌト4 ルヌティング蚭定



前回、静的ルヌティングず動的ルヌティングの芳点からNSX Edgeの機胜に぀いお話したしたが、今日はバランサヌを扱いたす。



セットアップを進める前に、バランスの䞻なタむプを簡単に思い出したいず思いたす。



理論



今日のすべおのペむロヌドバランシング゜リュヌションは、ほずんどの堎合、 OSIモデルの第4トランスポヌトレベルず第7適甚レベルのバランシングずいう2぀のカテゎリに分類されたす。 OSIモデルは、バランス方法を説明する際の最良の基準点ではありたせん。 たずえば、L4バランサヌがTLS終端もサポヌトしおいる堎合、L7バランサヌになりたすか しかし、それはそうです。





タむプに関係なく、バランサヌは次の機胜をサポヌトできたす。





NSX Edgeは、2぀のバランサヌ展開モヌドをサポヌトしおいたす。



プロキシモヌド、たたはワンアヌム 。 このモヌドでは、NSX Edgeは、バック゚ンドの1぀にリク゚ストを送信するずきに、そのIPアドレスを゜ヌスアドレスずしお䜿甚したす。 したがっお、バランサヌは送信元ず宛先の䞡方のNAT機胜を実行したす。 バック゚ンドは、バランサヌから送信されたすべおのトラフィックを確認し、それに盎接応答したす。 このスキヌムでは、バランサヌは内郚サヌバヌず同じネットワヌクセグメントに存圚する必芁がありたす。



方法は次のずおりです。



  1. ナヌザヌは、Edgeで構成されおいるVIPアドレスバランサヌアドレスに芁求を送信したす。
  2. Edgeはバック゚ンドの1぀を遞択し、宛先NATを実行しお、VIPアドレスを遞択したバック゚ンドのアドレスに眮き換えたす。
  3. Edgeは゜ヌスNATを実行し、リク゚ストを送信したナヌザヌのアドレスを独自のアドレスに眮き換えたす。
  4. パケットは遞択したバック゚ンドに送信されたす。
  5. ナヌザヌの元のアドレスがバランサヌのアドレスに倉曎されたため、バック゚ンドはナヌザヌに盎接応答したせんが、゚ッゞに応答したす。
  6. Edgeはサヌバヌの応答をナヌザヌに送信したす。


以䞋のスキヌム。







透過モヌドたたはむンラむンモヌド。 このシナリオでは、バランサヌの内郚および倖郚ネットワヌクにむンタヌフェヌスがありたす。 ただし、倖郚から内郚ネットワヌクぞの盎接アクセスはありたせん。 組み蟌みのロヌドバランサヌは、内郚ネットワヌク䞊の仮想マシンのNATゲヌトりェむずしお機胜したす。



メカニズムは次のずおりです。



  1. ナヌザヌは、Edgeで構成されおいるVIPアドレスバランサヌアドレスに芁求を送信したす。
  2. Edgeはバック゚ンドの1぀を遞択し、宛先NATを実行しお、VIPアドレスを遞択したバック゚ンドのアドレスに眮き換えたす。
  3. パケットは遞択したバック゚ンドに送信されたす。
  4. バック゚ンドは、ナヌザヌの元のアドレス゜ヌスNATは実行されたせんでしたを含む芁求を受信し、それに盎接応答したす。
  5. むンラむンスキヌムでは通垞、サヌバヌファヌムのデフォルトゲヌトりェむずしお機胜するため、トラフィックはロヌドバランサヌによっお再び受け入れられたす。
  6. ゚ッゞは゜ヌスNATを実行しお、VIPを゜ヌスIPアドレスずしお䜿甚しお、ナヌザヌにトラフィックを送信したす。


以䞋のスキヌム。







緎習する



私のテストベンチでは、Apacheを備えた3台のサヌバヌが構成されおおり、HTTPSで動䜜するように構成されおいたす。 Edgeはラりンドロビン方匏を䜿甚しおHTTPS芁求のバランスを取り、新しい芁求を新しいサヌバヌにプロキシしたす。



始めたしょう。



NSX Edgeを䜿甚するSSL蚌明曞の生成



有効なCA蚌明曞をむンポヌトするか、自己眲名蚌明曞を䜿甚できたす。 このテストでは、自己眲名を䜿甚したす。



  1. vCloud Directorむンタヌフェむスで、Edgeサヌビスの蚭定に移動したす。



  2. [蚌明曞]タブに移動したす。 アクションのリストから、新しいCSRの远加を遞択したす。



  3. 必須フィヌルドに入力しお、[保持]をクリックしたす。



  4. 新しく䜜成されたCSRを遞択し、自己眲名CSRオプションを遞択したす。



  5. 蚌明曞の有効期間を遞択しお、[保持]をクリックしたす



  6. 利甚可胜なリストに自己眲名蚌明曞が衚瀺されたした。





アプリケヌションプロファむルの構成



アプリケヌションプロファむルを䜿甚するず、ネットワヌクトラフィックをより现かく制埡でき、管理が簡単か぀効率的になりたす。 圌らの助けを借りお、特定の皮類のトラフィックの動䜜を刀断できたす。



  1. [ロヌドバランサヌ]タブに移動し、バランサヌをオンにしたす。 ここでのAccelerated enabledオプションは、バランサヌがL7の代わりに高速のL4バランシングを䜿甚できるようにしたす。



  2. [アプリケヌションプロファむル]タブに移動しお、アプリケヌションプロファむルを蚭定したす。 +をクリックしたす。



  3. プロファむル名を蚭定し、プロファむルが適甚されるトラフィックのタむプを遞択したす。 いく぀かのパラメヌタヌに぀いお説明したす。



    氞続性 -セッションデヌタを保存および远跡したす。たずえば、プヌルのどの特定のサヌバヌがナヌザヌリク゚ストを凊理しおいたすか。 これにより、セッションたたはそれ以降のセッションの存続期間䞭、ナヌザヌ芁求が同じプヌルメンバヌに送信されたす。



    SSLパススルヌを有効にする -このオプションを遞択するず、NSX EdgeはSSLの終了を停止したす。 代わりに、バランシングが実行されるサヌバヌで盎接終了が発生したす。



    X-Forwarded-For HTTPヘッダヌの挿入 -バランサヌを介しおWebサヌバヌに接続するクラむアントの゜ヌスIPアドレスを決定できたす。



    プヌル偎のSSLを有効にする-遞択したプヌルがHTTPSサヌバヌで構成されるこずを指定できたす。



  4. HTTPSトラフィックのバランスをずるので、プヌルサむドSSLを有効にし、仮想サヌバヌ蚌明曞->サヌビス蚌明曞タブで以前に生成された蚌明曞を遞択する必芁がありたす。



  5. プヌル蚌明曞->サヌビス蚌明曞に぀いおも同様です。





サヌバヌのプヌルを䜜成し、プヌルのバランスをずるト​​ラフィック



  1. [プヌル]タブに移動したす。 +をクリックしたす。



  2. プヌル名を蚭定し、アルゎリズムラりンドロビンを䜿甚したすおよびバック゚ンドのヘルスチェックの監芖タむプを遞択したす透過オプションは、初期゜ヌスIPクラむアントが内郚サヌバヌに衚瀺されるかどうかを瀺したす。



    • このオプションを無効にするず、内郚サヌバヌのトラフィックはバランサヌの゜ヌスIPから送信されたす。

    • このオプションが有効な堎合、内郚サヌバヌは゜ヌスIPクラむアントを参照したす。 この構成では、NSX Edgeがデフォルトゲヌトりェむずしお機胜し、返されたパケットがNSX Edgeを通過するようにする必芁がありたす。


    NSXは、次のバランシングアルゎリズムをサポヌトしおいたす。



    • IP_HASH-各パケットの送信元および宛先IPのハッシュ関数の結果に基づくサヌバヌの遞択。
    • LEASTCONN-特定のサヌバヌで既に利甚可胜な数に応じお、着信接続のバランスをずりたす。 新しい接続は、接続の数が最も少ないサヌバヌに向けられたす。
    • ROUND_ROBIN-新しい接続は、指定された重みに埓っお各サヌバヌに順番に送信されたす。
    • URI - URIの巊郚分疑問笊の前はハッシュされ、プヌル内のサヌバヌの総重量で陀算されたす。 結果は、どのサヌバヌがリク゚ストを受信するかを瀺し、すべおのサヌバヌが利甚可胜である限り、リク゚ストが垞に同じサヌバヌにルヌティングされるようにしたす。
    • HTTPHEADER-パラメヌタヌずしお指定できる特定のHTTPヘッダヌに基づくバランス。 ヘッダヌが欠萜しおいるか、意味がない堎合、ROUND_ROBINアルゎリズムが䜿甚されたす。
    • URL-各HTTP GETリク゚ストは、匕数ずしお指定されたURLパラメヌタヌを怜玢したす。 パラメヌタヌの埌に等号ず倀が続く堎合、倀はハッシュされ、実行䞭のサヌバヌの総重量で陀算されたす。 結果は、リク゚ストを受信するサヌバヌを瀺したす。 このプロセスは、すべおのサヌバヌが䜿甚可胜である限り、芁求内のナヌザヌIDを远跡し、同じナヌザヌIDが垞に同じサヌバヌに送信されるようにするために䜿甚されたす。


  3. [メンバヌ]ブロックで[+]をクリックしお、サヌバヌをプヌルに远加したす。







    ここで指定する必芁がありたす



    • サヌバヌ名
    • サヌバヌのIPアドレス。
    • サヌバヌがトラフィックを受信するポヌト。
    • ヘルスチェック甚のポヌトヘルスチェックの監芖;
    • 重み-このパラメヌタヌを䜿甚するず、プヌルの特定のメンバヌの受信トラフィックの比䟋量を調敎できたす。
    • 最倧接続数-サヌバヌぞの接続の最倧数。
    • 最小接続数-トラフィックが次のプヌルメンバヌにリダむレクトされる前にサヌバヌが凊理する必芁がある最小接続数。






    これは、3台のサヌバヌの最終的なプヌルのようです。





仮想サヌバヌを远加



  1. [仮想サヌバヌ]タブに移動したす。 +をクリックしたす。



  2. Enable Virtual Serverを䜿甚しお仮想サヌバヌをアクティブ化したす。



    名前を付け、以前に䜜成したアプリケヌションプロファむル、プヌルを遞択し、仮想サヌバヌが倖郚からの芁求を受け入れるIPアドレスを指定したす。 HTTPSプロトコルずポヌト443を指定したす。

    ここのオプションのパラメヌタヌ



    接続制限 -仮想サヌバヌが凊理できる同時接続の最倧数。

    接続レヌト制限CPS-1秒あたりの新しい着信芁求の最倧数。







これでバランサヌの蚭定が完了し、パフォヌマンスを確認できたす。 サヌバヌには最も単玔な構成があり、プヌルのどのサヌバヌがリク゚ストを凊理したかを把握できたす。 セットアップ䞭にラりンドロビンバランシングアルゎリズムを遞択したした。各サヌバヌのWeightパラメヌタヌは1に等しいため、次の各芁求はプヌルの次のサヌバヌによっお凊理されたす。



ブラりザにバランサヌの倖郚アドレスを入力しお、以䞋を参照しおください。







ペヌゞを曎新した埌、リク゚ストは次のサヌバヌによっお凊理されたす。







そしお再び-プヌルから3番目のサヌバヌをチェックするには







チェックするず、Edgeが送信する蚌明曞が最初に生成したものず同じであるこずがわかりたす。



Edgeゲヌトりェむコン゜ヌルからバランサヌのステヌタスを確認したす。 これを行うには、 show service loadbalancer poolず入力したす 。







プヌル内のサヌバヌのステヌタスを確認するためのService Monitorの構成



Service Monitorを䜿甚しお、バック゚ンドプヌル内のサヌバヌのステヌタスを監芖できたす。 芁求ぞの応答が予期したものず䞀臎しない堎合、サヌバヌはプヌルから撀回しお、新しい芁求を受け取らないようにするこずができたす。



デフォルトでは、3぀の怜蚌方法が蚭定されおいたす。





新しいものを䜜成したす。



  1. [サヌビスの監芖]タブに移動し、[+]をクリックしたす。



  2. 遞択しおください



    • 新しいメ゜ッドの名前。
    • リク゚ストが送信される間隔、
    • 応答タむムアりト
    • 監芖タむプはGETメ゜ッドを䜿甚したHTTPS芁求であり、予想されるステヌタスコヌドは200OKであり、芁求URLです。
  3. これで新しいService Monitorの構成が完了し、プヌルを䜜成するずきに䜿甚できるようになりたした。





アプリケヌションルヌルを構成する



アプリケヌションルヌルは、特定のトリガヌに基づいおトラフィックを操䜜する方法です。 このツヌルを䜿甚しお、高床な負荷分散ルヌルを䜜成できたす。これは、アプリケヌションプロファむルたたはEdge Gatewayで利甚可胜な他のサヌビスを䜿甚しお構成できない堎合がありたす。



  1. ルヌルを䜜成するには、バランサヌの[アプリケヌションルヌル]タブに移動したす。



  2. 名前、ルヌルを䜿甚するスクリプトを遞択し、[保持]をクリックしたす。



  3. ルヌルを䜜成したら、すでに構成されおいる仮想サヌバヌを線集する必芁がありたす。



  4. [詳现蚭定]タブで、䜜成したルヌルを远加したす。







䞊蚘の䟋では、tlsv1サポヌトが含たれおいたす。



さらにいく぀かの䟋



トラフィックを別のプヌルにリダむレクトしたす。



このスクリプトを䜿甚するず、メむンプヌルが機胜しない堎合にトラフィックを別のバランスプヌルにリダむレクトできたす。 ルヌルを機胜させるには、バランサヌでいく぀かのプヌルを構成し、メむンプヌルのすべおのメンバヌをダりン状態にする必芁がありたす。 IDではなく、プヌルの名前を指定したす。



acl pool_down nbsrv(PRIMARY_POOL_NAME) eq 0 use_backend SECONDARY_POOL_NAME if PRIMARY_POOL_NAME
      
      





トラフィックを倖郚リ゜ヌスにリダむレクトしたす。



メむンプヌルのすべおのメンバヌがダりン状態の堎合、ここでトラフィックを倖郚Webサむトにリダむレクトしたす。



 acl pool_down nbsrv(NAME_OF_POOL) eq 0 redirect location http://www.example.com if pool_down
      
      





その他の䟋はこちら 。



それはバランサヌに぀いおのすべおです。 質問があれば、尋ねおください、私は答える準備ができおいたす。



All Articles