F5 BIG-IP Next LTM v20.2.0 簡単セットアップガイド
最終更新日: 2024年4月23日
はじめに
このページでは、これらのオフィシャルなドキュメントの補足となる資料や、複数の機能を組合せてソリューションを実現する方法をご紹介いたします。 F5のオフィシャルなドキュメントはこちらにございます。
F5 Cloud Docs: https://clouddocs.f5.com/
F5 DevCentral(コミュニティ): https://community.f5.com/
コンテンツ
このページでは、以下の内容をご紹介しております。
本セットアップガイドにて、F5 BIG-IP Next LTM (以下"Next LTM")の設定方法についてご案内します。
Next LTMはサーバ負荷分散をはじめとして、SSLオフロードやコンテンツスイッチング、また圧縮やキャッシュなど多彩な機能を搭載し、アプリケーションサービス䛾可用性を高め、快適なユーザエクスペリエンスを提供するのに役立ちます。
本ガイドでは、Next LTMをご購入いただいてすぐに使い始められるように、サーバ負荷分散を実現するのに必要となる典型的なセットアップ手法を、スクリーンショットを交えて紹介します。
これにより、ネットワークを構成し、クライアント-サーバ間で簡単なWebの負荷分散環境を構築することができますので、セットアップ時の手引きとしてご活用ください。
管理用のマネージメントIPアドレスは、設定済みである前提としております。
本ガイドは、F5 Japanにおけるハンズオントレーニングのコースでも利用しております。
注釈
本ドキュメントの手順は、F5 UDF (Universal Demonstration Framework)というラボ環境での実施を前提に書かれています。 UDF以外での環境で利用される場合は、IPアドレス等は環境に合わせて読み替えてください。
注釈
設定手順において、スクリーンショットを撮った環境や時期により、スクリーンショット内の値とガイド内で指示される値が異なる箇所があるかもしれませんが、ご容赦ください。
LTMとBIG-IP Nextの概要
本章では、基本的なLTMの動作概要および新しいアーキテクチャのBIG-IPソフトウェアであるBIG-IP Nextの概要についてご紹介致します。
LTM動作概要
BIG-IP LTMはWebサーバ群に対して定期的なヘルスモニタリングにて稼動監視を行い、サーバ群へのロードバランシングや異常検知したサーバへの転送を止めたりなど、サーバシステム全体のパフォーマンス向上と可用性を高めることが出来るソリューションです。
LTMは以下のような流れで動作します。

クライアントがWebブラウザに、URL: www.f5.com を入力。
クライアントPCは、www.f5.com のIPアドレスを解決するために、DNSクエリを送信。
DNSサーバから www.f5.com のIPアドレスを得る。
Webブラウザは、そのIPアドレス (仮想サーバ)宛にHTTPリクエストを送信。
BIG-IP LTMは、Web サーバ群の中から1台 (この例ではWeb2)を選び、宛先アドレスを変換してHTTPリクエストを転送。
Webサーバ (Web2)は、そのHTTPリクエストに対するHTTPレスポンスを送信。
HTTPレスポンスを受けとったBIG-IP LTMは、送信元アドレス変換を行い、そのHTTPレスポンスをクライアントPCへ転送。
www.f5.com のWebページが表示される。
このように、インターネットユーザーからの膨大なリクエストを、サーバの状態をモニターしながら適切にサーバ群へリクエストを分散処理させることが可能です。
新しいBIG-IPソフトウェア"BIG-IP Next"とは?
F5は、2023年に、次世代アーキテクチャーを採用したソフトウェア”BIG-IP NEXT”(バージョンである20.0〜)をリリースしました。クラウドシフトやコンテナ、DevOpsなどのアプリケーションの変化に対応し最適な通信環境を提供するため、従来のTMOSをベースとし新しくコンテナ・マイクロサービスで動作するソフトウェアへと進化しました。これにより、コントロールプレーンとデータプレーンの分離、通信状況に応じた柔軟なスケールアウトの実現など、現在およびこれからのアプリケーション基盤に最適なネットワークやセキュリティを提供します。
次のイメージのように、TMOSではControl Plane、Data Planeそれぞれの機能モジュール全てを1つのソフトウェアとして提供していましたが、BIG-IP Nextでは、それらが複数のコンテナ群の集合として分離されています。

また次のイメージのように、アーキテクチャがコンテナに変わりますが、ハイレベルなアーキテクチャとしてはこれまでのBIG-IPのCoreであるTMMを踏襲しながらモジュラー型への進化を遂げています。

今までと同様の機能を実装 (iRules等)
コントロールプレーンとデータプレーンの分離
柔軟性、拡張性の向上
バージョンアップやマルチテナント管理が容易に
マシンリソース使用の最適化
ハンズオンラボ ネットワーク情報
F5 UDFラボ環境で構築するネットワーク情報について記載します。
BIG-IP Next Central Managerインスタンス作成
BIG-IP Next Central Manager(以下、CM)のインスタンス作成、初期セットアップを実施します。
注釈
この第3章は、ラボ構成上 実施済み の手順となりますので、参考情報としてください。
BIG-IP Next CMイメージの準備(参考)
注釈
本手順は、UDFハンズオンLabでは実施不要の参考情報として掲載しています。
BIG-IP Next CMサポート動作環境(v20.1時点)
ハイパーバイザー: VMware vSphere version 7.x or KVM QEMU 6.2 on Ubuntu 22.04
CPU: 8 vCPUs以上
メモリ: 16GB以上
ディスク容量: 350GB以上
ネットワーク・インタフェース: 1
最新情報は以下サイトご参照ください。
CMイメージの入手
MyF5より入手します。
RESOURCES >> Downloads

BIG-IP Next CMへのアクセス(参考)
注釈
この章は、ラボ構成上実施済みの手順となりますので参考情報としてください。
UDF環境からCM Consoleへのアクセス方法
UDF画面上部タブの"DEPLOYMENT"をクリックし、BIG-IP Next Central Managerインスタンスの"ACCESS" > "CONSOLE" を選択します。

BIG-IP Next CM CLIへのログイン
ログインプロンプトが表示されたら、初期パスワードを入力します。
- 初期ユーザー名/パスワード:
admin/admin
- "New Password"の入力:
Welcome123!
を新パスワードとして設定します。(任意のパスワードでOK)
パスワード設定完了すると、以下画面のようにロゴが表示されCLIにログインします。

