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 | 13 4月2022
クラウドの移行中は、ハードウェアのセキュリティが不可欠です。 クライアントがクラウドへの移行について話すときはいつでも、クライアントに思い出させることが非常に重要です。 クラウドにいることは考慮されていません…
30が好きコメントオフ クラウドへの移行について? ハードウェアセキュリティを忘れないでください
投稿者zenweb | 06 4月2022
Webアプリケーションの負荷分散とコンテンツ切り替えの概念に違いはありますか? ロードバランサーは、複数のサーバーにリクエストを分散して、XNUMX台のサーバーよりも多くのトラフィックを処理します…
32が好きコメントオフ 負荷分散とコンテンツ切り替えの違いは何ですか
投稿者zenweb | 16 3月2022
本人確認は個人の機密データの使用を取得するため、消費者は自分の情報が安全に処理されることを確認する必要があります。 このブログをさらに深く掘り下げましょう。 技術の進歩は…
41が好きコメントオフ デジタルKYC検証でオンラインの採用と信念を高める方法に関する研究