BIG-IP

【F5】BIG-IPのCLI設定方法【Virtual Server(VIP)に紐づくPoolを変更する・入れ替える方法】

【F5】BIG-IPのCLI設定方法【Virtual Server(VIP)に紐づくPoolを変更する・入れ替える方法】

bigipのCLIでVirtual Serverに紐づいているPoolの修正方法をまとめていきます。
Virtual Serverに関連づけられているPoolを、新規に作成するPoolに入れ替える方法を記載していきます。

  • 挙動はbigipのバージョンによって差異がありますので、その点は公式のドキュメントを参考にしてください
  • 設定内容は架空であるため、都度ご自身で読み替えてください

Virtual Server(VIP)に紐づくPoolを入れ替える方法

前提
  • VS(Virtual Server)名を「test_virtual_server」とする
  • VS(Virtual Server)に紐づく、Poolの設定のみを変更する
  • VS(Virtual Server)に紐づく、変更前のPoolは「before_pool」とする
  • VS(Virtual Server)に紐づく、変更後のPoolは「after_pool」とする

事前確認コマンド

tmsh list /
tmsh list / one-line

※前提として、細かいVSのステータスやPool member、コネクションの確認は省いております。

tmsh list / でCiscoでいうsh runをとります。
tmsh list / one-line でCLIコマンドのバックアップのため、出力を保存しておきます。

新規のPoolを作成する

tmsh list ltm pool after_pool

tmsh create ltm pool after_pool min-active-members 1 monitor gateway-icmp and tcp members add { 
192.168.0.1:80 192.168.0.2:80 192.168.0.3:80 } slow-ramp-time 0

tmsh list ltm pool after_pool

↑の例では、Poolを作成しております。
Poolのメンバーは192.168.0.1:80 、192.168.0.2:80 、192.168.0.3:80 で、これらの3台で負荷分散します。

変更するVirtual Serverに紐づくPoolが正しい変更対象であることを確認する

tmsh list ltm virtual test_virtual_server
tmsh show ltm virtual detail | egrep 'Ltm::Virtual Server: | Ltm::Pool:'

↑でVirtual Server(test_virtual_server)に紐づくPoolがbefore_poolであることを確認します。

2つの確認コマンドをうっておりますが、単一のvirtual serverを確認するなら一行目だけで十分です。自分の場合は大量のPoolを変更する機会があったので、2行目のコマンドで確認しました。

Virtual ServerのPoolを新しいPoolに入れ替える

tmsh modify ltm virtual test_virtual_server pool none
tmsh modify ltm virtual test_virtual_server pool after_pool

Virtual ServerのPoolを「replace-all-with」で入れ替えることができません。
ので、Virtual ServerのPoolを取り外して、新しいPoolに付け替えるという方法で設定しています。

事後確認コマンド

tmsh list ltm virtual test_virtual_server
tmsh show ltm virtual detail | egrep 'Ltm::Virtual Server: | Ltm::Pool:'

↑でVirtual Server(test_virtual_server)に紐づくPoolがafter_poolであることを確認します。Poolがbefore_poolからafter_poolに変わったことを確認します。

設定の保存

tmsh save sys config

設定の同期

tmsh run cm config-sync to-group デバイスグループ名

冗長構成であれば、同期も忘れずに行う。

まとめ

最後にまとめになります!
  • Virtual Serverに紐づいているPoolの入れ替え方法は、Poolを取り外して、新しいPoolに付け替えるという方法で対処する
  • 残念ながら、Virtual ServerのPoolを「replace-all-with」のように入れ替えることができない

以上!

ABOUT ME
のこのこ
26歳フリーランスのネットワークエンジニア 文系第2新卒からSESに入社、2年目にフリーランスに転職 有益な資格試験の情報を主に提供していきます! ●保持資格 CCNP,LPIC level3,F5101,TOEIC820,AWSクラウドプラクティショナー ●目指す資格 ネットワークスペシャリスト,F5 201,AWSアソシエイトなど