BIG-IP Next CMの初期セットアップ(参考)
注釈
この章は、ラボ構成上実施済みの手順となりますので参考情報としてください。
初期設定コマンドの実行
"setup" コマンドを実行し、ホスト名、Mgmt IP、NTPサーバ等の設定を行います。

- Hostname:
cm.f5lab.local
- IP Address:
設定済み
- Primary NTP server address:
ntp.nict.jp
- Do you want to set up an external storage mount:
n
上記以外はDefaultのままEnter
Summaryを確認してy(yes)でEnter
上記実行してから4,5分待つと以下プロンプトが返ってくるので "Y" を入力しEnter。

さらに7,8分待つと以下メッセージが表示され完了。

BIG-IP Next CMのGUIアクセス確認(参考)
注釈
この章は、ラボ構成上実施済みの手順となりますので参考情報としてください。
UDF環境からCM GUIへのアクセス方法
UDF画面上部タブの"DEPLOYMENT"をクリックし、BIG-IP Next Central Managerインスタンスの"ACCESS" > "GUI" を選択します。

UDF環境からCM GUIへのアクセス方法
サインイン画面が表示されたら、初期パスワードを入力します。

- 初期ユーザー名/パスワード:
admin/admin
初回はNew Password設定を求められるので設定します。

- "Current Password"の入力:
admin
- "New Password"の入力:
Welcome123!
を新パスワードとして設定します。(任意のパスワードでOK)
パスワード設定完了すると、再度サインイン画面が表示されるので設定した新パスワードでログインします。

CMのHome画面が表示されていれば初期セットアップ完了です。

BIG-IP Nextインスタンス作成
BIG-IP Nextのインスタンス作成、初期セットアップを実施します。
BIG-IP Nextインスタンス イメージの準備
注釈
本手順(4.1)は、UDFハンズオンLabではイメージ準備済みで実施不要のため、参考情報として掲載しています。ラボ演習は次の4.2から実施してください。
BIG-IP Next VEインスタンス サポート動作環境(v20.1時点)
ハイパーバイザー: VMware vSphere version 7.x or KVM QEMU 6.2 on Ubuntu 22.04
CPU/Memory:
2 vCPUs/8GB RAM
4 vCPUs/8GB RAM
6 vCPUs/12GB RAM
8 vCPUs/16GB RAM
16 vCPUs/32GB RAM
24 vCPUs/48GB RAM
ディスク容量: 80GB以上
最新情報は以下サイトご参照ください。
注釈
Hardware PlatformのrSeries/Velos上での動作条件は別途ご確認ください。
イメージの入手
MyF5より入手します。 https://my.f5.com/
RESOURCES >> Downloads

BIG-IP Nextインスタンスへのアクセス
UDF環境からNextインスタンス Consoleへのアクセス方法
UDF画面上部タブの"DEPLOYMENT"をクリックし、BIG-IP Next Instance1の"ACCESS" > "CONSOLE" を選択します。

BIG-IP Nextインスタンス CLIへのログイン
ログインプロンプトが表示されたら、初期パスワードを入力します。
- 初期ユーザー名/パスワード:
admin/admin
ログインすると、以下画面のようにロゴが表示されCLIにログインします。

BIG-IP Next の初期セットアップ
Instance1 初期設定コマンドの実行
BIG-IP Next Instance1 にログイン、 "setup" コマンドを実行し、ホスト名、Mgmt IP、VLAN、Self IP等の設定を行います。

- Hostname:
big01.f5lab.local
- IP Address:
N (設定済み)
- Primary NTP server address:
ntp.nict.jp
- Alternate NTP server address:
DefaultのままEnter
- VLAN1 name:
external
- VLAN1 interface:
1.1 (Enter)
- VLAN1 self IPv4 address:
10.1.10.7/24
- VLAN1 tag:
0 (Enter)
- VLAN2 name:
internal
- VLAN2 interface:
1.2 (Enter)
- VLAN2 self IPv4 address:
10.1.20.7/24
- VLAN2 tag:
0 (Enter)
- Configure Static Route?:
Y
- Data-Plane Route address:
0.0.0.0/0 (Enter)
- Data-Plane Route Gateway:
10.1.10.1
- Data-Plane Interface:
1.1 (Enter)
- Please enter a new password ここでadminのパスワード変更を実施:
Welcome123!
Summaryを確認して、設定内容に誤りがなければy(yes)でEnter
Instance2 初期設定コマンドの実行
4.2.1の手順に従い、BIG-IP Next Instance2の "ACCESS" > "CONSOLE" を選択してログインし、同様に "setup" コマンドを実行して設定を行います。
- Hostname:
big02.f5lab.local
- IP Address:
N (設定済み)
- Primary NTP server address:
ntp.nict.jp
- Alternate NTP server address:
DefaultのままEnter
- VLAN1 name:
external
- VLAN1 interface:
1.1 (Enter)
- VLAN1 self IPv4 address:
10.1.10.8/24
- VLAN1 tag:
0 (Enter)
- VLAN2 name:
internal
- VLAN2 interface:
1.2 (Enter)
- VLAN2 self IPv4 address:
10.1.20.8/24
- VLAN2 tag:
0 (Enter)
- Configure Static Route?:
Y
- Data-Plane Route address:
0.0.0.0/0 (Enter)
- Data-Plane Route Gateway:
10.1.10.1
- Data-Plane Interface:
1.1 (Enter)
- Please enter a new password ここでadminのパスワード変更を実施:
Welcome123!
Summaryを確認して、設定内容に誤りがなければy(yes)でEnter
スタンドアロン構成 初期作業
BIG-IP Nextインスタンス初期セットアップ後の、CMへのインスタンス登録とライセンスアクティベーションの初期作業を行います。
Central ManagerへのNextインスタンス登録
UDF環境からCM GUIへのアクセス
UDF画面上部タブの"DEPLOYMENT"をクリックし、BIG-IP Next Central Managerインスタンスの"ACCESS" > "GUI" を選択します。

BIG-IP Next CM GUIへのログイン
ログインプロンプトが表示されたら、ユーザ名/パスワードを入力してログインします。

- ユーザー名/パスワード:
admin/Welcome123!
ログインすると次のようなホーム画面が確認できます。

