ZAPI v4を使用してL1xNATファームを作成および構成する方法

投稿者 Zevenet | 16 10月、2015 技術的

この記事では、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チームを代表して、私たちはあなたがこの記事を楽しんだことを本当に願っています。 ではまたね。

ON SHARE:

関連ブログ

zenwebによる投稿| 01年2022月XNUMX日
ロード バランシングは、コンピューティングの世界では一般的です。 ユーザーがすぐにコンテンツを欲しがったために生まれました。 これは、何百万ものユーザー リクエストを受け取る高トラフィックの Web サイトが…
176が好きコメントオフ on 負荷分散のしくみ
投稿者: zenweb | 30 年 2022 月 XNUMX 日
ヘルスケアは、他の業界と同様に、セキュリティの脅威に対して非常に脆弱です。 今日、ヘルスケアにおけるサイバー攻撃は非常に一般的であり、多くのリスク、特にセキュリティリスクが…
182が好きコメントオフ ヘルスケアにおけるサイバーセキュリティ フレームワークの重要性について
投稿者: zenweb | 02 年 2022 月 XNUMX 日
ZEVENET が 7 年に最高の負荷分散ソフトウェアである 2022 つの理由 負荷分散ソリューションは、もはや過去のものではありません。 テクノロジーが向上するにつれて、脅威も…
207が好きコメントオフ ZEVENET が 7 年に最高の負荷分散ソフトウェアである 2022 つの理由について