Lab 1 - GUI で Snippets を設定する
このラボのゴールは、v3.22.0 から追加された機能 “Snippets” の設定と動作の確認です。
Important
想定時間: 10分
Note
このラボの手順はラボを実施する方がWindows jumphost – jumphost-1
から操作する手順を示しています。
接続方法についてはこちらを参照ください。 F5 Labs - Index
Snippets について
Snippets はNGINX Controller ADCのGUI/APIで、通常のNGINX Configと同様に記述した設定を そのまま 対象のNGINX Plusに追加・反映する機能です。
Snippets は5種類の設定項目があり、それぞれの設定に応じて Gateway や Component のメニューで設定を追加します。
Snippet 内容 Endpoint httpSnippet 設定をHTTP Blockに追加します Gateway mainSnippet 設定をMain Blockに追加します Gateway streamSnippet 設定をStream Blockに追加します Gateway uriSnippets 設定を対象GatewayのServer Blockに追加します Gateway uriSnippets 設定を対象ComponentのServer BlockまたはLocation Blockに追加しますComponent workloadGroupSnippets 設定をUpstream Blockに追加します Component
Note
URI Snippets は TCP/UDP のコンポーネントでは動作しない場合があります
その他 Snippets の詳細については About Snippets をご確認ください
GUI を開きます
Chromeを開く
ブックマークよりNGINX Controller のGUIにアクセス
NGINX Controller のadmin accountである、
Peter Parker
でログインしてくださいUsername Password peter@acmefinancial.net Peter123!@#
Services を開いてください
Gatewayを開き、Snippetを追加します
“Gatweay” を選択してください
echoappgw を開いてください
“Edit Config” をクリックし、設定画面に移動します
“Additional” をクリックします。Config Snippets まで画面をスクロールし、Gateway で対応しているSnippetsに設定を追加します
Field Value Main Snippet worker_rlimit_nofile 2048;
HTTP Snippet allow 192.168.1.0/24;
Stream Snippet allow 192.168.2.0/24;
URI Snippet allow 192.168.3.1/32;
Applicable URIs http://echoapp.net
Submit をクリックし、操作を完了させてください
App Componentを開き、Snippetを追加します
“Apps” を選択してください
echoapp を開いてください
echoappcomponent を開いてください
“Edit Config” を選択してください
“Snippets” をクリックしてください。 “URI Snippets” 、 “Workload Group Snippets” の欄があります。各設定を追加するため、 Add URI Snippet 、 Add Workload Group Snippet をクリックしてください
Component で対応しているSnippetsに設定を追加します。以下の内容を参考に設定を追加してください
Field Value URI Snippet allow 192.168.4.1/32;
Applicable URIs /
Workload Group Snippet sticky cookie echo_cookie expires=3h domain=.$host path=/;
Applicable Workload Groups Echo Backend
(自動的に Select Allもチェックされます)Submit をクリックし、操作を完了させてください
CLIより、Snippet で追加した内容を確認します
“nginxplus-3” インスタンスにログインしてください。”PuTTY” を開き、保存済みのホストより nginxplus-3 を選択し、Open をクリックしてください
Important
もし、Puttyがサーバのホスト鍵に関する警告を示した場合、接続のため Yes をクリックしてください これは、ラボ環境の各ホストでユニークなhost keyを生成するため生じるものです
設定を確認します
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | $ egrep 'http {|stream {|server {|listen |server_name |location |Echo Backend|allow |echo_cookie|worker_rlimit_nofile' nginx.conf
http {
allow 192.168.1.0/24;
upstream 'Echo Backend_http_68fc5a3b-b6a2-4b9b-b2cd-fdd119d933e8' {
zone 'Echo Backend_http_68fc5a3b-b6a2-4b9b-b2cd-fdd119d933e8' 160k;
sticky cookie echo_cookie expires=3h domain=.$host path=/;
server {
server_name _;
listen 443 ssl;
listen 80;
server {
server_name trading.acmefinancial.net;
listen 80 reuseport;
location / {
location /api {
server {
server_name trading.acmefinancial.net;
listen 443 ssl reuseport;
location / {
location /api {
server {
server_name echoapp.net;
listen 443 ssl;
location / {
allow 192.168.4.1/32;
proxy_pass 'http://Echo Backend_http_68fc5a3b-b6a2-4b9b-b2cd-fdd119d933e8';
server {
server_name echoapp.net;
listen 80;
allow 192.168.3.1/32;
location / {
allow 192.168.4.1/32;
proxy_pass 'http://Echo Backend_http_68fc5a3b-b6a2-4b9b-b2cd-fdd119d933e8';
server {
server_name 127.0.0.1;
listen 127.0.0.1:49151;
location /api {
worker_rlimit_nofile 2048;
stream {
allow 192.168.2.0/24;
|
順に設定について確認します。
- Gatweay Snippet
- Main Snippet で指定した内容は、38行目に設定されています
- HTTP Snippet で指定した内容は、3行目に設定されています
- Stream Snippet で指定した内容は、40行目に設定されています
- URI Snippet で指定した内容は、28行目、29行目の通り Applicable URIs で指定した server_name と listen port に該当する Server Block で有効になっており、30行目で許可アドレスが設定されています
- Component Snippet
- URI Snippet で指定した内容は、Componentの対象となる、location / 内となる 25行目、32行目に設定されています
- Workload Group Snippet で指定した内容は、Echo Backend 内のセッションパーシステンスとして 6行目に設定されています