BIG-IP Next Instance1 をCMへ登録
ホーム画面の"Manage Instances"をクリックします。

“Start Adding Instances”をクリックします。

NEXTインスタンスのIPアドレスを入力します。

- IP Address/FQDN:
10.1.1.7
"Connect" をクリック
NEXTインスタンスのCredentialを入力します。

- Username:
admin
- Password:
Welcome123!
"Next" をクリック
BIG-IP Next CMからNextインスタンスを管理するためのCredentialを設定し、”Add Instance”クリックします。

- Username:
admin-cm
- Password/Confirm Password:
Welcome123!
"Add Instance" をクリック
確認画面が表れるので”Add”クリックし、fingerprintの確認画面が出たら”Accept”をクリックします。

すると、以下のようにBIG-IP Nextインスタンスが管理インスタンスリストに追加されます。

Nextインスタンス ライセンスアクティベーション
ライセンスオーバービュー

BIG-IP Nextインスタンス用のライセンスは、Central ManagerにLoadし、Central Managerがライセンス管理を行う
Central Managerが、F5のライセンスサーバと通信を行い利用状況等をチェック
BIG-IP Next Central Manager自体には、ライセンスは不要 (無償製品)
参考URL - https://clouddocs.f5.com/bigip-next/latest/use_cm/cm_license_bigip_next.html
ライセンスの入手
注釈
UDFハンズオンラボでは、JWTキーのライセンスは既にCM上にインストールしているものがあり、MyF5からのライセンス入手は実施不要です。あるいは、MyF5サイトから自身のアカウントで発行したライセンスを本手順に従ってインストールしてご利用いただくことも可能です。
MyF5よりTrialライセンス(JWTキー)を入手します。
"TRIALS"をクリックします。

"BIG-IP Next"をクリックします。

“Downloads and licenses”をクリックします。

“Copy JSON Web Token”をクリックしてテキストエディタにペーストしておくか、Downloadして保存しておきます。

ライセンスのインストール
BIG-IP Next CMにログインし、Infrastructure (Manage Instances)の画面で、ライセンスをアクティベーションするインスタンスをクリックします。

左部メニューから “License” を選択し、 “Activate License” をクリックします。

確認画面で "Next" をクリックします。

新規ライセンスをインポートして使用する場合
注釈
CMインストール済みライセンスを使用する場合は本手順をスキップして次の"既存ライセンスを使用してアクティベーションする場合"を実施してください。
JWTライセンスキーをNew Tokenとして登録、アクティベーションします。

"New Token" を選択
- Enter or paste the JSON Web Token(JWT)
保存したJWTキーをペーストする
- Token Name:
demo token (任意の名前で可)
"Activate" をクリック
既存ライセンスを使用してアクティベーションする場合
既存のインストール済みライセンスを使用してライセンスアクティベーションを実施します。

"Existing Token" を選択
ドロップダウンメニューから、 "udf-lab token" を選択
"Activate" をクリック
ライセンス状態の確認
ライセンスのStatusが ”Active” になっていることを確認します。

(参考)ライセンスアクティベート後、各モジュールのプロビジョニングが可能になります。

この例の場合、
WAF: 有効化済み (ポリシーが適用されているため無効化できないのでグレーアウトされている)
Access: 無効化 (有効化可能)
DNS: 無効化 (有効化可能)
となります。
HTTPアプリケーションの設定
BIG-IP Nextでは、Central Manager(CM)からアプリケーションを作成します。
BIG-IP Nextにおけるアプリケーション作成方法は以下のように複数パターンあります。
テンプレートを指定せずに、GUIからアプリケーションを作成(=デフォルトのアプリケーション・テンプレート“http”を利用)
テンプレートを指定せずに、APIからアプリケーションを作成
テンプレート (FAST)を作成して、テンプレートからGUIでアプリケーションを作成
テンプレート (FAST)を作成して、テンプレートからAPIでアプリケーションを作成
既存BIG-IP (TMOS)からアプリケーションを移行
本章では、上記"1.テンプレートを指定せずに、GUIからアプリケーションを作成"の方法でHTTPアプリケーションの設定をしていきます。
HTTPアプリケーションの設定
Standard(default “http” template)を利用したWebアプリケーションの作成
CM画面左上部のworkspaceから、”Applications”を選択します。

”Start Adding Apps”をクリックします。

新規アプリケーション作成を開始するにあたりアプリケーション名とテンプレート選択をおこないます。

- Application Service Name:
HTTP-Service (任意の名前)
- What kind of Application:
Standard を選択
“Start Creating” をクリック
次ページで表示される “Start Creating” をクリックします。

Application Service Propertiesの設定画面で、Virtual Server、Pool、Protocol Profiles等の構成を定義します。

- Virtual Server Name:
HTTP-VS
“Pools” タブをクリック
Poolを作成します。 Pool memberのIPは後工程のアプリケーションDeploy時に設定します。
右の "+ Create" をクリックします。

- Pool Name:
http-pool
- Server Port:
80
- Load-Balancing Mode:
round-robin
- Monitor Type:
http
上記設定後、再度 ”Virtual Server” タブに戻る

再度Virtual Server設定で、作成したPoolを選択します。

- Pool:
http-pool を選択
“Review & Deploy” をクリック
次ページの“Start Adding”をクリックし、設定をデプロイするインスタンスを選択して”+Add to List”をクリックします。

“big01.f5lab.local” のチェックボックスをチェックする
“+Add to List” をクリック
次のDeploy画面で、Virtual ServerのIPとPool memberを設定します。

- Virtual Address:
10.1.10.100
Membersの下矢印を展開し、 “+Pool Members” をクリック
Pool memberを設定します。

“+Add Row” を2回クリックし2member分作成
- Pool Members:
Name: web-server1 , IP Address: 10.1.20.101
Name: web-server2 , IP Address: 10.1.20.102
入力後、 ”Save” をクリック
設定内容に問題ないかを適用前に検証し、本番適用します。

“Validate All” をクリックして設定内容を検証、エラーがなく”Validated”の結果が表示されること
“View Results” で設定反映されるAPI内容を確認可能です
“Deploy Changes” をクリックし、次に表示される画面で ”Yes, Deploy” をクリックします
作成したアプリケーションがリストに表示されます。

