この記事では、Zen Load Balancer API(ZAPI)を使用してL4(レイヤ4)ファーム、2つのバックエンド(Webサーバー)、およびファーム保護者を作成および構成する方法について説明します。
L4xNATプロファイル
L4xNATファームプロファイルを使用すると、TCP、UDP、またはHTTPファームプロファイルのように、レイヤ4のロードバランサコアよりも非常に高いパフォーマンスとはるかに多くの同時接続を備えたL7ファームを作成できます。 そのレイヤー4パフォーマンスの向上は、レイヤー7プロファイルが管理できる高度なコンテンツ処理を妨げます。
さらに、L4xNATファームは、他のレイヤー7プロファイルで使用される4つの仮想ポートだけでなく、さまざまなポートをバインドできます。 LXNUMXxNATファームで仮想ポートの範囲または特定の仮想ポートを選択できるようにするには、プロトコルタイプを選択する必要があります。 それ以外の場合、ファームは仮想IPからすべてのポートをリッスンします。
ZAPIを初期化する
前回の記事で説明したように、Zapiユーザーを有効にして、ZAPIの使用を開始するためのキーとパスワードを設定する必要があります。
次の例では、これらのパラメータが使用されます。
Key: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5 Password: admin Zen Load Balancer IP: 192.168.101.25 Zen Web Port: 444
ZAPIが構成されたら、始めましょう。
ZAPIを使用してL4xNATファームを作成する方法
まず、対応するコマンドでL4xNATプロファイルファームを作成する必要があります。
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"interface":"eth0","vip":"192.168.101.25","profile":"L4xNAT"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP動詞:POST、ファーム、バックエンド、サービスの作成に使用される…
JSONパラメータ:interface、vip、およびprofile(vportはL4xNATプロファイルには必要ありません)。
URIパラメーター:farmname-> L4FARM、これはファーム用に選択された名前です。
このコマンドが起動されると、次の応答が表示されます。
{ "description" : "New farm L4FARM", "params" : [ { "interface" : "eth0", "name" : "L4FARM", "profile" : "L4xNAT", "vip" : "192.168.101.25", "vport" : 0 } ] }
この応答は、主なファームパラメータを示しています。 vport:0とはどういう意味ですか? L4xNATファームが作成されると、デフォルトでは仮想IPからのすべてのポートで待機しています。これは0または*として表示されます。
ZAPIを使用してL4xNATファームを構成する方法
L4xNATファームが作成されると、ファームパラメーターを変更できるようになります。 いくつかのパラメータまたはXNUMXつだけのパラメータを変更することができます。
まず、GETリクエストでファームパラメータを取得しましょう。
curl --tlsv1 -k -X GET -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP動詞:GET、ファーム、バックエンド、サービスのパラメータを取得するために使用される…
JSONパラメータ:なし
URIパラメーター:farmname-> L4FARM。
このコマンドが起動されると、次の応答が表示されます。
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "dnat", "persistence" : "none", "protocol" : "all", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 0 } ] }
この応答は高度なファームパラメータを示しています。 これらのパラメータはZAPIを使用して変更できます。 いくつかのパラメータを変更しましょう。
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"protocol":"tcp","nattype":"nat" ,"port":"80"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM
HTTP動詞:PUT、ファーム、バックエンド、サービスのパラメータを変更するために使用されます…
JSONパラメータ:protocol、nattype、およびport。
URIパラメーター:farmname-> L4FARM。
このコマンドが起動されると、次の応答が表示されます。
{ "description" : "Modify farm L4FARM", "params" : [ { "protocol" : "tcp" }, { "port" : "80" }, { "nattype" : "nat" } ] }
別のGETリクエストを起動すると、レスポンスはすべてのパラメータを新しい変更と共に表示します。
{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
nattype、port、およびprotocolパラメータは正常に変更されました。
バックエンドを作成および修正する方法
ZAPIを使用してL4xNATファームのバックエンドを作成して構成する方法 curlでいくつかのコマンドを使用して、上記の同じステップに従う必要があります。
curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.34.160","port":"80","priority":"1","weight":"1"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends
HTTP動詞:POST、ファーム、バックエンド、サービスの作成に使用される…
JSONパラメータ:ip、port、priority、weight(すべてのパラメータが必須)
URIパラメーター:farmname-> L4FARM、これはファーム用に選択された名前です。
このコマンドが起動されると、次の応答が表示されます。
{ "description" : "New backend 0", "params" : [ { "id" : 0, "ip" : "46.120.34.160", "port" : 80, "priority" : 1, "weight" : 1 } ] }
このレスポンスはバックエンドパラメータとそのIDを表示します。
L4xNATファームのバックエンドをどのように変更できますか? curlでPUT HTTP動詞を使用する:
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.101.65","port":"25","priority":"2","weight":"3"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends/0
HTTP動詞:PUT、ファーム、バックエンド、サービスのパラメータを変更するために使用されます…
JSONパラメータ:ip ポート、優先順位、および重み。
URIパラメータ
ファーム名-> L4FARM。
バックエンドID-> 0。
このコマンドが起動されると、次の応答が表示されます。
{ "description" : "Modify backend 0 in farm L4FARM", "params" : [ { "ip" : "46.120.101.65" }, { "weight" : "3" }, { "priority" : "2" }, { "port" : "25" } ] }
別のGETリクエストを起動すると、responseはすべてのパラメータを新しい変更と共に表示します。
{ "backends" : [ { "id" : 0, "ip" : "46.120.101.65", "port" : 25, "priority" : 2, "weight" : 3 } ], "description" : "List farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }
重み、優先順位、およびポートのパラメータが正常に変更されました。
Farm Guardianを構成する方法
最後に、L4xNATファームのファームガーディアンを構成しましょう。 curlで次のリクエストを使用する必要があります。
curl --tlsv1 -k -X PUT -H 'Content-Type: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"fgenabled":"true","fgscript":"check_tcp -w 10 -c 10 -H HOST -p PORT","fgtimecheck":"15","fglog":"false"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/fg
HTTP動詞:PUT、ファーム、バックエンド、サービスのパラメータを変更するために使用されます…
JSONパラメータ:fgenabled、fgscript、fgtimecheck、およびfglog。
URIパラメーター:farmname-> L4FARM。
このコマンドが起動されると、次の応答が表示されます。
{ "description" : "Modify farm L4FARM", "params" : [ { "fglog" : "false" }, { "fgenabled" : "true" }, { "fgscript" : "check_tcp -w 10 -c 10 -H HOST -p PORT" }, { "fgtimecheck" : "15" } ] }
これらのパラメータは何をしますか? 「fgenabled」パラメーターはファームガーディアンを有効にし、「fgtimecheck」パラメーターはチェック間の時間(秒単位)、「fglog」はファームガーディアンログを有効にし、「fgscript」はチェックするコマンドです。
Zenチームを代表して、私たちはあなたがこの記事を楽しんだことを本当に願っています。 ではまたね。