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

当ブログは広告リンクを含みます。
  • URLをコピーしました!
目次

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

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

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

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

設定の流れ
  1. 事前確認
  2. 新規のPoolを作成する
  3. 変更するVirtual Serverに紐づくPoolが正しい変更対象であることを確認する
  4. Virtual ServerのPoolを新しいPoolに入れ替える
  5. 事後確認
  6. 設定の保存
  7. 設定の同期(冗長の場合)

以下の前提で進めていきます。

  • 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、コネクションの確認は省いております。

1行目のコマンドでCiscoでいうsh runをとります。2行目のコマンドでバックアップのため、出力を保存しておきます。

新規の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 デバイスグループ名

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

まとめ

最後にまとめになります!

  • VSに紐づくPoolの入れ替えは、Poolを取り外して、新しいPoolに付け替えて対処する
  • 残念ながら、Virtual ServerのPoolを「replace-all-with」のように入れ替えられない

以上!

AWSエンジニアへの転職を目指すなら!

実務ベースのCI/CDパイプライン作成まで学べるAWSスクールでAWSエンジニアを目指そう!

目次