作成したアプリケーションをクリックすると、設定オブジェクトと状態確認、設定編集が可能です。

HTTPアプリケーションの通信確認
UDF環境からWindows Clientへのアクセス方法
UDF画面上部タブの"DEPLOYMENT"をクリックし、Windows Clientインスタンスの"ACCESS" > "RDP" を選択します。

注釈
RDPが上手く動作しない場合は、"CONSOLE"をお試しください。
Windows Clientへのログイン
ログイン画面が表示されたら、ID/パスワードを入力します。

- ユーザー名/パスワード:
user/user
デスクトップ上のChromeブラウザを開き、ブックマックバーから http://10.1.10.100/ あるいはブックマークバーの http-abc-company をクリックして作成したアプリケーションのVirtual Serverへアクセスします。 下記のようなWebコンテンツが表示されれば通信確認完了です。

HTTPSアプリケーションの設定
BIG-IP Nextでは、Central Manager(CM)からアプリケーションを作成します。
BIG-IP Nextにおけるアプリケーション作成方法は以下のように複数パターンあります。
テンプレートを指定せずに、GUIからアプリケーションを作成(=デフォルトのアプリケーション・テンプレート“http”を利用)
テンプレートを指定せずに、APIからアプリケーションを作成
テンプレート (FAST)を作成して、テンプレートからGUIでアプリケーションを作成
テンプレート (FAST)を作成して、テンプレートからAPIでアプリケーションを作成
既存BIG-IP (TMOS)からアプリケーションを移行
本章では、上記"3.テンプレート (FAST)を作成して、テンプレートからGUIでアプリケーションを作成"の方法でHTTPSアプリケーションの設定をしていきます。
証明書のインポート
認証局で署名されたサーバ証明書をインポートして利用する方法を記載します。
サーバ証明書の準備
一般的には、BIG-IPのGUIでCSRと秘密鍵を生成し、CSRを認証局 (例:ベリサイン等)に送付します。 そのCSRに対して、認証局が署名を行うことでサーバ証明書が完成します。そのサーバ証明書を返送してもらい、インポートします。 本ガイドでは簡易的に、秘密鍵ファイルとサーバ証明書の両方がすでに存在しているものとし、両方をインポートする手順とします。
注釈
F5 UDFラボでは、リモートデスクトップ接続したPCのデスクトップ上に準備してある証明書を使用します。
Windows10 client デスクトップ > Handson Files > SSL_certs

このフォルダ内の以下2つのファイルを使用します。
秘密鍵ファイル: abcCompany-key.pem
サーバ証明書ファイル: abcCompany-cert.pem
これらのファイルをローカルPCにコピーしてローカルPC上のブラウザからCMを操作するか、コピー不可の場合はUDFのWindows10 client上のChromeからCMを開き(https://10.1.1.5)、次の証明書インポート作業を実施してください。
秘密鍵とサーバ証明書のインポート
”Applications”から”Certificates&Keys”を選択し、”Add Certificates”をクリックします。

インポートする証明書の指定、選択を行います。

import a Certificate を選択
- Name:
Create New を選択
abcCompany
- Tag:
Traffic
- Type:
Certificate & Key
- Source:
Import
- Certificate:
import (abcCompany-cert.pemファイルを選択)
- Key:
import (abcCompany-key.pemファイルを選択)
- Key Security Type:
Normal
"Save" をクリック
正常にインポートされると、ステータス"Active"と表示されるようになります。

HTTPSアプリケーションの設定
HTTPS Serviceテンプレートを利用したWebアプリケーションの作成
CM画面左上部のworkspaceから、”Applications”を選択します。

”+Add Application” をクリックします。

新規アプリケーション作成を開始するにあたりアプリケーション名とテンプレート選択をおこないます。

- Application Service Name:
HTTPS-Service (任意の名前)
- What kind of Application:
From Template を選択
“Select Template” をクリック
次画面のドロップダウンメニューからテンプレートを選択します。

- Application Template:
HTTPS-Load-Balancing-Service を選択
“Start Creating” をクリック
Application Service Propertiesの設定画面で、Virtual Server、Pool、Protocol Profiles等の構成を定義します。 HTTPSテンプレートのデフォルト設定値が反映済みの状態です。 "Protocols & Profiles" のEditをクリックします。

- Virtual Server Name:
https_vs
- Pool:
my_pool
"Protocols & Profiles" のEditをクリック
No Client-Side TLS の ”Add” をクリックします。

Client-Side TLS の証明書設定を行います。

- Name:
abcCompany
- RSA Certificate:
abcCompany
Use Default Server を選択
Save を2回クリックします
Poolの設定を確認します。 Pool memberのIPは後工程のアプリケーションDeploy時に設定します。

“Pools” タブをクリック
- Pool Name:
my_pool
- Server Port:
80
- Load-Balancing Mode:
round-robin
- Monitor Type:
http
”Review & Deploy” をクリック
次ページの “Start Adding” をクリックし、デプロイするインスタンスを選択します。

“big01.f5lab.local” のチェックボックスをチェックする
“+Add to List” をクリック
次のDeploy画面で、Virtual ServerのIPとPool memberを設定します。

- Virtual Address:
10.1.10.100
Membersの下矢印を展開し、 “+Pool Members” をクリック
Pool memberを設定します。

“+Add Row” を2回クリックし2member分作成
- Pool Members:
Name: web-server1 , IP Address: 10.1.20.101
Name: web-server2 , IP Address: 10.1.20.102
入力後、 ”Save” をクリック
設定内容に問題ないかを適用前に検証し、本番適用します。

“Validate All” をクリックして設定内容を検証、エラーがなく”Validated”の結果が表示されること
“View Results” で設定反映されるAPI内容を確認可能です
“Deploy Changes” をクリックし、次に表示される画面で ”Yes, Deploy” をクリックします
作成したアプリケーションがリストに表示されます。

作成したアプリケーションをクリックすると、設定オブジェクトと状態確認、設定編集が可能です。

HTTPSアプリケーションの通信確認
UDF環境からWindows Clientへのアクセス方法
UDF画面上部タブの"DEPLOYMENT"をクリックし、Windows Clientインスタンスの"ACCESS" > "RDP" を選択します。

注釈
RDPが上手く動作しない場合は、"CONSOLE"をお試しください。
Windows Clientへのログイン
ログイン画面が表示されたら、ID/パスワードを入力します。

- ユーザー名/パスワード:
user/user
デスクトップ上のChromeブラウザを開き、ブックマックバーから https-abc-company (https://10.1.10.100/) をクリックして作成したアプリケーションのVirtual Serverへアクセスします。 下記のようなWebコンテンツが表示されれば通信確認完了です。スタートメニューのChromeアイコンを右クリックし、新規シークレットウィンドウ(New Incongnite window)を開いて再アクセスすると、2台のWebサーバからそれぞれ異なるコンテンツが返ってくることが確認できます。

アプリケーションテンプレートのカスタマイズ
アプリケーションテンプレートについて
BIG-IP Nextでは、アプリケーションは全てCentral Managerを介したF5のAPI(AS3)で設定されます。
GUIでの設定は、事前定義されたテンプレートに基づき、JSON/YAML形式のAS3 APIが生成されNEXTインスタンスへDeployされます。
GUI上では未サポートの設定も多数あり、それらはテンプレート内のAPIをカスタマイズして設定する必要があります。
サポート機能については以下Schema Reference参照
テンプレートから、以下例のようなF5のAPIであるAS3定義(JSON/YAML形式のコード)を生成し、インスタンスの設定が行われます。

アプリケーションテンプレート作成と編集方法

この画面で実際のテンプレートの作成、編集を行います。

デフォルトでは”http”テンプレートのみ存在
デフォルトのテンプレートをコピー or 新規に作成
次章より、実際のテンプレートの編集を実施していきます。
テンプレートのクローン作成
テンプレートをカスタマイズする前に、まず既存テンプレートのクローンを作成していきます。
HTTPSテンプレートのクローン作成
"Application Templates" 画面を開き、 ”HTTPS-Load-Balancing-Service” テンプレートのクローンを作成します。

”HTTPS-Load-Balancing-Service” のチェックボックスをチェック
右上の ”Clone” をクリック
クローンテンプレートを作成、保存します。

- Name:
clone_HTTPS-Service
“Save” をクリック
アプリケーションテンプレートの一覧に作成したクローンが確認できます。

HTTPテンプレートのクローン作成
同じ手順で、httpテンプレートのクローンも作成しておきます。

- Name:
clone_http
“Save” をクリック
HTTPS Virtual Serverのカスタマイズ
Virtual Serverの各種デフォルトの設定値を変更します。 作成したクローン clone_HTTPS-Service をクリックします。

Virtual Server Portを443から8443へ変更
Template Bodyの中の、defaultポート番号設定の箇所を ”443” から ”8443” へ変更します。
※ virtualport や 443 等の文字列でブラウザ文字検索すると該当箇所を簡単に見つけることができます。

default Monitor typeをhttpからhttpsへ変更
Template Bodyの中の、Monitor Typeを ”http” から ”https” へ変更します。
※ pools 等の文字列でブラウザ文字検索すると該当箇所を簡単に見つけることができます。

Server-Side-TLSをdefault falseからtrueへ変更
Template Bodyの中の、Server-Side-TLSを default false から true へ変更します。
※ enable_TLS_Server 等の文字列でブラウザ文字検索すると該当箇所を簡単に見つけることができます。

変更後、 “Save” をクリック
変更後のテンプレート確認
Template Body変更・Save後に、変更内容がテンプレートに反映されているか確認します。 "My Application Services"から“+Add Application”をクリックします。

- Application Service Name:
https-re-encrypt
- What kind of Application:
From Template を選択
”Select Template” をクリック
作成、編集した”clone_HTTPS-Service”を選択し、”Start Creating”をクリックします。

Virtual Portがdefault 8443に変わっていることが確認できます。

Monitor Typeがdefault設定でhttpsに変わっていることが確認できます。

Server-Side TLSがdefault Enableとなっていることが確認できます。

Cancelしてダッシュボードに戻ります。
TCP Profileのカスタマイズ
TCP Profileをカスタマイズし、設定項目を追加します。 先に現状のテンプレート内容を確認します。
変更前の状態確認
作成済みのアプリケーション”HTTP-Service”を開き、右上の”Edit”マークをクリックします。

”Protocols & Profiles”のEditマークをクリックします。

”Enable TCP Profile”を有効にすると、TCP Idle Timeout値のみ設定オプションとして見えます。

キャンセルしてトップに戻ります。
テンプレートの中身も見ていきます。"Application Templates"画面で作成した”clone_http”をクリックします。

Template Bodyを確認すると、TCP Profileにdependした”TCP_idle_timeout”のParameterが含まれています。

TCPパラメーターの追加
TCP追加パラメーターとして "TCP Proxy Buffer High" を設定します。

上記該当箇所に、以下テキストをコピーペーストして挿入し、 "Save" してください。
※直上の”TCP_idle_timeout”を参考に、スペース・インデントを合わせるようご注意ください。
TCP_proxy_buffer_high:
title: Proxy Buffer High
description: Proxy Buffer High
type: integer
minimum: 0
default: 65535
dependencies: { enable_TCP_Profile: true }
uiMetaCM:
order: 62
column: 3
columnName: Protocols & Profiles
変更後のテンプレート

変更後のテンプレート確認
Template Body変更・Save後に、変更内容がテンプレートに反映されているか確認します。 "My Application Services"から“+Add Application”をクリックします。

- Application Service Name:
http-tcp-buffer
- What kind of Application:
From Template を選択
”Select Template” をクリック
作成、編集した”clone_http”を選択し、”Start Creating”をクリックします。

”Start Creating”をクリックします。

”Protocols & Profiles”のEditマークをクリックします。

”Enable TCP Profile”を有効にすると、"Proxy Buffer High"の設定項目が増えています。

Cancelしてダッシュボードに戻ります。
iRule作成とバージョニング
iRulesはイベントベースのスクリプト言語で、アプリケーショントラフィック操作をカスタマイズ可能です。
iRulesの文法詳細に関しては、こちらのページをご参照下さい。https://clouddocs.f5.com/api/irules/
本ラボではiRules機能を使って、 「HTTPリクエストの特定のURI path(/test)の場合、任意のコンテンツを返す」 という内容のiRuleを設定します。
そのあとでiRuleから返すコンテンツの内容を変更し、iRuleバージョン管理とロールバック操作を確認します。
iRuleの作成
「HTTPリクエストの特定のURI path(/test)の場合、任意のコンテンツを返す」 内容のiRuleを作成していきます。
iRule作成
CM画面左上部のworkspaceから、”Applications”を選択します。

左メニューから ”iRules” を選択し、右上の ”+ Create” をクリックします。

次のiRuleスクリプトを、iRule設定画面にコピー&ペーストします。
when HTTP_REQUEST {
if { [HTTP::uri] eq "/test"} {
set content "<!doctype html>\n
<head lang=\"en\">\n
<meta charset=\"utf-8\">\n
<title>Test Page</title>\n
</head>\n
<body>\n
<h3>Test Page</h3>\n
<ul>\n
<li> Virtual server address: [IP::local_addr] </li>\n
<li> Client IP:port: [IP::client_addr]:[TCP::client_port]</li>\n
</ul>\n</body>\n</html>"
HTTP::respond 200 content $content
}
}
作成するiRuleのスクリプト内容
HTTP Requestイベント時
URI Path "/test" へのアクセスの場合、“Test Page”のhtmlコンテンツとステータスコード200をレスポンスする

- Name:
irule-test
上記赤枠のフィールドに前ページのiRuleをコピーペーストし、 ”Save” をクリック
アプリケーションへの適用
My Application Servicesから作成済みの”HTTP-Service”をクリックします。

次画面右上の”Edit”をクリックします。

iRuleの"Edit"ボタンをクリックします。

“Use iRules”のトグルをEnableにし、”Add”をクリックします。

作成した”irule-test”のチェックボックスをクリックし”Add”をクリックします。

元画面で "Save" をクリックし、 ”Review & Deploy" をクリックします。
次のDeploy画面で、 "Deploy Changes" をクリックします。


- クライアントからサーバへの通信確認を行います。 Windows clientのブラウザから
http://10.1.10.100/test のURLへアクセスを試行します。

"Test Page" の画面が表示されると、iRuleからコンテンツを返しています。
iRuleの変更とバージョニング
iRuleを部分編集し、履歴管理の機能を確認します。
iRuleの変更
Applications > iRules画面から、作成した”irule-test”をクリックします。

画面上部”v1”のドロップダウンメニューから“Stage from this version”を選択します。

すると、“v1 Staged”が表示され編集モードになります。 HTMLコンテンツ内容を、"Test Page"から "Test Page 2" へと編集します。

編集後、 ”Commit Changes” をクリックします。
次の確認画面にて、 “More Commit options” をクリックしてオプション画面を開きます。

更新後のiRuleが関連アプリケーションで直ちに有効にならないように、 “Commit without any attached applications” を選択し、“Yes, Commit”をクリックします。

すると、更新版の "v2" として作成されます。
更新iRuleの適用
更新された”v2”のiRuleを適用します。 "Properties"をクリックし、画面の上部ドロップダウンから "v2" を選択して "Attach Applications" をクリックします。

現状“v1”が適用されているHTTP-Serviceのチェックボックスをチェックし、 "Attach" をクリックします。

次の確認画面で "Deploy Changes" をクリックし、 "Yes, Continue" をクリックします。

iRule画面で、次のように新旧バージョンの差分比較が可能です。

- クライアントからサーバへの通信確認を行います。 Windows clientのブラウザから
http://10.1.10.100/test のURLへアクセスを試行します。

"Test Page 2" の画面が表示されると、更新後の"v2"iRuleからコンテンツを返しています。
iRuleのロールバック
iRuleを、旧バージョンの以前の設定に戻す方法を確認します。 戻し方の考え方は2通りあり、
“v1”ルールを充て直す
“v1”ルールをコピーして”v3”として充て直す
どちらを採択すべきかは運用状況によりますが、手順的にはいずれも大差はありません。 本章では、後者の “v1”ルールをコピーして”v3”として充て直す 手順で実施することとします。
v1ルールの充て直し(参考)
注釈
このv1ルール充て直しは参考情報とし、ハンズオンラボは後半のv3として充てる手順を実施します。
“irule-test”の”v1”を選択し、“Attach Applications”をクリックします。

現状”v2”が適用されているHTTP-Serviceをチェックして"Apply"、“Deploy Changes”をクリックします。

以上で"v1" iRuleへのロールバックは完了です。
v3ルールとして充て直し
旧iRuleに戻す際、履歴バージョンをv3としてリビジョンアップして適用し直します。
以前の”v1”の状態で”Stage from this version”を選択し、“Commit Changes”をクリックします。

”More Commit Option”から”Commit without any attached applications”を選択し、”Yes, Commit”をクリックします。 すると同一iRuleが"v3"として作成されます。

アプリケーションへv3 iRuleを適用し直します。 My Application Servicesから作成済みの”HTTP-Service”をクリックします。

次画面右上の”Edit”をクリックします。

iRuleの"Edit"ボタンをクリックします。

Versionのドロップダウンメニューから“v3”を選択し、”Save”、”Review & Deploy”をクリックします。 次ページの"Deploy Changes", "Yes, Deploy"まで実行します。

- クライアントからサーバへの通信確認を行います。 Windows clientのブラウザから
http://10.1.10.100/test のURLへアクセスを試行します。

"Test Page" の画面が表示されると、旧バージョンiRuleの"v3"からコンテンツを返しています。
BIG-IP TMOSからの移行 (Migration Serevice)
Central Managerでは、TMOSからの移行支援ツールである Migration Service を標準機能として提供しています。

既存BIG-IP TMOSバージョン (v12.1以降)の設定を、BIG-IP Next互換に修正
BIG-IPのUCSファイルをBIG-IP Next向けのAS3定義に変換
移行における問題点を自動的に識別し、解決
移行後の診断およびメトリクスにより、デバイスのステータスを確認
アプリケーション単位のマイグレーションをサポート
TMOSバックアップファイル(UCS)の準備
注釈
UDFハンズオンラボではUCSファイルは取得済みで準備してありますので、本手順は実施不要です。想定シナリオでの参考情報として掲載しています。
次のNW構成図のように稼働中のClassic BIG-IP(TMOS)が存在し、そこからBIG-IP Next#1へ移行するシナリオを想定しています。

多数のVirtual Serverが設定されています。

System> Archivesから、"big-ip-ucs"というファイル名でUCSバックアップを作成しています。

Archivesリストから作成したUCSファイルをクリックし、DownloadしてローカルPCの任意の場所に保存します。これでUCSファイルの準備は完了です。

Central ManagerへUCSファイルをインポート
前ページ手順で取得済みのUCSファイルは、Windows clientのデスクトップ上のフォルダに格納されています。
デスクトップ > Handson Files > Backup UCS > udf-tmos-bigip.ucs
Windows client上のブラウザからCMへアクセスするか、ファイルを自身のPCへコピーしてから次の手順へ進んでください。
"Applications" 画面を開き、 My Application Servicesの画面から ”+ Add Application” をクリックし、次画面で ”New Migration” を選択します。


General Properties画面で、Migration Session名とDescriptionを設定します。

- Session Name:
my-1st-migration (任意の名前)
"Next" をクリック
CMへアップロードするUCSファイルを選択します。

赤枠部分をクリックし、UCSファイルを選択します。
Master keyをDisable
“Group by IP Addresses” を選択
"Next" をクリック
Add Application をクリックします。

インポートされたApplicationのリストが確認できます。“Group by IP Addresses”を選択したため、同一IPで複数Portのものが同一Applicationにソートされて表示されています。

それぞれのアプリケーションの移行可否のアセスメント結果が確認できます。(参考)


設定マイグレーションの実行
UCSからインポートしたアプリケーションをNextインスタンスへデプロイします。
IPアドレスが”10.1.10.53/32”、”10.1.10.54/32”、“10.1.10.55/32”のアプリケーション(ステータスはいずれもグリーン)のApplicationを選択して"Add" をクリックします。

"Next" をクリックします。

“Shared Objects”(iRule、証明書等の共通項目)の "import" をすべてクリックしてCMに取り込んだ後、 ”Deploy” をクリックします。 Deploy Locationは"Save as Draft"のままとしておきます。ここで任意のNextインスタンスを選択することも可能です。

正常にSuccessfulでDeployされたら ”Finish” をクリックして閉じます。

My Application Servicesを見ると、Draftとして(instanceへの割り当てなし)Applicationが作成されています。

(参考)実運用では、通信切り替え前にアドレス重複を避けるために、既存TMOSのVirtual Serverを先にDisableします。

DeployするApplication として、IPアドレスが ”10.1.10.53/32” のアプリケーション(この例では "application_1")をクリックします。 ※取りこんだ3つのapplicationのいずれか1つを選択いただいて問題ありません。

“Review & Deploy” をクリックします。

アプリケーションをデプロイするNextインスタンスを選択します。 “Start Adding” をクリックし、 big01.f5lab.local を選択して "+ Add to List" をクリックします。

"big01.f5lab.local(10.1.1.7)" を選択
"+ Add to List" をクリック
“Deploy” をクリック
Instance/Locationsが "1"と表示されるようになり、1インスタンスにデプロイされていることを示しています。

デプロイしたApplicationをクリックすると、指定したInstanceで正常に動作していることが確認できます。

NextインスタンスのHA冗長構成
BIG-IP NextインスタンスのHA(High Availability)クラスタを設定していきます。 以下構成図のとおり、BIG-IP Next#2をStandby機として追加します。

Central Managerへインスタンス#2の登録
UDF上で”BIG-IP Next instance 2” はすでに起動済みで、interface/vlan/ipのセットアップは4章の手順で実施済みの前提とします。
"My Instances"の "+ Add" をクリックします。

NEXTインスタンス#2のIPアドレスを入力して"Connect"をクリックします。

- IP Address/FQDN:
10.1.1.8
"Connect" をクリック
NEXTインスタンスのCredentialを入力します。

- Username:
admin
- Password:
Welcome123!
"Next" をクリック
BIG-IP Next CMからNextインスタンスを管理するためのCredentialを設定し、”Add Instance”クリックします。

- Username:
admin-cm
- Password/Confirm Password:
Welcome123!
"Add Instance" をクリック
確認画面が表れるので”Add”クリックし、fingerprintの確認画面が出たら”Accept”をクリックします。

BIG-IP Nextインスタンス#2(10.1.1.8)が追加されたことを確認します。

HAクラスタのセットアップ
HAクラスタを設定していきます。
スタンバイノードの指定
HA Active機とするBIG-IP Nextインスタンス#1(10.1.1.7)のMode “Standalone”をクリックします。

左メニューからHAを選択し、 ”Enable HA” をクリックします。

ドロップダウンからStandbyノードを選択します。

- Available Standalone Instances:
big02.f5lab.local
”Next” をクリック
HA用VLANの設定
HA Control Plane VLAN を設定します。 Control Plane VLAN新規作成のための ”Create VLAN” をクリックします。

VLANの設定情報を入力します。

- Name:
control-plane-vlan
- Tag:
3999
”Done” をクリック
HA Data Plane VLAN を設定します。 Data Plane VLAN新規作成のための ”Create VLAN” をクリックします。

VLANの設定情報を入力します。

- Name:
data-plane-vlan
- Network Interface:
1.3
”Done” をクリック
次画面の ”Next” をクリック
HA Propertiesを設定します。

- HA Name:
bigha.f5lab.local
- HA Management(Floating) IP Address:
10.1.1.9
Active Node:
- Control Plane Address:
10.1.1.77/24
- Data Plane Primary Address:
10.1.30.7/24
Standby Node:
- Control Plane Address:
10.1.1.88/24
- Data Plane Primary Address:
10.1.30.8/24
”Next” をクリック
HA用Floating IPの設定
internal/externalそれぞれのTraffic VLANにfloating ipを追加する設定します。
"internal-vlan" をクリックします。

“+”をクリックして3行に増やし、Active/Standby/FloatingのIPをそれぞれ設定します。

- CIDR Address , HA Details:
10.1.20.7/24 , Active Node IP Address
10.1.20.8/24 , Standby Node IP Address
10.1.20.9/24 , Floating IP Address
”Save” をクリック
”Next” をクリック
つづいて、 "external-vlan" をクリックします。

“+”をクリックして3行に増やし、Active/Standby/FloatingのIPをそれぞれ設定します。

- CIDR Address , HA Details:
10.1.10.7/24 , Active Node IP Address
10.1.10.8/24 , Standby Node IP Address
10.1.10.9/24 , Floating IP Address
”Save” をクリック
”Next” をクリック
設定適用と確認
サマリー画面を確認し、 "Deploy to HA" をクリックし、つづいて表示される "Yes, Deploy" をクリックします。

デプロイ後、My InstancesのリストにHAクラスタとして表示されます。 ModeのHAをクリックすると、HAの設定状態が確認できます。


BIG-IP Nextインスタンスのバックアップ&リストア
BIG-IP NextインスタンスのバックアップとリストアをCM上で実施していきます。
Nextインスタンスのバックアップ
CMのMy Instances画面から、バックアップするインスタンスを選択し、右上の“Actions”メニューから”Back UP & Schedule”をクリックします。

Backup Credentialsで、リストア時に使用するPasswordを設定します。

- Encryption Password/Confirm Password:
backup123
“Schedule Backup →” をクリック
Schedule Propertiesを設定します。CMのGUIには、今すぐOne timeでバックアップを取得するオプションが現時点では存在しないため、デイリー (日次実行)でバックアップを取る時刻と、このスケジュールタスクの終了日時の設定をします。

- Frequency:
Daily
- Start:
(現在から5分後くらいの時刻を指定します)
- End:
End on: (適当に翌日等に設定します)
“Next →” をクリック
サマリー画面を確認して、 “Save Schedule” をクリックします。

Backup & Restore画面の“View Schedules”をクリックすると、スケジュールされた設定が確認可能です。 スケジュール日時を経過すると、バックアップファイルが作成され表示されます。

Nextインスタンスのリストア
Backup & Restore画面から、バックアップするファイルを選択し、右上の ”Restore” をクリックします。

パスワード入力を求められるので、バックアップ作成時に設定したEncryption Passwordを入力し、”Yes, Restore”をクリックします。

- Encryption Password:
backup123
My Instance画面に戻って、インスタンスの状態を確認します。Restore実行中は、完了するまで”Restore in progress”とステータス表示されます。

Central Managerのバックアップ&リストア
CMのバックアップとリストアを実施していきます。CMのバックアップ&リストア手順は、現状CLIのみ対応しています。
Central Managerのバックアップ
CLIセッションで作業が必要となるため、UDFのACCESSから"CONSOLE"を選択し、CMへアクセスします。


CLIコマンドでBackupを実行します。
/opt/cm-bundle/cm backup
Encryption password: backup123
Reenter encryption password: backup123

完了すると以下のようなメッセージが表示され、ファイルが作成されます。
info: Backup bundle created at /opt/cm-backup/backup.20240122-061327.tgz.enc
Central Managerのリストア
バックアップ作成時と同様にCLIセッションで作業が必要となります。 作成されたファイルを、secure location(/opt/cm-backup/)から任意のディレクトリにコピーします。
例)
cp /opt/cm-backup/backup.20240122-061327.tgz.enc /home/admin

リストアする前に、CMの設定を変更を試してみます。 My Applicationsから、"application_1"などを適当に削除しておきます。アプリケーションを選択し、右上のActionsから"Delete"をクリックします。

CMからログアウトしてブラウザを閉じます。(オンラインユーザがいると、リストア作業が途中で止まってしまうため)
CLIセッションでリストアコマンドを実行し、設定を復元します。
/opt/cm-bundle/cm restore /home/admin/backup.<バックアップ取得日時>.tgz.enc
リストア完了のメッセージを確認します。
info: Restore completed successfully.
再度CMにログインして、CMのMy Applicationsのリストに削除したアプリケーションが復元されていることを確認します。 リストアが完了するまで数分かかります。

デバッグ・セッション
デバッグ・ユーティリティの利用方法 (Central Manager GUI)
デバッグ・ユーティリティは、以下の方法で利用可能です。
クライアントでSSH公開鍵を作成
クライアント端末で、SSH公開鍵を取得もしくは作成します (例: ~/.ssh/id_rsa.pub)。各OSにおける詳細な手順につきましては、以下のドキュメントをご参照ください。 https://clouddocs.f5.com/bigip-next/latest/support/debug_utility.html#retrieve-client-ssh-public-key
注釈
F5 UDFラボのWindows 10 ClientにはSSH公開鍵には含まれていないため、上記ドキュメントの手順に従って、ssh-keygenコマンド (PowerShell)でSSH公開鍵を生成してください。
BIG-IP Central Managerでデバッグ・セッションを設定
My instancesから、デバッグ・セッションを行うBIG-IP Nextインスタンスを選択します。

“Debug”を選択し、“Proceed”をクリックします。

クライアント端末で作成したSSH公開鍵をコピーして、"Start Debug Session"をクリックします。

Central Manager GUIに表示されたSSHコマンドを、ターミナルソフトで実行します。

NextインスタンスにSSH接続できることを確認します。

デバッグ・セッション中にNextインスタンス上で利用可能なコマンドの詳細については、以下のドキュメントをご参照ください。
https://clouddocs.f5.com/bigip-next/latest/support/debug_utility.html#f5-custom-tools
デバッグ・セッションの終了
Central Manager GUIで、"Stop Debug Session"をクリックします。

ターミナルのセッションが終了したことを確認します。

QKView サポート情報(参考情報)
QKViewとは、BIG-IPの構成情報やログなどの診断情報を取得するためのプログラムで、トラブル時にF5 Supportで一次解析をするために必要となるファイルです。 取得したファイルをサポート受付時に提供いただいたり、iHealth というサポートサイト上にアップロードすることでデコードされた情報を確認することができます。
QKViewの取得
事前準備:Client IDとSecretの取得(iHealth)
iHealthサイトから、ユーザのClient IDとSecretを入手する必要があります。
iHealth にログインし、右上の”Settings”をクリックします。

”Generate New Credentials”をクリックします。

生成されたClient IDとClient Secretをコピーします。

QKView取得の設定
My instancesから、Qkviewを取得するBIG-IP Nextインスタンスを選択します。

“QKView Files”を選択し、“Start Creating”をクリックします。

iHealthで生成したClient IDおよびSecretを入力し、Submitをクリックします。

QKViewファイル名を入力後、”Generate”をクリックします。

QKView生成のプロセスが”Initiated” → “Generating” → “Uploading”と遷移した後、最終的に”Completed”になることを確認します。

iHealthで確認
iHealthにログインし、Qkviewファイルがアップロードされていることを確認します。
